¿Cómo puedo decodificar un mensaje de error de autorización codificado para AWS Backup?

3 minutos de lectura
0

Quiero decodificar un mensaje de estado de autorización codificado para AWS Backup.

Breve descripción

Un mensaje está codificado porque los detalles del estado de autorización pueden contener información confidencial que el usuario que solicitó la operación no puede ver. Un mensaje decodificado incluye el siguiente tipo de información:

  • Si la solicitud fue denegada debido a una denegación explícita o a la ausencia de un permiso explícito. Para obtener más información, consulte Cómo determinar si se una solicitud se permite o se deniega dentro de una cuenta.
  • La entidad principal que hizo la solicitud.
  • La acción solicitada.
  • El recurso solicitado.
  • Los valores de las claves de condiciones en el contexto de la solicitud del usuario.

Por ejemplo, si un usuario no está autorizado a realizar una operación que ha solicitado, la solicitud devuelve una respuesta Client.UnauthorizedOperation (una respuesta HTTP 403). Algunas operaciones de AWS también devuelven un mensaje codificado que puede proporcionar detalles sobre un error de autorización.

Resolución

Requisito previo: Debe tener el permiso sts:DecodeAuthorizationMessage de AWS Identity and Access Management (IAM) para decodificar un mensaje de estado de autorización.

Para decodificar un mensaje de estado de autorización, utilice la interfaz de la línea de comandos de AWS (AWS CLI) para ejecutar el comando decode-authorization-message. El siguiente es un ejemplo del comando:

Consejo: Si utiliza un sistema operativo basado en Linux, puede combinar este comando con la utilidad jq (del sitio web de GitHub) para ver una salida de fácil visualización.

aws sts decode-authorization-message --encoded-message (encoded error message) --query DecodedMessage --output text | jq '.'

Nota: Si recibe errores al ejecutar los comandos de la AWS CLI, asegúrese de utilizar la versión más reciente de la AWS CLI.

A continuación se muestra un ejemplo de salida del comando anterior:

{  
"allowed": false,  

…..  

"context": {  
"principal": {  
"id": "AROAAAAAAAAAA:AWSBackup-AWSBackupDefaultServiceRole",  
"arn": "arn:aws:sts::111122223333:assumed-role/AWSBackupDefaultServiceRole/AWSBackup-AWSBackupDefaultServiceRole"  
},  
"action": "iam:PassRole",  
"resource": "arn:aws:iam::111122223333:role/AmazonSSMRoleForInstancesQuickSetup",  
"conditions": {  
"items": [  

…..  

}

La salida del ejemplo muestra que el rol de restauración es AWSBackupDefaultServiceRole. El rol de restauración debe tener el permiso iam:PassRole para poder interactuar con el rol AmazonSSMRoleForInstancesQuickSetup necesario para restaurar la instancia. Para resolver este ejemplo de problema, utilice la política de IAM para agregar permisos al rol de IAM.

Información relacionada

¿Cómo soluciono el fallo al recuperar los trbajados en Amazon EC2 usando un copia de respaldo AWS?

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 10 meses