Usando AWS re:Post, accetti AWS re:Post Termini di utilizzo

Come posso utilizzare le variabili della policy IAM con utenti federati?

2 minuti di lettura
0

Quando utilizzo l'API GetFederationToken per generare credenziali temporanee, la variabile della policy ${aws:userName} non funziona.

Soluzione

Quando l'elemento Principal è un utente federato, la variabile della policy ${aws:userName} AWS Identity and Access Management (IAM) non è presente nella richiesta. Utilizza invece la variabile della policy ${aws:userID} con le chiamate API GetFederationToken. Per ulteriori informazioni, consulta Dove è possibile utilizzare le variabili della policy.

Nel seguente esempio di policy JSON, la variabile di policy ${aws:userName} viene sostituita dalla variabile della policy ${aws:userID}:

{   "Version":"2012-10-17",
   "Statement":[
      {
         "Sid":"AllowListingOfUserFolder",
         "Action":[
            "s3:ListBucket"
         ],

         "Effect":"Allow",

         "Resource":[
            "arn:aws:s3:::TESTBUCKET"
         ],
         "Condition":{
            "StringLike":{
               "s3:prefix":[
                  "TESTBUCKET/${aws:userid}/*"
               ]
            }
         }
      },
      {
         "Sid":"AllowAllS3ActionsInUserFolder",
         "Action":[
            "s3:PutObject",
            "s3:GetObject",
            "s3:GetObjectVersion",
            "s3:DeleteObject"
         ],
         "Effect":"Allow",
         "Resource":[
            "arn:aws:s3:::TESTBUCKET/${aws:userid}/*"
         ]
      }
   ]
}

Il valore della variabile aws:userid deve essere ACCOUNTNUMBER:caller-specified-name.

Il valore del parametro Name per le chiamate API GetFederationToken deve seguire le linee guida GetFederationToken. Ad esempio, se si specifica il nome descrittivo Bob, il formato corretto è 123456789102:Bob. Questo formato assegna un nome alla sessione e consente l'accesso al bucket Amazon Simple Storage Service (Amazon S3) con un prefisso corrispondente.

Nota: l'esempio precedente presuppone che il nome descrittivo specificato dal chiamante della variabile aws:userid sia un identificatore univoco. Un nome descrittivo univoco non consente a un altro utente con lo stesso nome descrittivo di accedere alle risorse specificate nella policy JSON.

Informazioni correlate

Autorizzazioni per GetFederationToken

Elementi della policy IAM: variabili e tag

Identificatori IAM

AWS UFFICIALE
AWS UFFICIALEAggiornata un anno fa