

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

# 証明書のポリシーの例
<a name="certificate-policy-examples"></a>

 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 レジストリに登録されていないデバイスの場合、次のポリシーは、クライアント IDs、、`client3`および AWS IoT Core を使用して に接続し`client1``client2`、デバイスが自身を認証するために使用した証明書`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 レジストリに登録されていないデバイスの場合、次のポリシーは、クライアント IDs、、`client3`および `client1` AWS IoT Core を使用して に接続し`client2`、デバイスが自身を認証するために使用した証明書のサブジェクト`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`フィールドが に設定されている場合`admin/`、名前のプレフィックスが であるトピックに発行するアクセス許可を付与します`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 レジストリに登録されていないデバイスの場合、次のポリシーは、クライアント IDs `client1`、、`client3`および AWS IoT Core を使用して に接続し`client2`、デバイスの認証に使用される証明書の `Subject.CommonName.2`フィールドが に設定されている`admin/`ときに、名前のプレフィックスが であるトピックに発行するアクセス許可を付与します`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": {
                "StringEquals": {
                    "iot:Certificate.Subject.CommonName.2": "Administrator"
            }
        }
        }
    ]
}
```

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

****  

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