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

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

証明書のポリシーの例

AWS IoT Core レジストリに登録されているデバイスの場合、次のポリシーにより、モノの名前に一致するクライアント 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レジストリに登録されていないデバイスの場合、次のポリシーにより、クライアント AWS IoT Core 、 、 IDs 、client1および client2で に接続するアクセス許可が付与され、デバイスが自らを認証するために使用した証明書client3の に名前が等しいトピックに発行するアクセス許可が付与されます。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 レジストリに登録されているデバイスの場合、次のポリシーにより、モノの名前に一致するクライアント 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レジストリに登録されていないデバイスの場合、次のポリシーにより、クライアント AWS IoT Core 、 IDs 、 client1 、および client2で に接続し、デバイスが自らを認証するために使用した証明書のサブジェクトclient3フィールドに名前が等しいトピックに発行するアクセス許可が付与されます。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/client1", "arn:aws:iot:us-east-1:123456789012:client/client2", "arn:aws:iot:us-east-1:123456789012:client/client3" ] } ] }
注記

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

AWS IoT Core レジストリに登録されているデバイスの場合、次のポリシーにより、モノの名前に一致するクライアント ID で AWS IoT Core に接続し、デバイスに認証に使用される証明書で、その Subject.CommonName.2 フィールドが Administrator に設定されている場合に、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/*"], "Condition": { "StringEquals": { "iot:Certificate.Subject.CommonName.2": "Administrator" } } } ] }

AWS IoT Coreレジストリに登録されていないデバイスの場合、次のポリシーにより、クライアント AWS IoT Core IDs 、 client1client2および client3で に接続し、デバイスに認証に使用される証明書で、そのadmin/フィールドが に設定されている場合に、名前のプレフィックスが付いたトピックに発行するアクセス許可が付与されますSubject.CommonName.2Administrator

{ "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 レジストリに登録されているデバイスの場合、次のポリシーにより、デバイスはモノの名前を使用して、デバイスの認証に使用された証明書で、そのいずれかの Subject.CommonName フィールドが Administrator に設定されている場合、admin/ に続いて ThingName で構成されている特定のトピックで発行することができます。

{ "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レジストリに登録されていないデバイスの場合、次のポリシーにより、デバイスの認証に使用された証明書で、そのいずれかのAWS IoT Coreフィールドが IDs client1 に設定されている場合、クライアント 、 client2 、および client3で に接続し、トピックに発行するアクセス許可が付与されますadminSubject.CommonNameAdministrator

{ "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" } } } ] }