Permisos para temas de Amazon SNS - El DevOps gurú de Amazon

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.

Permisos para temas de Amazon SNS

Utilice la información de este tema únicamente si desea configurar Amazon DevOps Guru para que envíe notificaciones a los temas de Amazon SNS que pertenezcan a otra AWS cuenta.

Para que DevOps Guru envíe notificaciones a un tema de Amazon SNS propiedad de otra cuenta, debes adjuntar una política al tema de Amazon SNS que DevOps otorgue a Guru permisos para enviarle notificaciones. Si configura DevOps Guru para que envíe notificaciones a los temas de Amazon SNS que pertenecen a la misma cuenta que utiliza para DevOps Guru, DevOps Guru añadirá automáticamente una política a los temas.

Tras adjuntar una política para configurar los permisos de un tema de Amazon SNS en otra cuenta, puede añadir el tema de Amazon SNS en Guru. DevOps También puede actualizar su política de Amazon SNS con un canal de notificaciones para hacerla más segura.

nota

DevOpsActualmente, Guru solo admite el acceso entre cuentas en la misma región.

Configuraciones de permisos para un tema de Amazon SNS en otra cuenta

Añadir permisos como rol de IAM

Si desea utilizar un tema de Amazon SNS de otra cuenta después de iniciar sesión con un rol de IAM, deberá adjuntar una política al tema de Amazon SNS que desee utilizar. Para adjuntar una política a un tema de Amazon SNS desde otra cuenta mientras utiliza un rol de IAM, debe tener los siguientes permisos para ese recurso de cuenta como parte de su rol de IAM:

  • sin: CreateTopic

  • sns: GetTopicAttributes

  • sns: SetTopicAttributes

  • sns:Publish

Adjunte la siguiente política al tema de Amazon SNS que desee utilizar. Para la Resource clave, topic-owner-account-ides el ID de cuenta del propietario del tema, topic-sender-account-idel ID de cuenta del usuario que creó DevOps Guru y devops-guru-rolees la función de IAM del usuario individual implicado. Debe sustituir el identificador de región por los valores adecuados (por ejemplo,us-west-2) y. my-topic-name

{ "Version": "2012-10-17", "Statement": [{ "Sid": "EnableDevOpsGuruServicePrincipal", "Action": "sns:Publish", "Effect": "Allow", "Resource": "arn:aws:sns:region-id:topic-owner-account-id:my-topic-name", "Principal": { "Service": "region-id.devops-guru.amazonaws.com" }, "Condition": { "StringEquals": { "AWS:SourceAccount": "topic-sender-account-id" } } }, { "Sid": "EnableAccountPrincipal", "Action": "sns:Publish", "Effect": "Allow", "Resource": "arn:aws:sns:region-id:topic-owner-account-id:my-topic-name", "Principal": { "AWS": ["arn:aws:iam::topic-sender-account-id:role/devops-guru-role"] } } ] }

Adición de permisos como usuario de IAM

Para utilizar un tema de Amazon SNS desde otra cuenta como usuario de IAM, adjunte la siguiente política al tema de Amazon SNS que desee utilizar. Para la Resource clave, topic-owner-account-ides el ID de cuenta del propietario del tema, topic-sender-account-ides el ID de cuenta del usuario que configuró DevOps Guru y devops-guru-user-namees el usuario individual de IAM implicado. Debe sustituir el identificador de región por los valores adecuados (por ejemplo,us-west-2) y. my-topic-name

nota

Siempre que sea posible, recomendamos emplear credenciales temporales, en lugar de crear usuarios de IAM que tengan credenciales de larga duración como contraseñas y claves de acceso. Para obtener más información sobre las prácticas recomendadas de IAM, consulte las Prácticas recomendadas de seguridad en IAM en la Guía del usuario de IAM.

{ "Version": "2012-10-17", "Statement": [{ "Sid": "EnableDevOpsGuruServicePrincipal", "Action": "sns:Publish", "Effect": "Allow", "Resource": "arn:aws:sns:region-id:topic-owner-account-id:my-topic-name", "Principal": { "Service": "region-id.devops-guru.amazonaws.com" }, "Condition": { "StringEquals": { "AWS:SourceAccount": "topic-sender-account-id" } } }, { "Sid": "EnableAccountPrincipal", "Action": "sns:Publish", "Effect": "Allow", "Resource": "arn:aws:sns:region-id:topic-owner-account-id:my-topic-name", "Principal": { "AWS": ["arn:aws:iam::topic-sender-account-id:user/devops-guru-user-name"] } } ] }

Adición de un tema de Amazon SNS desde otra cuenta

Tras configurar los permisos para un tema de Amazon SNS en otra cuenta, puede añadir ese tema de Amazon SNS a la DevOps configuración de notificaciones de Guru. Puede añadir el tema de Amazon SNS mediante la consola DevOps Guru AWS CLI o la consola.

  • Cuando utilice la consola, debe seleccionar la opción Usar un ARN de tema de SNS para especificar un tema existente para poder usar un tema de otra cuenta.

  • Al utilizar la AWS CLI operación add-notification-channel, debe especificar lo que está TopicArn dentro del NotificationChannelConfig objeto.

Añadir un tema de Amazon SNS desde otra cuenta mediante la consola
  1. Abra la consola de Amazon DevOps Guru en https://console.aws.amazon.com/devops-guru/.

  2. Abra el panel de navegación y seleccione Configuración.

  3. Vaya a la sección Notificaciones y seleccione Editar.

  4. Elija Add SNS topic (Agregar tema de SNS).

  5. Elija Usar un ARN de tema de SNS para especificar un tema existente.

  6. Introduzca el ARN del tema de Amazon SNS que desee utilizar. Debería haber configurado ya los permisos para este tema adjuntándole una política.

  7. (Opcional) Seleccione Configuración de notificación para editar los ajustes de frecuencia de notificación.

  8. Seleccione Guardar.

Tras añadir el tema de Amazon SNS a la configuración de notificaciones, DevOps Guru utilizará ese tema para avisarte de eventos importantes, como cuando se crea una nueva información.

Actualizar la política de Amazon SNS con un canal de notificaciones (recomendado)

Después de añadir un tema, le recomendamos que haga que su política sea más segura especificando los permisos únicamente para el canal de notificaciones de DevOps Guru que contiene su tema.

Actualice su política de temas de Amazon SNS con un canal de notificaciones (recomendado)
  1. Ejecuta el AWS CLI comando list-notification-channels DevOps Guru en tu cuenta desde la que deseas enviar las notificaciones.

    aws devops-guru list-notification-channels
  2. En la respuesta list-notification-channels, anote el ID del canal que contiene el ARN de su tema de Amazon SNS. El ID del canal es una guía.

    Por ejemplo, en la siguiente respuesta, el ID de canal del tema con el ARN arn:aws:sns:region-id:111122223333:topic-name es e89be5f7-989d-4c4c-b1fe-e7145037e531

    { "Channels": [ { "Id": "e89be5f7-989d-4c4c-b1fe-e7145037e531", "Config": { "Sns": { "TopicArn": "arn:aws:sns:region-id:111122223333:topic-name" }, "Filters": { "MessageTypes": ["CLOSED_INSIGHT", "NEW_INSIGHT", "SEVERITY_UPGRADED"], "Severities": ["HIGH", "MEDIUM"] } } } ] }
  3. Ve a la política que creó en otra cuenta con el ID de propietario del tema en Configuraciones de permisos para un tema de Amazon SNS en otra cuenta. En la declaración de la política Condition, agregue la línea que especifica la SourceArn. El ARN contiene tu ID de región (por ejemplo,us-east-1), el número de AWS cuenta del remitente del tema y el ID del canal que anotaste.

    Su estado de cuenta actualizado Condition tendría el siguiente aspecto.

    "Condition" : { "StringEquals" : { "AWS:SourceArn": "arn:aws:devops-guru:us-east-1:111122223333:channel/e89be5f7-989d-4c4c-b1fe-e7145037e531", "AWS:SourceAccount": "111122223333" } }

Si AddNotificationChannel no puede añadir su tema de SNS, comprueba que su política de IAM tenga los siguientes permisos.

{ "Version": "2012-10-17", "Statement": [{ "Sid": "DevOpsGuruTopicPermissions", "Effect": "Allow", "Action": [ "sns:CreateTopic", "sns:GetTopicAttributes", "sns:SetTopicAttributes", "sns:Publish" ], "Resource": "arn:aws:sns:region-id:account-id:my-topic-name" }] }