接続ポリシーの例 - AWS IoT コア

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

接続ポリシーの例

次のポリシーにより、クライアント ID client1 で AWS IoT Core に接続するアクセス許可が付与されます。

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

次のポリシーでは、クライアントへのアクセスIDsclient1client2 への接続のアクセス許可が拒否されますが、AWS IoT Coreレジストリに登録されたモノの名前に一致するクライアント ID を使用した接続がデバイスに許可されます。AWS IoT Core

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

MQTT 永続セッションポリシーの例

connectAttributesでは、 PersistentConnectや などの IAM ポリシーの接続メッセージに使用する属性を指定できますLastWill。 詳細については、「」を参照してください。の使用connectAttributes

次のポリシーでは、 PersistentConnect機能を使用した接続を許可します。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:Connect" ], "Resource": "*", "Condition": { "ForAllValues:StringEquals": { "iot:ConnectAttributes": [ "PersistentConnect" ] } } } ] }

次のポリシーでは、 PersistentConnect を禁止するので、その他の機能を使用できます。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:Connect" ], "Resource": "*", "Condition": { "ForAllValues:StringNotEquals": { "iot:ConnectAttributes": [ "PersistentConnect" ] } } } ]

上記のポリシーは を使用して表現することもでき、新機能を含む他のあらゆる機能も許可されます。StringEquals

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:Connect" ], "Resource": "*" }, { "Effect": "Deny", "Action": [ "iot:Connect" ], "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "iot:ConnectAttributes": [ "PersistentConnect" ] } } } ] }

次のポリシーでは、 PersistentConnectLastWill の両方で接続が許可されますが、その他の新機能は許可されません。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:Connect" ], "Resource": "*", "Condition": { "ForAllValues:StringEquals": { "iot:ConnectAttributes": [ "PersistentConnect", "LastWill" ] } } } ] }

次のポリシーでは、 の有無にかかわらずクライアントによるクリーン接続を許可します。他の機能は許可されません。LastWill

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:Connect" ], "Resource": "*", "Condition": { "ForAllValues:StringEquals": { "iot:ConnectAttributes": [ "LastWill" ] } } } ] }

次のポリシーでは、デフォルトの機能を使用した接続のみが許可されます。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:Connect" ], "Resource": "*", "Condition": { "ForAllValues:StringEquals": { "iot:ConnectAttributes": [ ] } } } ] }

次のポリシーでは、 PersistentConnect との接続のみが許可されますPersistentConnect。また、接続で が使用されている限り、新機能を使用できます。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:Connect" ], "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "iot:ConnectAttributes": [ "PersistentConnect" ] } } } ] }

次のポリシーでは、接続PersistentConnectLastWill 使用の両方が必要であり、新機能は許可されません。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:Connect" ], "Resource": "*", "Condition": { "ForAllValues:StringEquals": { "iot:ConnectAttributes": [ "PersistentConnect", "LastWill" ] } } }, { "Effect": "Deny", "Action": [ "iot:Connect" ], "Resource": "*", "Condition": { "ForAllValues:StringEquals": { "iot:ConnectAttributes": [ "PersistentConnect" ] } } }, { "Effect": "Deny", "Action": [ "iot:Connect" ], "Resource": "*", "Condition": { "ForAllValues:StringEquals": { "iot:ConnectAttributes": [ "LastWill" ] } } }, { "Effect": "Deny", "Action": [ "iot:Connect" ], "Resource": "*", "Condition": { "ForAllValues:StringEquals": { "iot:ConnectAttributes": [ ] } } } ] }

次のポリシーは、 を持つことはできませんPersistentConnectが、 LastWill を持つことはできず、他の新機能は使用できません。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "iot:Connect" ], "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "iot:ConnectAttributes": [ "PersistentConnect" ] } } }, { "Effect": "Allow", "Action": [ "iot:Connect" ], "Resource": "*", "Condition": { "ForAllValues:StringEquals": { "iot:ConnectAttributes": [ "LastWill" ] } } } ] }

次のポリシーでは、 トピックが LastWill である クライアントのみが接続を許可されており、"my/lastwill/topicName"トピックを使用する限りあらゆる機能が許可されます。LastWill

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:Connect" ], "Resource": "*", "Condition": { "ArnEquals": { "iot:LastWillTopic": "arn:aws:iot:*region*:*account-id*:topic/*my/lastwill/topicName*" } } } ] }

次のポリシーでは、特定の LastWillTopic を使用したクリーン接続のみが許可されますLastWillTopic。 を使用する限り、あらゆる機能が許可されます。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:Connect" ], "Resource": "*", "Condition": { "ArnEquals": { "iot:LastWillTopic": "arn:aws:iot:*region*:*account-id*:topic/*my/lastwill/topicName*" } } }, { "Effect": "Deny", "Action": [ "iot:Connect" ], "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "iot:ConnectAttributes": [ "PersistentConnect" ] } } } ] }
Registered devices (3)

次のポリシーでは、モノの名前をクライアント ID として使用して接続し、トピックフィルターにサブスクライブするためのアクセス許可をデバイスに付与my/topic/filterします。 デバイスは に登録する必要がありますAWS IoT Core。デバイスは に接続するときに、AWS IoT Coreレジストリ内のIoTモノに関連付けられた証明書を提供する必要があります。AWS IoT Core

{ "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:Subscribe" ], "Resource": [ "arn:aws:iot:us-east-1:123456789012:topicfilter/my/topic/filter" ] } ] }
Unregistered devices (3)

AWS IoT Core レジストリでモノとして登録されていないデバイスの場合、次のポリシーにより、クライアント ID client1 を使用して接続し、トピックフィルタ 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:Subscribe" ], "Resource": [ "arn:aws:iot:us-east-1:123456789012:topicfilter/my/topic" ] } ] }