2016-01-21 86 views
6

如何讓一個組的所有成員在AWS IAM中擔任角色?我如何讓一個團隊承擔角色?

我試着用下面的語句,但在AWS IAM Principal Element規定,一組不能是校長。

我想實現的東西象下面這樣:

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

的想法是,該組group/developer的所有成員都應該能夠承擔該角色。我的目標是,我應該保存起來,不必單獨指定一個組中的每個成員。

有沒有辦法做到這一點?

+0

你想要什麼樣的角色他們承擔?你能提供一個樣本ARN嗎? –

+0

角色被命名爲開發井:所以ARN會是這樣的'阿爾恩:AWS:IAM :: ***:角色/ developer' – Rentrop

回答

1

這可以用不同的方式完成。但是,不確定這是否是你想要的。

1)使用create-policy創建策略。
2)附加策略使用attach-role-policyarn:aws:iam::***:role/developer作用。
3)使用create-group創建預期的Group
4)使用attach-group-policy將指定的託管策略附加到指定的組。

相同可以通過AWS控制檯或AWS SDK,而不是使用CLI來實現。請參閱Attaching a Policy to an IAM Group

這樣,您就不必單獨添加的角色組中的每個成員。

1

附加政策,授予權限調用sts:AssumeRole所期望的作用集團

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

另外,附上信任策略上的角色。示例策略(如下)信任帳戶中的任何用戶,但他們還需要(上述)sts:AssumeRole權限才能擔任該角色。

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

這是做的方式,但信任策略信託帳戶中的所有用戶,並不特別是IAM組中的那些。這只是由政策的資源水平控制,但我認爲Floo0希望在信任關係中指定「只有組中的用戶」,這是不可能的:( – Tom

+2

@Johnson Rotenstein,感謝您的解決方案(+1 )在深入挖掘之後,我發現了這個解決方案,正如Tom指出的,我們這個解決方案「禁用」了假設角色的雙重安全性,特別是對於跨賬戶角色 - 假設我認爲這有點「風險」...... – Rentrop

+0

您必須更改主體才能使用該組的ARN,我想他只是複製了一個允許使用':root'用戶的示例。 – kgpdeveloper

相關問題