Otorgar permiso a Amazon Managed Service for Prometheus para enviar mensajes de alerta a tu tema de Amazon SNS - Servicio administrado por Amazon para Prometheus

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.

Otorgar permiso a Amazon Managed Service for Prometheus para enviar mensajes de alerta a tu tema de Amazon SNS

Debe conceder permiso a Amazon Managed Service para Prometheus para enviar mensajes a un tema de Amazon SNS. La siguiente declaración de política otorgará ese permiso. Incluye una Condition declaración para ayudar a prevenir un problema de seguridad conocido como el problema del diputado confuso. La instrucción Condition restringe el acceso al tema de Amazon SNS para permitir únicamente las operaciones procedentes de esta cuenta específica y del espacio de trabajo de Amazon Managed Service para Prometheus. Para obtener más información sobre el problema del suplente confuso, consulte Prevención de la sustitución confusa entre servicios.

Para conceder permiso a Amazon Managed Service para Prometheus para enviar mensajes a un tema de Amazon SNS:
  1. Abra la consola de Amazon SNS en https://console.aws.amazon.com/sns/v3/home.

  2. En el panel de navegación, elija Temas.

  3. Elija el nombre del tema que va a utilizar con Amazon Managed Service para Prometheus.

  4. Elija Editar.

  5. Elija Política de acceso y agregue la siguiente instrucción de política a la política existente.

    { "Sid": "Allow_Publish_Alarms", "Effect": "Allow", "Principal": { "Service": "aps.amazonaws.com" }, "Action": [ "sns:Publish", "sns:GetTopicAttributes" ], "Condition": { "ArnEquals": { "aws:SourceArn": "workspace_ARN" }, "StringEquals": { "AWS:SourceAccount": "account_id" } }, "Resource": "arn:aws:sns:region:account_id:topic_name" }

    [Opcional] Si su tema de Amazon SNS está habilitado para el cifrado del lado del servicio (SSE), debe permitir que Amazon Managed Service for Prometheus envíe mensajes a este tema cifrado añadiendo los kms:Decrypt permisos kms:GenerateDataKey* y los permisos a la política de claves de la AWS KMS clave utilizada para cifrar el tema.

    Por ejemplo, puede añadir lo siguiente a la política:

    { "Statement": [{ "Effect": "Allow", "Principal": { "Service": "aps.amazonaws.com" }, "Action": [ "kms:GenerateDataKey*", "kms:Decrypt" ], "Resource": "*" }] }

    Para obtener más información, consulte Permisos de AWS KMS para el tema de SNS.

  6. Elija Guardar cambios.

nota

De forma predeterminada, Amazon SNS crea la política de acceso con la condición en AWS:SourceOwner. Para obtener más información, consulte Política de acceso SNS.

nota

IAM sigue la regla de la política más restrictiva primero. Si en el tema de SNS hay un bloque de políticas que es más restrictivo que el bloque de políticas de Amazon SNS documentado, no se concede el permiso para la política del tema. Para evaluar la política y averiguar qué se ha concedido, consulte Lógica de evaluación de políticas.

Prevención de la sustitución confusa entre servicios

El problema de la sustitución confusa es un problema de seguridad en el que una entidad que no tiene permiso para realizar una acción puede obligar a una entidad con más privilegios a realizar la acción. En AWS, la suplantación de identidad entre servicios puede provocar el confuso problema de un diputado. La suplantación entre servicios puede producirse cuando un servicio (el servicio que lleva a cabo las llamadas) llama a otro servicio (el servicio al que se llama). El servicio que lleva a cabo las llamadas se puede manipular para utilizar sus permisos a fin de actuar en función de los recursos de otro cliente de una manera en la que no debe tener permiso para acceder. Para evitarlo, AWS proporciona herramientas que le ayudan a proteger los datos de todos los servicios cuyos directores de servicio tengan acceso a los recursos de su cuenta.

Se recomienda utilizar las claves de contexto de condición global aws:SourceArn y aws:SourceAccount en las políticas de recursos para limitar los permisos que Amazon Managed Service para Prometheus concede a Amazon SNS para el recurso. Si se utilizan ambas claves contextuales de condición global, el valor aws:SourceAccount y la cuenta del valor aws:SourceArn deben utilizar el mismo ID de cuenta cuando se utilicen en la misma declaración de política.

El valor de aws:SourceArn debe ser el ARN del espacio de trabajo de Amazon Managed Service para Prometheus.

La forma más eficaz de protegerse contra el problema de la sustitución confusa es utilizar la clave de contexto de condición global de aws:SourceArn con el ARN completo del recurso. Si no conoce el ARN completo del recurso o si especifica varios recursos, utilice la clave de condición de contexto global aws:SourceArn con comodines (*) para las partes desconocidas del ARN. Por ejemplo, arn:aws:servicename::123456789012:*.

La política mostrada en Otorgar permiso a Amazon Managed Service for Prometheus para enviar mensajes de alerta a tu tema de Amazon SNS muestra cómo se pueden utilizar las claves contextuales de condición global aws:SourceArn y aws:SourceAccount en Amazon Managed Service para Prometheus para evitar el problema del suplente confuso.