2016-01-21 22 views
6

Come posso consentire a tutti i membri di un gruppo di assumere un ruolo in AWS IAM?Come posso consentire a un Gruppo di assumere un ruolo?

Ho provato a utilizzare la seguente istruzione ma come specificato in AWS IAM Principal Element, un gruppo non può essere un preside.

voglio ottenere qualcosa di simile di seguito:

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
    { 
     "Sid": "", 
     "Effect": "Allow", 
     "Principal": { 
     "AWS": "arn:aws:iam::***:group/developer" 
     }, 
     "Action": "sts:AssumeRole" 
    } 
    ] 
} 

L'idea è che tutti i membri del gruppo group/developer dovrebbero essere in grado di assumere il ruolo. L'obiettivo è che dovrei essere salvato dal dover specificare ogni membro in un gruppo individualmente.

C'è un modo per raggiungere questo obiettivo?

+0

Quale ruolo si desidera che assumano? Puoi fornire un ARN campione? –

+0

Il ruolo è chiamato così come sviluppatore: quindi l'ARN sarebbe qualcosa come "arn: aws: iam :: ***: role/developer' – Rentrop

risposta

1

Questo può essere fatto in un modo diverso. Ma non sono sicuro se questo è quello che vuoi.

1) Creare un criterio utilizzando create-policy.
2) Collegare il criterio al ruolo arn:aws:iam::***:role/developer utilizzando attach-role-policy.
3) Creare l'Group desiderato utilizzando create-group.
4) Collegare il criterio gestito specificato al Gruppo specificato utilizzando attach-group-policy.

Lo stesso può essere ottenuto tramite console AWS o AWS SDK invece di utilizzare CLI. Vedere Attaching a Policy to an IAM Group

In questo modo, non è necessario aggiungere i ruoli singolarmente a ciascun membro del gruppo.

1

Collegare un criterio al gruppo che concede il permesso di chiamare sts:AssumeRole sul ruolo desiderato:

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
     { 
      "Sid": "123", 
      "Effect": "Allow", 
      "Action": [ 
       "sts:AssumeRole" 
      ], 
      "Resource": [ 
       "arn:aws:iam::123456789012:role/desired-role" 
      ] 
     } 
    ] 
} 

Inoltre, allegare un Criteri di attendibilità sul ruolo. La politica di esempio (di seguito) si fida di qualsiasi utente nell'account, ma sarebbe necessario anche le autorizzazioni sts:AssumeRole (sopra) per assumere il ruolo.

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

questo è il modo di fare, ma la politica di fiducia si fida di tutti gli utenti nell'account , non specificamente quelli del gruppo IAM. Questo è controllato solo dal livello di risorse della politica, ma penso che Floo0 voglia specificare "solo gli utenti nel gruppo" nella relazione di trust, che non è possibile :( – Tom

+2

@John Rotenstein, grazie per la soluzione (+1 Dopo aver scavato un po 'più a fondo ho trovato anche questa soluzione e, come sottolinea Tom, la nostra soluzione "disabilita" la doppia sicurezza per l'assunzione di ruoli, specialmente per il ruolo di Cross-Account, supponendo che sia un po' "rischioso" ... – Rentrop

+0

Dovrai cambiare il principal per usare l'ARN del gruppo, suppongo che abbia appena copiato un esempio con l'utente ': root' consentito. – kgpdeveloper