LoginSignup
3
3

More than 5 years have passed since last update.

AWS IoT -> DynamoDBを設定する際に気をつけること

Last updated at Posted at 2016-03-07

AWS IoTでRulesを指定してDynamoDBに値を流し込みたい。この要件を満たすためにRulesを何度か作ってみて試験的につながるかどうかを試すことはあるかと思います。その際の注意点。

生成したIAMロールは、そのDynamoDBテーブルにしかアクセス権限がないことを認識すべし

タイトルの通りです。
IAMロールを事前に作成してAWS IoTのRulesを作る人はあまりいないのでは?(Rulesに精通していれば話は別ですが。)Rulesを記述している途中で気づいて作っちゃうもの。自分がそうでした。

これです。

スクリーンショット 2016-03-08 1.35.15.png

ここで作成するIAMユーザは、あくまでこのアクセス対象のDynamoDBにしかアクセス権限を持っていません。(当たり前っちゃ当たり前なんですが)

これに気付かずに別のタイミングで作成したDynamoDBアクセスのルールを流用し、設定後データを流し込もうとすると、エラーも出さずに「ただデータが入らない」という事態に陥ります。

IAMロールのポリシーの編集方法

そんなときは、IAM → ロール → ポリシーの編集 で以下のようにResourceを複数定義しましょう。

{
    "Version": "2012-10-17",
    "Statement": {
        "Effect": "Allow",
        "Action": "dynamodb:PutItem",
        "Resource": [
            "arn:aws:dynamodb:ap-northeast-1:XXXXXXXXXXXX:table/sensor_result",
            "arn:aws:dynamodb:ap-northeast-1:XXXXXXXXXXXX:table/sensorResult03"
        ]
    }
}

これで複数のDynamoDBテーブルにアクセスできるようになります。

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3