Concessione delle autorizzazioni per creare credenziali di sicurezza temporanee - AWS Identity and Access Management

Concessione delle autorizzazioni per creare credenziali di sicurezza temporanee

Per impostazione predefinita, gli utenti IAM non dispongono dell'autorizzazione per creare credenziali di sicurezza temporanee per ruoli e sessioni di utenti federati AWS STS. È necessario utilizzare una policy per fornire queste autorizzazioni agli utenti. Anche se è possibile concedere le autorizzazioni direttamente a un utente, ti consigliamo caldamente di assegnarle a un gruppo. In questo modo la gestione delle autorizzazioni risulta molto più semplice. Quando un utente non ha più bisogno di eseguire le operazioni associate alle autorizzazioni, non dovrai fare altro che rimuoverlo dal gruppo. Se un'altra persona si trova nella necessità di eseguire tale operazione, sarà sufficiente aggiungerla al gruppo per concederle le autorizzazioni.

Per concedere a un gruppo IAM l'autorizzazione per creare credenziali di sicurezza temporanee per ruoli o sessioni di utenti federati AWS STS, puoi collegare una policy che conceda uno o entrambi i seguenti privilegi:

  • Per consentire ai principali federati OIDC e SAML di accedere a un ruolo IAM, concedi l'accesso a AWS STS AssumeRole.

  • Per gli utenti federati AWS STS che non necessitano di un ruolo, concedi l'accesso a AWS STS GetFederationToken.

Per informazioni sulle differenze fra le operazioni API AssumeRole e GetFederationToken, consultare Richiedere credenziali di sicurezza temporanee.

Per creare le credenziali di sicurezza temporanee, gli utenti IAM possono chiamare anche GetSessionToken. Non sono necessarie autorizzazioni perché un utente possa chiamare GetSessionToken. Lo scopo dell'operazione è autenticare l'utente tramite MFA. Non è possibile utilizzare le policy per controllare l'autenticazione. Ciò significa che non puoi impedire agli utenti IAM di chiamare GetSessionToken per creare le credenziali temporanee.

Esempio di policy che concede autorizzazioni per assumere un ruolo

La policy dell'esempio seguente concede l'autorizzazione per richiamare AssumeRole per il ruolo UpdateApp nell'Account AWS 123123123123. Quando si usa AssumeRole, l'utente (o l'applicazione) che crea le credenziali di sicurezza per conto di un utente federato non è in grado di delegare autorizzazioni che non siano già state specificate nella policy di autorizzazione del ruolo.

JSON
{ "Version":"2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::123123123123:role/UpdateAPP" }] }
Esempio di policy che concede l'autorizzazione per creare credenziali di sicurezza temporanee per un utente federato.

La policy dell'esempio seguente concede l'autorizzazione per l'accesso a GetFederationToken.

JSON
{ "Version":"2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "sts:GetFederationToken", "Resource": "*" }] }
Importante

Quando si autorizzano utenti IAM a creare credenziali di sicurezza temporanee per gli utenti federati AWS STS con GetFederationToken, tieni a mente che tali utenti avranno la possibilità di delegare le proprie autorizzazioni. Per ulteriori informazioni sulla delega delle autorizzazioni fra i vari utenti IAM e gli Account AWS, consulta Esempi di policy per la delega dell'accesso. Per informazioni sul controllo delle autorizzazioni nelle credenziali di sicurezza provvisorie, vedi Autorizzazioni per le credenziali di sicurezza temporanee.

Esempio di policy che concede a un utente autorizzazioni limitate per creare credenziali di sicurezza temporanee per utenti federati.

Quando si consente a un utente IAM di chiamare GetFederationToken, una best practice consiste nel limitare le autorizzazioni che l'utente IAM può delegare. Ad esempio, la policy di seguito mostra come consentire a un utente IAM di creare credenziali di sicurezza temporanee solo per gli utenti federati AWS STS il cui nome inizia con Manager.

JSON
{ "Version":"2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "sts:GetFederationToken", "Resource": ["arn:aws:sts::123456789012:federated-user/Manager*"] }] }