Salta al contenuto

Come posso risolvere l'errore di autorizzazione all'assegnazione di tag nel mio stack CloudFormation?

3 minuti di lettura
0

Desidero risolvere l'errore di autorizzazione all'assegnazione di tag che ricevo quando il mio stack AWS CloudFormation genera errori.

Risoluzione

Nota: se ricevi errori quando esegui i comandi dell'Interfaccia della linea di comando AWS (AWS CLI), consulta Risoluzione degli errori per AWS CLI. Inoltre, assicurati di utilizzare la versione più recente di AWS CLI.

Se provi a creare, aggiornare o eliminare una risorsa negli stack di CloudFormation senza le autorizzazioni all'assegnazione di tag corrette, le operazioni dello stack generano errori. Per risolvere il problema, devi concedere le autorizzazioni all'assegnazione di tag necessarie al principale AWS Identity and Access Management (AWS IAM).

Identifica il ruolo e l'operazione API che hanno generato l'errore

Per le risorse Amazon Elastic Compute Cloud (Amazon EC2), decodifica il messaggio di errore di autorizzazione codificato. Per identificare il ruolo e l'operazione API che hanno generato l'errore, esegui questo comando AWS CLI decode-authorization-message.

aws sts decode-authorization-message --encoded-message example-encoded-message --example-region

Nota: sostituisci example-encoded-message con il tuo messaggio codificato e example-region con la tua Regione AWS.

Per altre risorse non correlate ad Amazon EC2, consulta la pagina degli eventi dello stack per visualizzare il ruolo e l'API che hanno generato l'errore.

Aggiungi le autorizzazioni mancanti all'entità IAM

Per trovare il principale IAM che utilizzi per le operazioni di assegnazione di tag, completa i seguenti passaggi:

  1. Apri la console CloudFormation.
  2. Nel pannello di navigazione, scegli Stack.
  3. Seleziona il nome dello stack, quindi, nella sezione Panoramica, annota l'ID dello stack.

Se disponi di un nome della risorsa Amazon (ARN) per un ruolo IAM elencato, CloudFormation utilizza il ruolo per gestire e assegnare tag alle risorse.

Se non disponi di un ARN per un ruolo IAM elencato, controlla la cronologia degli eventi dello stack CloudFormation. Completa i seguenti passaggi:

  1. Apri la console AWS CloudTrail.
  2. Nel pannello di navigazione, scegli Cronologia degli eventi.
  3. Per Attributi di ricerca, scegli Nome risorsa, quindi inserisci l'ID dello stack nella casella di ricerca.<br id=hardline_break/> Nota: la cronologia degli eventi include gli eventi degli ultimi 90 giorni. Se la ricerca dell'ID dello stack non mostra eventi, aggiorna lo stack.
  4. Nell'elenco Cronologia eventi, seleziona il nome del primo evento.

Se il campo per il tipo userIdentity è IAMUser, il principale nel campo arn gestisce la risorsa. Se il campo per il tipo userIdentity è Role, CloudFormation utilizza il principale nel campo arn sotto sessionIssuer.

Concedi le autorizzazioni all'assegnazione di tag nella policy IAM

Quando un servizio infrastructure as code (IaC) gestisce un principale IAM, è necessario aggiornare la relativa policy IAM con lo stesso servizio IaC.

per concedere le autorizzazioni all'assegnazione di tag utilizzando la console IAM, crea una nuova policy inline o aggiorna una policy esistente.

Per configurare le autorizzazioni all'assegnazione di tag del principale IAM, puoi anche eseguire questo comando AWS CLI put-role-policy:

aws iam put-role-policy ---role-name example-role-name --policy-name example-policy --policy-document file://AdminPolicy.json

Nota: sostituisci example-role-name con il nome del tuo ruolo, example-policy con il nome della tua policy e AdminPolicy.json con il documento JSON della tua policy. Il nome e l'estensione del file non sono importanti.

Inoltre, puoi abbinare i tag del modello CloudFormation ai tag delle risorse per mantenere un'infrastruttura coerente.