翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
証明書のポリシーの例
AWS IoT Core レジストリに登録されたデバイスの場合、次のポリシーは、モノの名前に一致するクライアント ID AWS IoT Core で に接続し、デバイスが自身を認証するために使用した証明書certificateIdの と名前が等しいトピックに発行するアクセス許可を付与します。
- JSON
-
-
{
"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 レジストリに登録されていないデバイスの場合、次のポリシーは、クライアント IDs、、client3および AWS IoT Core を使用して に接続しclient1client2、デバイスが自身を認証するために使用した証明書certificateIdの と名前が等しいトピックに発行するアクセス許可を付与します。
- JSON
-
-
{
"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フィールドと名前が等しいトピックに発行するアクセス許可を付与します。
- JSON
-
-
{
"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 レジストリに登録されていないデバイスの場合、次のポリシーは、クライアント IDs、、client3および AWS IoT Core を使用して に接続しclient1client2、デバイスが自身を認証するために使用した証明書のサブジェクトCommonNameフィールドと名前が等しいトピックに発行するアクセス許可を付与します。
- JSON
-
-
{
"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 で に接続し、デバイスの認証に使用されるadmin/証明書のSubject.CommonName.2フィールドが に設定されている場合、名前のプレフィックスが であるトピックに発行するアクセス許可を付与しますAdministrator。
- JSON
-
-
{
"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 レジストリに登録されていないデバイスの場合、次のポリシーにより、クライアント IDs client1、、client3および AWS IoT Core を使用して に接続しclient2、デバイスの認証に使用される証明書のSubject.CommonName.2フィールドが に設定されている場合admin/、名前にプレフィックスが付けられたトピックに発行するアクセス許可が付与されますAdministrator。
- JSON
-
-
{
"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フィールドのいずれかが に設定されているThingName場合に、 がadmin/続く特定のトピックに発行できますAdministrator。
- JSON
-
-
{
"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 レジストリに登録されていないデバイスの場合、次のポリシーは、デバイスの認証に使用される証明書のSubject.CommonNameフィールドのいずれかが に設定されているadmin場合に、クライアント IDs client1、client2、client3および AWS IoT Core で に接続してトピックに発行するアクセス許可を付与しますAdministrator。
- JSON
-
-
{
"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"
}
}
}
]
}