IRKitスマートホームスキルの改良(2)
DynamoDBを使用できるようにロールを設定します
1. Lambdaの実行ロールに、DynamoDBのアクセス権を追加する
Lambdaから DynamoDBを使用するためには、実行ロールにDynamoDBのアクセス権を追加する必要があります。今まで、Alexaスキル開発トレーニング<https://developer.amazon.com/ja/alexa-skills-kit/training/building-a-skill>「第1回 初めてのスキル開発」で作成したロール"lambda_basic_execution"を使い続けてきました。これにDynamoDBのアクセス権を追加しても良いのですが、いっそ専用のロールを作成してみましょう。
1) 新しいカスタムロールの作成
AWSコンソールにサインインして、スマートホームスキルのLambda関数を表示します。リージョンを「米国西部(オレゴン)」にすることを忘れないように。下の方に実行ロールがありますので、
プルダウンメニューで「カスタムロールの作成」を選択します。
IAMロールで「新しいIAMロールの作成」を選択し、ロール名を入力します(ここでは "IRKit_SmartHome_Skill" としています)。入力したら右下の「許可」ボタンをクリック。
2) 作成したロールにDynamoDBのアクセス権を追加
IAMサービスに移動します。
左上の「サービス」をクリックして、検索の入力欄に "IAM"と入力すると「IAM ユーザーアクセスと暗号化キーの管理」が出て来ますので、これをクリックすると IAMサービスに移動できます。
IAMサービスの左ペインにある「ロール」をクリックすると、先ほど作成した "IRKit_SmartHome_Skill" が表示されますので、これをクリックします。
"IRKit_SmartHome_Skill"ロールの概要が表示されますので、「ポリシーのアタッチ」ボタンをクリック。
ポリシーの一覧がズラッと出て来ますので、その中から "AmazonDynamoDBFullAccess" にチェックをして「ポリシーのアタッチ」ボタンをクリックします。これで"IRKit_SmartHome_Skill"ロールにDynamoDBのアクセス権が追加されました。
3) Lambdaサービスに戻って確認
Lambdaサービスに戻り、先ほど"IRKit_SmartHome_Skill"ロールにしたスマートホームスキルのLambda関数を表示させます。すると、
このようにアクセス可能なリソースが沢山追加されているのが分かります。その中に "Amazon DynamoDB" も含まれていますね。これで Lambda関数から DynamoDBを使う準備が整いました。
[続く]
|