Seleccione sus preferencias de cookies

Usamos cookies esenciales y herramientas similares que son necesarias para proporcionar nuestro sitio y nuestros servicios. Usamos cookies de rendimiento para recopilar estadísticas anónimas para que podamos entender cómo los clientes usan nuestro sitio y hacer mejoras. Las cookies esenciales no se pueden desactivar, pero puede hacer clic en “Personalizar” o “Rechazar” para rechazar las cookies de rendimiento.

Si está de acuerdo, AWS y los terceros aprobados también utilizarán cookies para proporcionar características útiles del sitio, recordar sus preferencias y mostrar contenido relevante, incluida publicidad relevante. Para aceptar o rechazar todas las cookies no esenciales, haga clic en “Aceptar” o “Rechazar”. Para elegir opciones más detalladas, haga clic en “Personalizar”.

Uso de políticas basadas en identidades con Amazon SNS

Modo de enfoque
Uso de políticas basadas en identidades con Amazon SNS - Amazon Simple Notification Service

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.

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.

Amazon Simple Notification Service se integra con AWS Identity and Access Management (IAM) para que pueda especificar qué acciones de Amazon SNS puede realizar un usuario suyo con los Cuenta de AWS recursos de Amazon SNS. Puede especificar un tema determinado de la política. Por ejemplo, puede utilizar variables cuando crea una política de IAM a fin de conceder permiso a determinados usuarios de su organización para utilizar la acción Publish en temas específicos de su Cuenta de AWS. Para obtener más información, consulte Variables de las políticas en la Guía del usuario de IAM.

importante

El uso de Amazon SNS con IAM no cambia la forma de utilizar Amazon SNS. No hay cambios en las acciones de Amazon SNS ni acciones nuevas de Amazon SNS relacionados con los usuarios y el control de acceso.

Para ver ejemplos de políticas que abarcan acciones y recursos de Amazon SNS, consulte Ejemplos de políticas para Amazon SNS.

Uso en conjunto de políticas y roles de IAM y Amazon SNS

Las políticas de IAM se utilizan para restringir el acceso de los usuarios a acciones y temas de Amazon SNS. Una política de IAM puede restringir el acceso únicamente a los usuarios de su AWS cuenta, no a otros. Cuentas de AWS

Puede utilizar una política de Amazon SNS con un tema determinado para restringir quién puede trabajar en ese tema (por ejemplo, quién puede publicar mensajes en el tema, quién puede suscribirse al tema, etcétera). Las políticas de Amazon SNS pueden conceder acceso a otros Cuentas de AWS usuarios o a los propios usuarios. Cuenta de AWS

Con el fin de otorgar a sus usuarios permisos para sus temas de Amazon SNS, puede utilizar políticas de IAM, políticas de Amazon SNS o ambas. La mayoría de las veces, puede conseguir los mismos resultados con ambas. Por ejemplo, en el siguiente diagrama se muestra una política de IAM y una política de Amazon SNS equivalentes. La política de IAM permite la acción de Amazon Subscribe SNS para el tema denominado topic_xyz en Cuenta de AWS tu página. La política de IAM está vinculada a los usuarios Bob y Susan (lo que significa que Bob y Susan tienen los permisos establecidos en la política). Con la política de Amazon SNS, también se les concede a Bob y Susan permiso para obtener acceso a Subscribe en relación con topic_xyz.

Compara una política de IAM y una política de Amazon SNS, y muestra que ambas políticas conceden permisos equivalentes a dos usuarios, Bob y Susan, lo que les permite suscribirse a un tema específico de Amazon SNS dentro de una Cuenta de AWS. La diferencia clave que se destaca es que las políticas de Amazon SNS pueden conceder permisos a los usuarios de diferentes tipos Cuentas de AWS, mientras que las políticas de IAM no pueden.
nota

En el ejemplo anterior se muestran políticas sencillas sin condiciones. Puede especificar una condición determinada en cualquiera de las dos políticas y obtener el mismo resultado.

Hay una diferencia entre las políticas de AWS IAM y Amazon SNS: el sistema de políticas de Amazon SNS te permite conceder permisos a Cuentas de AWS otras personas, mientras que la política de IAM no.

Basándose en sus necesidades, decida el uso que quiere hacer de ambos sistemas para administrar los permisos. Los siguientes ejemplos muestran cómo funcionan conjuntamente los dos sistemas de política.

ejemplo 1

En este ejemplo, se aplica a Bob tanto una política de IAM como una política de Amazon SNS. La política de IAM le otorga permiso para hablar Subscribe sobre cualquiera Cuenta de AWS de los temas, mientras que la política de Amazon SNS le otorga permiso para Publish usarlo en un tema específico (topic_xyz). El siguiente diagrama ilustra este concepto.

Muestra cómo se aplican al usuario Bob tanto una política de IAM como una política de Amazon SNS: la política de IAM le permite suscribirse a cualquier tema del y Cuenta de AWS la política de Amazon SNS le concede permiso para publicar mensajes en un tema específico denominado «topic_xyz». El diagrama hace hincapié en la distinción entre los permisos generales concedidos por la política de IAM y los permisos específicos concedidos por la política de Amazon SNS para un tema concreto.

Si Bob enviara una solicitud para suscribirse a cualquier tema de la AWS cuenta, la política de IAM permitiría esa acción. Si Bob quiere enviar una solicitud para publicar un mensaje en topic_xyz, la política de Amazon SNS permitirá la acción.

ejemplo 2

En este ejemplo, nos basamos en el ejemplo 1 (en el que se aplican dos políticas a Bob). Supongamos que Bob publica mensajes en topic_xyz que no debería haber publicado y usted decide quitarle por completo su capacidad para publicar en temas. Para ello, lo más fácil es agregar una política de IAM que le deniegue acceso a la acción Publish en todos los temas. Esta tercera política anula la política de Amazon SNS que anteriormente le daba permiso para publicar en topic_xyz, ya que una denegación explícita siempre anula una instrucción “permitir” (para obtener más información sobre la lógica de evaluación de políticas, consulte Lógica de evaluación). El siguiente diagrama ilustra este concepto.

Ilustración que muestra que al añadir una política de IAM que deniegue la acción “Publish” para todos los temas, se puede invalidar una política de Amazon SNS existente que permitía al usuario Bob publicar en un tema específico, “topic_xyz”. La política de denegación de IAM prevalece sobre la política de Amazon SNS, lo que impide a Bob publicar en cualquier tema, incluido “topic_xyz”.

Para ver ejemplos de políticas que abarcan acciones y recursos de Amazon SNS, consulte Ejemplos de políticas para Amazon SNS.

Formato de ARN de recursos de Amazon SNS

Para Amazon SNS, los temas son el único tipo de recurso que puede especificar en una política. A continuación se muestra el formato de nombre de recurso de Amazon (ARN) para los temas.

arn:aws:sns:region:account_ID:topic_name

Para obtener más información al respecto ARNs, consulte la ARNsGuía del usuario de IAM.

El siguiente es un ARN de un tema denominado MyTopic en la región us-east-2, que pertenece a 123456789012. Cuenta de AWS

arn:aws:sns:us-east-2:123456789012:MyTopic

Si tuviera un tema nombrado MyTopic en cada una de las distintas regiones que admite Amazon SNS, puede especificar los temas con el siguiente ARN.

arn:aws:sns:*:123456789012:MyTopic

Puede utilizar los caracteres comodín * e ? en el nombre del tema. Por ejemplo, el ejemplo siguiente podría hacer referencia a todos los temas creados por Bob a los que ha puesto el prefijo bob_.

arn:aws:sns:*:123456789012:bob_*

Para facilitarle su tarea, cuando crea un tema, Amazon SNS devuelve el ARN del tema en la respuesta.

Acciones de API de Amazon SNS

En una política de IAM, puede especificar cualquier acción que Amazon SNS ofrezca. Sin embargo, las acciones ConfirmSubscription y Unsubscribe no requieren autenticación, lo que significa que, incluso si especifica dichas acciones en una política, IAM no restringirá el acceso de los usuarios a estas acciones.

Cada acción que especifique en una política debe ir prefijada con la cadena en minúsculas sns:. Para especificar todas las acciones de Amazon SNS, utilizaría, por ejemplo, sns:*. Para obtener una lista de las acciones, vaya a la Referencia de la API de Amazon Simple Notification Service.

Claves de política de Amazon SNS

Amazon SNS implementa las siguientes claves de política AWS amplias, además de algunas claves específicas del servicio.

Para ver una lista de las claves de condición compatibles con cada una de ellas Servicio de AWS, consulte las acciones, los recursos y las claves de condición de la Guía del Servicios de AWS usuario de IAM. Para obtener una lista de las claves de condición que se pueden utilizar en varias Servicios de AWS, consulte las claves de contexto de condición AWS globales en la Guía del usuario de IAM.

Amazon SNS utiliza las siguientes claves específicas de servicio. Utilice estas claves en políticas que restringen el acceso a solicitudes Subscribe.

  • sns:Endpoint: la URL, la dirección de correo electrónico o el ARN de una solicitud Subscribe o una suscripción confirmada anteriormente. Utilícela con las condiciones de la cadena (consulte Ejemplos de políticas para Amazon SNS) para restringir el acceso a puntos de enlace específicos (por ejemplo, *@yourcompany.com).

  • sns:Protocol: el valor protocol de una solicitud Subscribe o de una suscripción confirmada anteriormente. Utilícela con las condiciones de la cadena (consulte Ejemplos de políticas para Amazon SNS) para restringir la publicación en protocolos de entrega (por ejemplo, https).

Ejemplos de políticas para Amazon SNS

En esta sección, se muestran varias políticas sencillas para controlar el acceso de los usuarios a Amazon SNS.

nota

En el futuro, Amazon SNS podría agregar nuevas acciones que deberán, lógicamente, incluirse en una de las políticas siguientes, en función de los objetivos indicados en esta.

ejemplo 1: Permitir a un grupo crear y administrar temas

En este ejemplo, creamos una política que concede acceso a CreateTopic, ListTopics, SetTopicAttributes y DeleteTopic.

{ "Statement": [{ "Effect": "Allow", "Action": ["sns:CreateTopic", "sns:ListTopics", "sns:SetTopicAttributes", "sns:DeleteTopic"], "Resource": "*" }] }
ejemplo 2: Permitir que el grupo de TI publique mensajes en un tema determinado

En este ejemplo, creamos un grupo de TI y asignamos una política que concede acceso a Publish en el tema de interés específico.

{ "Statement": [{ "Effect": "Allow", "Action": "sns:Publish", "Resource": "arn:aws:sns:*:123456789012:MyTopic" }] }
ejemplo 3: Ofrezca a los usuarios la Cuenta de AWS posibilidad de suscribirse a los temas

En este ejemplo, creamos una política que concede acceso a la acción Subscribe, con condiciones de coincidencia de la cadena para las claves de política sns:Protocol y sns:Endpoint.

{ "Statement": [{ "Effect": "Allow", "Action": ["sns:Subscribe"], "Resource": "*", "Condition": { "StringLike": { "sns:Endpoint": "*@example.com" }, "StringEquals": { "sns:Protocol": "email" } } }] }
ejemplo 4: Permitir a un socio publicar mensajes en un tema determinado

Puede utilizar una política de Amazon SNS o una política de IAM para permitir a un socio publicar en un tema concreto. Si tu socio tiene una Cuenta de AWS, podría ser más fácil usar una política de Amazon SNS. Sin embargo, cualquier miembro de la empresa del socio que posea las credenciales AWS de seguridad podría publicar mensajes sobre el tema. En este ejemplo se presupone que quiere limitar el acceso a una determinada persona (o aplicación). Para ello, debe tratar al socio como un usuario de su propia compañía y utilizar una política de IAM en vez de una política de Amazon SNS.

Para este ejemplo, creamos un grupo denominado WidgetCo que representa a la empresa asociada; creamos un usuario para la persona (o aplicación) específica de la empresa asociada que necesita acceso y, a continuación, incluimos al usuario en el grupo.

A continuación, adjuntamos una política que concede al grupo Publish acceso al tema específico mencionado WidgetPartnerTopic.

También queremos evitar que el WidgetCo grupo haga cualquier otra cosa con los temas, por lo que añadimos una declaración que deniega el permiso a cualquier acción de Amazon SNS que no sea Publish sobre cualquier tema que no sea. WidgetPartnerTopic Este paso es necesario solo si existe una política amplia en cualquier otra parte del sistema que concede a los usuarios un acceso amplio a Amazon SNS.

{ "Statement": [{ "Effect": "Allow", "Action": "sns:Publish", "Resource": "arn:aws:sns:*:123456789012:WidgetPartnerTopic" }, { "Effect": "Deny", "NotAction": "sns:Publish", "NotResource": "arn:aws:sns:*:123456789012:WidgetPartnerTopic" } ] }
PrivacidadTérminos del sitioPreferencias de cookies
© 2025, Amazon Web Services, Inc o sus afiliados. Todos los derechos reservados.