He intentado agregar suscriptores a un tema de Amazon Simple Notification Service (Amazon SNS), pero he recibido un error de autorización de AWS Identity and Access Management (IAM).
Descripción corta
Cuando una entidad de IAM intenta agregar una suscripción a un tema de Amazon SNS sin permisos de acción de la API Subscribe, 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: Consulta tu mensaje de error específico para determinar si el error proviene de una política basada en la identidad o en una política basada en recursos.
Para resolver este error, concede permiso a la entidad de IAM para ejecutar la acción de la API Subscribe en el tema de Amazon SNS.
Resolución
Para conceder permiso a la entidad de IAM para ejecutar la acción de la API Subscribe en el tema de Amazon SNS, sigue estos pasos:
Acceso entre cuentas
Si la entidad de IAM está en una cuenta cruzada de AWS para su tema de SNS, sigue estos pasos:
-
Adjunta la siguiente política basada en la identidad a la entidad de IAM que permita a la entidad ejecutar la acción de la API sns:Subscribe:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "SNSSubscribePermission",
"Effect": "Allow",
"Action": "sns:Subscribe",
"Resource": "YOUR_SNS_TOPIC_ARN"
}
]
}
Nota: Sustituye YOUR_SNS_TOPIC_ARN por el nombre de recurso de Amazon (ARN) de tu tema de Amazon SNS.
-
Adjunta la siguiente política basada en recursos a la política de acceso de tu tema que permita a la entidad de IAM ejecutar la acción de la API sns:Subscribe:
{
"Sid": "AllowIAMEntity",
"Effect": "Allow",
"Principal": {
"AWS": "YOUR_IAM_ENTITY_ARN "
},
"Action": "sns:Subscribe",
"Resource": "YOUR_SNS_TOPIC_ARN"
}
Nota: Sustituye YOUR_IAM_ENTITY_ARN por el ARN de tu entidad de IAM. Sustituye YOUR_SNS_TOPIC_ARN por el ARN de tu tema de Amazon SNS.
Acceso a la misma cuenta
Si la entidad de IAM está en la misma cuenta de AWS que tu tema de SNS, adjunta una política para conceder el permiso a la acción sns:Subscribe. Adjunta una política basada en la identidad o una política basada en recursos de los pasos anteriores.
Información relacionada
Uso de políticas basadas en identidades con Amazon SNS