Quero decodificar uma mensagem de status de autorização codificada para o AWS Backup.
Breve descrição
Uma mensagem é codificada porque os detalhes do status da autorização podem conter informações privilegiadas que o usuário que solicitou a operação não pode ver. Uma mensagem decodificada inclui o seguinte tipo de informação:
- Se a solicitação foi negada devido a uma negação explícita ou pela ausência de uma permissão explícita. Para mais informações, consulte Determinar se uma solicitação é permitida ou negada em uma conta.
- O diretor que fez a solicitação.
- A ação solicitada.
- O recurso solicitado.
- Os valores das chaves de condições no contexto da solicitação do usuário.
Por exemplo, se um usuário não estiver autorizado a realizar uma operação solicitada, a solicitação retornará uma resposta client.unauthorizedOperation (uma resposta HTTP 403). Algumas operações da AWS também retornam uma mensagem codificada que pode fornecer detalhes sobre uma falha de autorização.
Resolução
**Pré-requisito:Você deve ter a permissão ** STS:DecodeAuthorizationMessage AWS Identity and Access Management (IAM) para decodificar uma mensagem de status de autorização.
Para decodificar uma mensagem de status de autorização, use a AWS Command Line Interface (AWS CLI) para executar o comando decode-authorization-message. Veja um exemplo a seguir:
**Dica:**Se você estiver usando um sistema operacional baseado em Linux, poderá combinar esse comando com o utilitário jq (do site do GitHub) para ver uma saída amigável para o visualizador.
aws sts decode-authorization-message --encoded-message (encoded error message) --query DecodedMessage --output text | jq '.'
Observação: se receber erros ao executar comandos da AWS CLI, verifique se você está usando a versão mais recente da AWS CLI.
Veja a seguir um exemplo de saída do 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": [
…..
}
O exemplo de saída mostra que a função de restauração é AWSBackupDefaultServiceRole. A função de restauração deve ter a permissão iam:passRole para poder interagir com a função AmazonSSMRoleForInstancesQuickSetup necessária para restaurar o caso. Para resolver esse problema de exemplo, use a política do IAM para adicionar permissões para o perfil do IAM.
Informações relacionadas
Como soluciono problemas em trabalhos de restauração do Amazon EC2 usando o AWS Backup?