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.

Risoluzione

Quando usi l'API GetFederationToken, usa la variabile della policy ${aws:userID} anziché la variabile della policy ${aws:userName}. Questo perché la variabile ${aws:userName} non è presente se il principale è un utente federato. Per ulteriori informazioni, consulta dove puoi utilizzare le variabili della policy.

Il seguente JSON policy IAM fornisce un esempio in cui la variabile della policy ${aws:userName} è stata sostituita con la 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".

Quando si chiama l'API GetFederationToken, il valore del parametro Nome deve seguire le linee guida stabilite in GetFederationToken. Ad esempio, se si specifica il nome descrittivo Bob, il formato corretto è “123456789102:Bob”. Assegna un nome alla sessione e consente l'accesso al bucket Amazon Simple Storage Service (Amazon S3) con un prefisso corrispondente.

**Nota:**Questo esempio presuppone che la parte relativa al nome (nome descrittivo) specificata dal chiamante della variabile aws:userid sia univoca. Un nome descrittivo univoco impedisce lo scenario in cui a un altro utente con lo stesso nome descrittivo non viene concesso l'accesso alle risorse specificate nella policy JSON. Per ulteriori informazioni, consulta Identificatori univoci.


Informazioni correlate

Autorizzazioni per GetFederationToken

Distributore automatico di token per la registrazione dell'identità, esempio di applicazione web java

Elementi della policy IAM: variabili e tag

Identificatori IAM

AWS UFFICIALE
AWS UFFICIALEAggiornata 2 anni fa