

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Ejemplos de políticas de certificado
<a name="certificate-policy-examples"></a>

En el caso de los dispositivos registrados en el AWS IoT Core registro, la siguiente política otorga permiso para conectarse AWS IoT Core con un ID de cliente que coincida con el nombre de una cosa y para publicar en un tema cuyo nombre sea igual al `certificateId` del certificado que el dispositivo utilizó para autenticarse:

****  

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

En el caso de los dispositivos que no están registrados en el AWS IoT Core registro, la siguiente política otorga permiso para conectarse AWS IoT Core con el cliente IDs `client1``client2`,, `client3` y publicar en un tema cuyo nombre sea igual al `certificateId` del certificado que el dispositivo utilizó para autenticarse:

****  

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

Para los dispositivos registrados en el AWS IoT Core registro, la siguiente política otorga permiso para conectarse AWS IoT Core con un ID de cliente que coincida con el nombre de la cosa y para publicar en un tema cuyo nombre sea igual al `CommonName` campo del asunto del certificado que el dispositivo utilizó para autenticarse:

****  

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

**nota**  
En este ejemplo, el nombre común del sujeto del certificado se utiliza como identificador de tema, partiendo del supuesto de que el nombre común del sujeto es único para cada certificado registrado. Si los certificados se comparten entre varios dispositivos, el nombre común del asunto es el mismo para todos los dispositivos que comparten este certificado, lo que permite publicar privilegios en el mismo tema desde varios dispositivos (no se recomienda).

Para los dispositivos que no están registrados en el AWS IoT Core registro, la siguiente política otorga permiso para conectarse AWS IoT Core con el cliente IDs `client1``client2`,, `client3` y publicar en un tema cuyo nombre sea igual al `CommonName` campo del asunto del certificado que el dispositivo utilizó para autenticarse:

****  

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

**nota**  
En este ejemplo, el nombre común del sujeto del certificado se utiliza como identificador de tema, partiendo del supuesto de que el nombre común del sujeto es único para cada certificado registrado. Si los certificados se comparten entre varios dispositivos, el nombre común del asunto es el mismo para todos los dispositivos que comparten este certificado, lo que permite publicar privilegios en el mismo tema desde varios dispositivos (no se recomienda).

En el caso de los dispositivos registrados en el AWS IoT Core registro, la siguiente política otorga permiso para conectarse AWS IoT Core con un ID de cliente que coincida con el nombre de la cosa y para publicar en un tema cuyo nombre lleve el prefijo `admin/` cuando el certificado utilizado para autenticar el dispositivo tenga el `Subject.CommonName.2` campo establecido en`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"
            }
        }
        }
    ]
}
```

En el caso de los dispositivos que no están registrados en el AWS IoT Core registro IDs `client1``client2`, la siguiente política otorga permiso para conectarse AWS IoT Core con el cliente `client3` y publicar en un tema cuyo nombre lleve el prefijo `admin/` cuando el certificado utilizado para autenticar el dispositivo tenga el `Subject.CommonName.2` campo establecido en`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"
            }
        }
        }
    ]
}
```

En el caso de los dispositivos registrados en el AWS IoT Core registro, la siguiente política permite que un dispositivo utilice su nombre para publicar sobre un tema específico, lo que `admin/` consiste en indicar `ThingName` cuándo el certificado utilizado para autenticar el dispositivo tiene alguno de sus `Subject.CommonName` campos configurado en: `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"
            }
        }
        }
    ]
}
```

En el caso de los dispositivos que no estén registrados en el AWS IoT Core registro IDs `client1``client2`, la siguiente política otorga permiso para conectarse AWS IoT Core con el cliente `client3` y publicar en el tema `admin` cuando el certificado utilizado para autenticar el dispositivo tenga alguno de sus `Subject.CommonName` campos configurado en: `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"
            }
        }
        }
    ]
}
```