

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.

# Política temática de Amazon SNS para CloudTrail
<a name="cloudtrail-permissions-for-sns-notifications"></a>

Para enviar notificaciones a un tema de SNS, CloudTrail debe tener los permisos necesarios. CloudTrailadjunta automáticamente los permisos necesarios al tema cuando crea un tema de Amazon SNS como parte de la creación o actualización de una ruta en CloudTrail la consola.

**importante**  
Como práctica recomendada de seguridad, para restringir el acceso al tema de SNS, se aconseja firmemente que después de crear o actualizar un registro de seguimiento para enviar notificaciones de SNS, edite de forma manual la política de IAM adjunta al tema de SNS para agregar claves de condición. Para obtener más información, consulte [Práctica recomendada de seguridad para la política de temas SNS](#cloudtrail-sns-notifications-policy-security) en este tema.

CloudTrail añade automáticamente la siguiente declaración a la política con los siguientes campos:
+ Lo permitido SIDs.
+ El nombre principal del servicio de CloudTrail.
+ El tema de SNS, incluida la región, el ID de cuenta y el nombre del tema.

La siguiente política permite CloudTrail enviar notificaciones sobre la entrega de archivos de registro desde las regiones compatibles. Para obtener más información, consulte [CloudTrail regiones compatibles](cloudtrail-supported-regions.md). Esta es la política predeterminada que se adjunta a una política de tema de SNS nueva o existente al crear o actualizar un registro de seguimiento, y elige habilitar las notificaciones SNS.

**Política de temas de SNS**

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AWSCloudTrailSNSPolicy20131101",
            "Effect": "Allow",
            "Principal": {
                "Service": "cloudtrail.amazonaws.com"
            },
            "Action": "SNS:Publish",
            "Resource": "arn:aws:sns:{{us-east-1}}:{{111111111111}}:{{SNSTopicName}}"
        }
    ]
}
```

------<a name="kms-key-policy"></a>

Para utilizar un tema AWS KMS de Amazon SNS cifrado para enviar notificaciones, también debe habilitar la compatibilidad entre la fuente del evento CloudTrail () y el tema cifrado añadiendo la siguiente declaración a la política del. AWS KMS key

**Política de claves de KMS**

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "cloudtrail.amazonaws.com"
            },
            "Action": [
                "kms:GenerateDataKey*",
                "kms:Decrypt"
            ],
            "Resource": "*"
        }
    ]
}
```

------

Para obtener más información, consulte [Habilitar la compatibilidad entre las fuentes de eventos de AWS los servicios y los temas cifrados](https://docs.aws.amazon.com/sns/latest/dg/sns-key-management.html#compatibility-with-aws-services).

**Contents**
+ [Práctica recomendada de seguridad para la política de temas SNS](#cloudtrail-sns-notifications-policy-security)
+ [Especificación de un tema existente para enviar notificaciones](#specifying-an-existing-topic-for-sns-notifications)
+ [Resolución de problemas de la política de temas de SNS](#troubleshooting-sns-topic-policy)
  + [CloudTrail no envía notificaciones para una región](#sns-topic-policy-for-multiple-regions)
  + [CloudTrail no envía notificaciones para la cuenta de un miembro de una organización](#sns-topic-policy-authorization-failure)
+ [Recursos adicionales](#cloudtrail-notifications-more-info-5)

## Práctica recomendada de seguridad para la política de temas SNS
<a name="cloudtrail-sns-notifications-policy-security"></a>

De forma predeterminada, la declaración de política de IAM que se CloudTrail adjunta a su tema de Amazon SNS permite al director CloudTrail del servicio publicar en un tema de SNS, identificado por un ARN. Para evitar que un atacante acceda a su tema de SNS y envíe notificaciones en su nombre a los destinatarios del tema, edite manualmente su política de temas de CloudTrail SNS CloudTrail para añadir una clave de `aws:SourceArn` condición a la declaración de política adjunta por. CloudTrail El valor de esta clave es el ARN de la ruta o un conjunto de rutas ARNs que utilizan el tema SNS. Ya que incluye tanto el ID del registro de seguimiento específico como el ID de la cuenta propietaria del registro de traza y restringe el acceso al tema SNS solo a aquellas cuentas que tienen permiso para administrar el registro de traza. Antes de añadir claves de condición a tu política de temas de SNS, obtén el nombre del tema de SNS en la configuración de tu ruta en la consola. CloudTrail 

La clave de condición `aws:SourceAccount` también se admite, aunque no se recomienda.

**Para agregar la clave de condición `aws:SourceArn` a la política de temas de SNS**

1. [Abra la consola Amazon SNS en https://console.aws.amazon.com/sns/ la versión 3/home.](https://console.aws.amazon.com/sns/v3/home)

1. En el panel de navegación, elija **Temas**.

1. Elija el tema SNS que se muestra en la configuración del registro de seguimiento y, a continuación, **Edit (Editar)**.

1. Expanda **Política de acceso**.

1. En el editor JSON de **Access policy (Política de acceso)**, busque un bloque similar al siguiente ejemplo.

   ```
       {
         "Sid": "AWSCloudTrailSNSPolicy20150319",
         "Effect": "Allow",
         "Principal": {
           "Service": "cloudtrail.amazonaws.com"
         },
         "Action": "SNS:Publish",
         "Resource": "arn:aws:sns:us-west-2:111122223333:aws-cloudtrail-logs-111122223333-61bbe496"
       }
   ```

1. Agregue un bloque nuevo para una condición, `aws:SourceArn` como se muestra en el siguiente ejemplo. El valor de `aws:SourceArn` es el ARN del registro de seguimiento sobre el que se envían notificaciones a SNS.

   ```
       {
         "Sid": "AWSCloudTrailSNSPolicy20150319",
         "Effect": "Allow",
         "Principal": {
           "Service": "cloudtrail.amazonaws.com"
         },
         "Action": "SNS:Publish",
         "Resource": "arn:aws:sns:us-west-2:111122223333:aws-cloudtrail-logs-111122223333-61bbe496",
         "Condition": {
           "StringEquals": {
             "aws:SourceArn": "arn:aws:cloudtrail:us-west-2:123456789012:trail/Trail3"
           }
         }
       }
   ```

1. Cuando haya terminado de editar la política de temas de SNS, elija **Save changes (Guardar cambios)**.

**Para agregar la clave de condición `aws:SourceAccount` a la política de temas de SNS**

1. [Abra la consola Amazon SNS en https://console.aws.amazon.com/sns/ la versión 3/home.](https://console.aws.amazon.com/sns/v3/home)

1. En el panel de navegación, elija **Temas**.

1. Elija el tema SNS que se muestra en la configuración del registro de seguimiento y, a continuación, **Edit (Editar)**.

1. Expanda **Política de acceso**.

1. En el editor JSON de **Access policy (Política de acceso)**, busque un bloque similar al siguiente ejemplo.

   ```
       {
         "Sid": "AWSCloudTrailSNSPolicy20150319",
         "Effect": "Allow",
         "Principal": {
           "Service": "cloudtrail.amazonaws.com"
         },
         "Action": "SNS:Publish",
         "Resource": "arn:aws:sns:us-west-2:111122223333:aws-cloudtrail-logs-111122223333-61bbe496"
       }
   ```

1. Agregue un bloque nuevo para una condición, `aws:SourceAccount` como se muestra en el siguiente ejemplo. El valor de `aws:SourceAccount` es el identificador de la cuenta propietaria de la ruta. CloudTrail En este ejemplo, se restringe el acceso al tema de SNS únicamente a los usuarios que pueden iniciar sesión en la AWS cuenta 123456789012.

   ```
       {
         "Sid": "AWSCloudTrailSNSPolicy20150319",
         "Effect": "Allow",
         "Principal": {
           "Service": "cloudtrail.amazonaws.com"
         },
         "Action": "SNS:Publish",
         "Resource": "arn:aws:sns:us-west-2:111122223333:aws-cloudtrail-logs-111122223333-61bbe496",
         "Condition": {
           "StringEquals": {
             "aws:SourceAccount": "123456789012"
           }
         }
       }
   ```

1. Cuando haya terminado de editar la política de temas de SNS, elija **Save changes (Guardar cambios)**.

## Especificación de un tema existente para enviar notificaciones
<a name="specifying-an-existing-topic-for-sns-notifications"></a>

Puede añadir manualmente los permisos de un tema de Amazon SNS a su política de temas en la consola de Amazon SNS y, a continuación, especificar el tema en la consola. CloudTrail 

**Para actualizar manualmente una política de temas de SNS**

1. [Abra la consola Amazon SNS en https://console.aws.amazon.com/sns/ la versión 3/home.](https://console.aws.amazon.com/sns/v3/home)

1. Elija **Topics** y, a continuación, seleccione el tema.

1. Seleccione **Editar** y, a continuación, desplácese hacia abajo hasta **Política de acceso**.

1. Elija la instrucción de [SNS topic policy](#sns-topic-policy) con los valores adecuados para la región, el ID de cuenta y el nombre del tema.

1. Si su tema es un tema cifrado, debe permitir CloudTrail tener los permisos necesarios`kms:GenerateDataKey*`. `kms:Decrypt` Para obtener más información, consulte [Encrypted SNS topic KMS key policy](#kms-key-policy).

1. Elija **Save changes (Guardar cambios)**.

1. Regrese a la CloudTrail consola y especifique el tema de la ruta.

## Resolución de problemas de la política de temas de SNS
<a name="troubleshooting-sns-topic-policy"></a>

En las secciones siguientes se describe cómo solucionar problemas de la política de temas de SNS.

**Topics**
+ [CloudTrail no envía notificaciones para una región](#sns-topic-policy-for-multiple-regions)
+ [CloudTrail no envía notificaciones para la cuenta de un miembro de una organización](#sns-topic-policy-authorization-failure)

### CloudTrail no envía notificaciones para una región
<a name="sns-topic-policy-for-multiple-regions"></a>

Cuando creas un tema nuevo como parte de la creación o actualización de una ruta, CloudTrail adjuntas los permisos necesarios a tu tema. La política temática utiliza el nombre principal del servicio`"cloudtrail.amazonaws.com"`, lo que permite enviar notificaciones CloudTrail a todas las regiones.

Si CloudTrail no envía notificaciones para una región, es posible que su tema tenga una política anterior que especifique la CloudTrail cuenta IDs para cada región. Este tipo de política permite CloudTrail enviar notificaciones solo a las regiones especificadas.

Como práctica recomendada, actualice la política para usar un permiso con el director del CloudTrail servicio. Para ello, sustituya el ID ARNs de cuenta por el nombre principal del servicio:`"cloudtrail.amazonaws.com"`.

El siguiente ejemplo de política CloudTrail permite enviar notificaciones para las regiones actuales y nuevas:

**Example política del tema con el nombre principal del servicio**    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
        "Sid": "AWSCloudTrailSNSPolicy20131101",
        "Effect": "Allow",
        "Principal": {"Service": "cloudtrail.amazonaws.com"},
        "Action": "SNS:Publish",
        "Resource": "arn:aws:sns:us-west-2:123456789012:myTopic"
    }]
}
```

Compruebe que la política tiene los valores correctos:
+ En el campo `Resource`, especifique el número de cuenta del propietario del tema. Para temas que haya creado usted, especifique su número de cuenta.
+ Especifique los valores adecuados para la región y el nombre del tema de SNS.

### CloudTrail no envía notificaciones para la cuenta de un miembro de una organización
<a name="sns-topic-policy-authorization-failure"></a>

Si una cuenta de miembro con un registro de AWS Organizations la organización no envía notificaciones de Amazon SNS, podría haber un problema con la configuración de la política de temas de Amazon SNS. CloudTrail crea registros organizativos en las cuentas de los miembros incluso si se produce un error en la validación de un recurso; por ejemplo, el tema de SNS del registro de la organización no incluye todas las cuentas de los miembros. IDs Si la política de temas de SNS es incorrecta, se produce un error de autorización.

Para comprobar si la política de temas de SNS de un registro de seguimiento tiene un error de autorización:
+ Desde la CloudTrail consola, consulta la página de detalles de la ruta. Si se produce un error en la autorización, la página de detalles incluye una advertencia de `SNS authorization failed` e indica que hay que corregir la política de temas de SNS.
+ Desde AWS CLI, ejecuta el [https://docs.aws.amazon.com/cli/latest/reference/cloudtrail/get-trail-status.html](https://docs.aws.amazon.com/cli/latest/reference/cloudtrail/get-trail-status.html)comando. Si se produce un error de autorización, el resultado del comando incluye el campo `LastNotificationError` con un valor de `AuthorizationError`.

## Recursos adicionales
<a name="cloudtrail-notifications-more-info-5"></a>

Para obtener más información sobre los temas de SNS y suscribirse a ellos, consulte la [Guía para desarrolladores de Amazon Simple Notification Service](https://docs.aws.amazon.com/sns/latest/dg/).