¿Cómo puedo resolver los errores de autorización al intentar añadir suscriptores a un tema de Amazon SNS?

3 minutos de lectura
0

Recibo errores de autorización de AWS Identity and Access Management (IAM) al añadir suscriptores a mi tema de Amazon Simple Notification Service (Amazon SNS). ¿Cómo soluciono los errores?

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 puede 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 suscribir la acción de la API 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 edito mi política de acceso del 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

Realice una de las siguientes acciones, pero no ambas:

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».

-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.

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 La diferencia entre denegaciones explícitas e implícitas.


Información relacionada

Uso de políticas basadas en identidades con Amazon SNS

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 3 años