証明書のポリシーの例 - AWS IoT Core

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

証明書のポリシーの例

AWS IoT Core レジストリに登録されているデバイスの場合、以下のポリシーは THING 名と一致するクライアント ID AWS IoT Core で接続し、デバイスが自身の認証に使用した証明書と同じ名前のトピックに公開する権限を付与します。certificateId

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

AWS IoT Core レジストリに登録されていないデバイスの場合、次のポリシーは、クライアント ID、 AWS IoT Core client3を使用して接続しclient1client2、デバイスが認証に使用した証明書と同じ名前のトピックに公開する権限を付与します。certificateId

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

AWS IoT Core レジストリに登録されているデバイスの場合、以下のポリシーは Thing 名と一致するクライアント ID AWS IoT Core で接続し、CommonNameデバイスが自身の認証に使用した証明書のサブジェクトフィールドと同じ名前のトピックに公開する権限を付与します。

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

この例では、証明書のサブジェクト共通名が、サブジェクト共通名が登録された各証明書に対して一意であることを前提にして、トピック ID として使用されます。複数のデバイス間で証明書が共有されている場合、サブジェクト共通名は、その証明書を共有するすべてのデバイスで同じになります。したがって、複数のデバイスの同じトピックに発行する権限が許可されます (推奨されません)。

AWS IoT Core レジストリに登録されていないデバイスの場合、次のポリシーは、クライアント ID client1、 AWS IoT Core client3を使用して接続しclient2CommonNameデバイスが認証に使用した証明書のサブジェクトフィールドと同じ名前のトピックに公開する権限を付与します。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:Publish" ], "Resource": ["arn:aws:iot:us-east-1:123456789012:topic/${iot:Certificate.Subject.CommonName}"] }, { "Effect": "Allow", "Action": [ "iot:Connect" ], "Resource": [ "arn:aws:iot:us-east-1:123456789012:client/client1", "arn:aws:iot:us-east-1:123456789012:client/client2", "arn:aws:iot:us-east-1:123456789012:client/client3" ] } ] }
注記

この例では、証明書のサブジェクト共通名が、サブジェクト共通名が登録された各証明書に対して一意であることを前提にして、トピック ID として使用されます。複数のデバイス間で証明書が共有されている場合、サブジェクト共通名は、その証明書を共有するすべてのデバイスで同じになります。したがって、複数のデバイスの同じトピックに発行する権限が許可されます (推奨されません)。

AWS IoT Core レジストリに登録されているデバイスの場合、以下のポリシーは Thing 名と一致するクライアント ID AWS IoT Core で接続し、admin/Subject.CommonName.2デバイスの認証に使用される証明書のフィールドがに設定されている場合に名前のプレフィックスが付いたトピックに公開する権限を付与しますAdministrator

{ "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/admin/*"], "Condition": { "StringEquals": { "iot:Certificate.Subject.CommonName.2": "Administrator" } } } ] }

AWS IoT Core レジストリに登録されていないデバイスの場合、次のポリシーは、admin/Subject.CommonName.2デバイスの認証に使用される証明書のフィールドがに設定されている場合にclient1client2、クライアント ID client3 で接続し、名前のプレフィックスが付いたトピックに公開する権限を付与しますAdministrator。 AWS IoT Core

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:Connect" ], "Resource": [ "arn:aws:iot:us-east-1:123456789012:client/client1", "arn:aws:iot:us-east-1:123456789012:client/client2", "arn:aws:iot:us-east-1:123456789012:client/client3" ] }, { "Effect": "Allow", "Action": [ "iot:Publish" ], "Resource": ["arn:aws:iot:us-east-1:123456789012:topic/admin/*"], "Condition": { "StringEquals": { "iot:Certificate.Subject.CommonName.2": "Administrator" } } } ] }

AWS IoT Core ThingNameレジストリに登録されているデバイスの場合、次のポリシーにより、デバイスが Thing Name を使用して特定のトピックを公開できます。このトピックには、Subject.CommonNameAdministratorデバイスの認証に使用される証明書のフィールドのいずれかが次のように設定されている場合、の後に「」admin/ が続きます。

{ "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/admin/${iot:Connection.Thing.ThingName}"], "Condition": { "ForAnyValue:StringEquals": { "iot:Certificate.Subject.CommonName.List": "Administrator" } } } ] }

AWS IoT Core レジストリに登録されていないデバイスの場合、次のポリシーは、adminSubject.CommonNameデバイスの認証に使用される証明書のフィールドのいずれかがに設定されている場合にclient1client2、クライアント ID AWS IoT Core client3 で接続し、トピックに公開する権限を付与します。Administrator

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:Connect" ], "Resource": [ "arn:aws:iot:us-east-1:123456789012:client/client1", "arn:aws:iot:us-east-1:123456789012:client/client2", "arn:aws:iot:us-east-1:123456789012:client/client3" ] }, { "Effect": "Allow", "Action": [ "iot:Publish" ], "Resource": ["arn:aws:iot:us-east-1:123456789012:topic/admin"], "Condition": { "ForAnyValue:StringEquals": { "iot:Certificate.Subject.CommonName.List": "Administrator" } } } ] }