によるクロスアカウントアクセス IAM - AWS IoT Core

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

によるクロスアカウントアクセス IAM

AWS IoT Core では、プリンシパルが で定義されているトピックを公開またはサブスクライブできるようにします。 AWS アカウント プリンシパルが所有していない。クロスアカウントアクセスを設定するには、 IAMポリシーとIAMロールを作成し、そのポリシーをロールにアタッチします。

まず、IAM「ポリシーの作成」で説明されているように、 の他のユーザーや証明書の場合と同様に、カスタマー管理IAMポリシーを作成します。 AWS アカウント.

に登録されているデバイスの場合 AWS IoT Core レジストリ。次のポリシーは、 に接続するデバイスにアクセス許可を付与します。 AWS IoT Core デバイスのモノの名前と一致するクライアント ID を使用して に発行my/topic/thing-name する thing-name はデバイスのモノの名前です。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:Connect" ], "Resource": ["arn:aws:iot:us-east-1:123456789012:client/${iot:Connection.Thing.ThingName}"] }, { "Effect": "Allow", "Action": [ "iot:Publish" ], "Resource": ["arn:aws:iot:us-east-1:123456789012:topic/my/topic/${iot:Connection.Thing.ThingName}"], } ] }

に登録されていないデバイスの場合 AWS IoT Core レジストリ、次のポリシーは、アカウントの (123456789012) client1に登録されているモノの名前を使用するアクセス許可をデバイスに付与します。 AWS IoT Core 接続先の レジストリ AWS IoT Core および は、名前にプレフィックス が付いているクライアント ID 固有のトピックに発行しますmy/topic/

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:Connect" ], "Resource": [ "arn:aws:iot:us-east-1:123456789012:client/client1" ] }, { "Effect": "Allow", "Action": [ "iot:Publish" ], "Resource": [ "arn:aws:iot:us-east-1:123456789012:topic/my/topic/${iot:ClientId}" ] } ] }

次に、「ロールを作成してIAMユーザー にアクセス許可を委任する」のステップに従います。のアカウント ID を入力します。 AWS アカウント アクセスを共有する 。最後に、作成したポリシーをロールにアタッチします。後で を変更する必要がある場合 AWS アクセスを許可する アカウント ID には、次の信頼ポリシー形式を使用できます。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam:us-east-1:567890123456:user/MyUser" }, "Action": "sts:AssumeRole" } ] }