ヤマムギ

growing hard days.

*

CUSTOMINEを使ってkintoneからAWS Lambdaを実行する(Cognito認証付き)

   


先日の記事「kintoneのカスタマイズ開発を超速にするCUSTOMINE」で書きましたように、CUSTOMINEでkintoneで開発すると早く楽ちんです。

そんなCUSTOMINEでは、AWS Lambdaの実行をAmazon Cognitoの認証付きで実装できます。
しかもGUIでノーコードで(これ重要)。

早速テストしてみます。

Amazon Cognitoの準備

IDプールを作成します。
IDプール名を任意で入力して、
「認証されていないIDに対してアクセスを有効にする」にチェックをしました。

IDプールのIDをメモっておきます。

AWS Lambdaの準備

どの言語でもいいんですが、とりあえず実行できるということを確認したかっただけですので、ランタイムはPython3.6で作成しました。
IAMロールはCloudWatchにログが書ければいいです。
ほかはデフォルトです。
コードは超シンプルにこちらです。

Cognitoの認証されていないロールの設定

Amazon CognitoでIPプールを作成したときに自動生成された、認証されていないロールにLambdaを実行できるポリシーを追加します。
インラインポリシーで下記を追加しました。

CUSTOMINEの設定

「やること」で「AWS Cognitoで認証を取得する」を選択しました。
IDプールを作成したリージョンを入力して、メモっておいたIDプールのIDを入力します。
条件として「レコードを保存する直前」に実行されるようにしました。

そして次にLambdaの設定をしました。

「やること」で「AWS Lambdaファンクションを実行する」を選択しました。
認証では、他の「やること」を選択できますので、ここで先程のCognito認証したやることを選択します。
リージョン、Lambdaファンクション名を入力します。

Lambdaの渡すパラメーターはJSON形式で記述します。

${文字列__1行}とすることでフィールドコード’文字列__1行‘の値をパラーメーターとして渡すことが出来ました。

条件は「他のアクションが実行した時」でCognitoのやることを選択しました。

実行してみる

対象のkintoneアプリでレコードを保存してみます。

CloudWatchでLambdaのログを確認すると、ちゃんとkintoneのレコードの値が渡っていました。

めでたし♫めでたし♫


最後までお読みいただきましてありがとうございました!

【PR】 「AWS認定試験対策 AWS クラウドプラクティショナー」という本を書きました。

【PR】 「AWSではじめるLinux入門ガイド」という本を書きました。

【PR】 「ポケットスタディ AWS認定 デベロッパーアソシエイト」という本を書きました。

 - AWS, kintone , , , , ,

ad

ad

  関連記事

AWS CloudFormationでAmazon DynamoDBテーブルを作ってアイテムを追加する

デモ用にDynamoDBテーブルを作って消して、ということをたまにするので、Cl …

DS18B20センサー+Raspberry Piで取得した温度をAmazon Kinesis FirehoseからS3へ格納してAthenaでクエリーしたのをQuickSightで可視化する

JAWS DAYS 2017でやりますハンズオンの「[IoTハンズオン] Ras …

S3バケットのデフォルト暗号化はデフォルトだったことを確認しました

S3バケットのデフォルト暗号化は名前のとおりだとデフォルトなので、暗号化を指定し …

Projectタグを強制するSCPでアクションやリソースを限定しないとき成り立つのか

ふと疑問に思ったので試しました。 予想は、拒否されてしまう、です。 [crayo …

kintoneの全フィールド(テーブル含む)の編集を不可にする

小ネタですが kinotneでとにかくフォーム上から全フィールドの編集を無効にし …

Active Directory認証でAWSマネジメントコンソールにSSO

こちらの2つのサイトを参考にすすめました。 Active Directory資産 …

2017年、このブログ(WordPress(Amazon EC2 + RDS))で対応してきたこと

Amazon Web Services Advent Calendar 2017 …

Cloud9でAWS CDK環境

最初ローカルに作ろうと思ったのですが、環境依存がというか、Macbookの環境で …

API Gateway 作成済REST APIの定義をSwaggerの形式でエクスポート

SAMで似たようなAPIを作りたくて、エクスポートしました。 Swaggerは、 …

執筆環境(PyCharm, CodeCommit, CodePipeline, S3, Lambda, 署名付きURL)

2018年から、年に1回ぐらい商業本の執筆をさせていただいております。 2020 …