Salta al contenuto

Come posso risolvere l'errore "Has prohibited field Principal" che ricevo quando creo o aggiorno una policy IAM?

2 minuti di lettura
0

Desidero risolvere l'errore "Has prohibited field Principal" che ricevo quando creo o aggiorno la mia policy AWS Identity and Access Management (IAM).

Risoluzione

Se una policy IAM basata sull'identità include l'elemento Principale, ricevi l'errore "Has prohibited field Principal". Puoi utilizzare l'elemento Principale solamente nelle policy basate sulle risorse per controllare l'identità IAM a cui è consentito accedere alla risorsa. Non hai bisogno di utilizzare l'elemento Principale in una policy basata sull'identità perché la colleghi alle identità IAM.

Assicurati di creare la policy basata sulle risorse nel servizio AWS associato alla risorsa. Per verificare se un servizio AWS utilizza policy basate sulle risorse, consulta Servizi AWS che funzionano con IAM.

L'unica policy basata sulle risorse che puoi creare per un ruolo in IAM è una policy di attendibilità. Per aggiungere o rimuovere le autorizzazioni per il ruolo IAM, assicurati di aggiornare la policy di attendibilità del ruolo anziché la policy delle autorizzazioni.

Esempio di policy di attendibilità del ruolo:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:root"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}

Esempio di policy delle autorizzazioni:

{
  "Version": "2012-10-17",
  "Statement": {
    "Effect": "Allow",
    "Action": "sts:AssumeRole",
    "Resource": "arn:aws:iam::111122223333/Test"
  }
}

Informazioni correlate

Policy basate sull'identità e policy basate sulle risorse

Come posso usare IAM per accedere alle risorse in un altro account AWS?

Concedere le autorizzazioni agli utenti per cambiare ruoli