Come posso decodificare un messaggio di errore di autorizzazione codificato per AWS Backup?

2 minuti di lettura
0

Desidero decodificare un messaggio di stato di autorizzazione codificato per AWS Backup.

Breve descrizione

Un messaggio è codificato perché i dettagli dello stato dell'autorizzazione potrebbero contenere informazioni privilegiate che l'utente che ha richiesto l'operazione non può vedere. Un messaggio decodificato include il seguente tipo di informazioni:

Ad esempio, se un utente non è autorizzato a eseguire un'operazione richiesta, la richiesta restituisce una risposta Client.UnauthorizedOperation (una risposta HTTP 403). Alcune operazioni AWS restituiscono anche un messaggio codificato che può fornire dettagli su un errore di autorizzazione.

Soluzione

Prerequisito: è necessario disporre dell'autorizzazione sts:DecodeAuthorizationMessage AWS Identity and Access Management (IAM) per decodificare un messaggio di stato di autorizzazione.

Per decodificare un messaggio di stato di autorizzazione, utilizzare l’interfaccia della linea di comando AWS (AWS CLI) per eseguire il comando decode-authorization-message. Il seguente è un esempio di comando:

Suggerimento: Se utilizzi un sistema operativo basato su Linux, puoi combinare questo comando con l'utilità jq (scaricabile dal sito Web di GitHub) per visualizzare un output intuitivo.

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

Nota: vengono visualizzati errori durante l'esecuzione dei comandi dell’interfaccia della riga di comando AWS, assicurarsi di utilizzare la versione più recente della stessa.

Di seguito è riportato un esempio di output del comando precedente:

{  
"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": [  

…..  

}

L'output di esempio mostra che il ruolo di ripristino è AWSBackupDefaultServiceRole. Il ruolo di ripristino deve disporre dell'autorizzazione iam:PassRole in modo da poter interagire con il ruolo AmazonSSMRoleForInstancesQuickSetup necessario per ripristinare l'istanza. Per risolvere questo problema di esempio, utilizzare la policy IAM per aggiungere le autorizzazioni per il ruolo IAM.

Informazioni correlate

Come posso risolvere i processi di ripristino Amazon EC2 non riusciti utilizzando AWS Backup?

AWS UFFICIALE
AWS UFFICIALEAggiornata 10 mesi fa