¿Cómo puedo resolver los errores de autorización al intentar añadir suscriptores a un tema de Amazon SNS?
Quiero resolver los errores de autorización de AWS Identity and Access Management (IAM) que se muestran al añadir suscriptores a mi tema de Amazon Simple Notification Service (Amazon SNS).
Descripción breve
Cuando una entidad de IAM intenta añadir una suscripción a un tema de Amazon SNS sin suscribir los permisos de acción de la API, SNS devuelve el siguiente error:
An error occurred (AuthorizationError) when calling the Subscribe operation: User: your_IAM_user_or_role is not authorized to perform: sns:Subscribe on resource: YOUR_SNS_TOPIC_ARN
Nota: La entidad de IAM podría ser un usuario o un rol de IAM.
Para resolver el error, conceda permiso a la entidad de IAM para ejecutar la acción de la API Subscribe en el tema de Amazon SNS.
Si recibe un error similar que termina en una «denegación explícita»
Elimine cualquier declaración de política que deniegue explícitamente a la entidad de IAM el acceso al recurso SNS.
Resolución
Si la entidad de IAM y el tema de SNS están en cuentas de AWS diferentes
Realice las dos acciones siguientes:
Adjunte una declaración de política de IAM a la entidad de IAM que permita a la entidad ejecutar la acción «sns:Subscribe»
Para obtener instrucciones, consulte Agregar y quitar permisos de la identidad de IAM. Adjunte el siguiente ejemplo de declaración de política de IAM:
Importante: Sustituya «YOUR_SNS_TOPIC_ARN» por su nombre de recurso de Amazon (ARN) del tema de Amazon SNS.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "SNSSubscribePermission", "Effect": "Allow", "Action": "sns:Subscribe", "Resource": "YOUR_SNS_TOPIC_ARN" } ] }
Adjunte una declaración de política de Amazon SNS a su política de acceso del tema que permita a la entidad de IAM ejecutar la acción «sns:Subscribe»
Para obtener instrucciones, consulte ¿Cómo puedo editar la política de acceso de mi tema de Amazon SNS? Adjunte el siguiente ejemplo de declaración de política de Amazon SNS:
Importante: Sustituya «YOUR_IAM USER/ROLE_ARN» por su ARN de la entidad de IAM. Sustituya «YOUR_SNS_TOPIC_ARN» por su ARN del tema de Amazon SNS.
{ "Sid": "AllowIAMEntity", "Effect": "Allow", "Principal": { "AWS": "YOUR_IAM USER/ROLE_ARN " }, "Action": "sns:Subscribe", "Resource": "YOUR_SNS_TOPIC_ARN" }
Si la entidad de IAM y el tema de SNS están en la misma cuenta
Lleve a cabo una de las siguientes acciones:
-o-
Adjunte una declaración de política de Amazon SNS a su política de acceso del tema que permita a la entidad de IAM ejecutar la acción «sns:Subscribe».
Para ver ejemplos de declaraciones de política, consulte la sección Si la entidad de IAM y el SNS están en cuentas de AWS diferentes de este artículo.
Cómo comprobar que ni la política de la entidad de IAM ni la política de acceso del tema de SNS denieguen explícitamente el acceso al recurso de SNS
Revise la política de la entidad de IAM y la política de acceso del tema de SNS. A continuación, elimine cualquier declaración de política que deniegue explícitamente a la entidad de IAM el acceso al recurso SNS.
Para obtener más información, consulte Diferencia entre denegaciones implícitas y explícitas.
Información relacionada
Contenido relevante
- OFICIAL DE AWSActualizada hace un año
- OFICIAL DE AWSActualizada hace un año
- OFICIAL DE AWSActualizada hace un año