2017-09-26 119 views
1

我对AWS相当陌生我创建了一个角色,现在我发现我需要另一个角色。是否有加入多个角色来创建另一个角色或者我是否必须创建新的角色?Cloudformation和角色......但主要是角色

Resources: 
    ECROLE: 
    Type: AWS::IAM::Role 
    Properties: 
     AssumeRolePolicyDocument: 
     Version: '2012-10-17' 
     Statement: 
      - Effect: Allow 
      Principal: 
       Service: 
       - ec2.amazonaws.com 
      Action: 
       - sts:AssumeRole 
     ManagedPolicyArns: 
     - arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryPowerUser 

    EXTRAROLE: 
    Type: AWS::IAM::Role 
    Properties: 
     AssumeRolePolicyDocument: 
     Version: '2012-10-17' 
     Statement: 
      - Effect: Allow 
      Principal: 
      Service: 
      - ec2.amazonaws.com 
     Action: 
      - sts:AssumeRole 
     ManagedPolicyArns: 
     - arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryReadOnly 

    ECROLEINSTANCEPROFILE: 
    Type: "AWS::IAM::InstanceProfile" 
    Properties: 
     Path:/
     Roles: 
     - !Ref ECROLE 
I'd like to just add something here ...   - !Ref EXTRAROLE 
     InstanceProfileName: ECROLEINSTANCEPROFILE 

Outputs: 
    ECROLEKEY: 
    Description: Role to be used for interacting with ECR. 
    Value: !Ref ECROLE 
    Export: 
    Name: ECROLEOUTPUT 

在我已经把那种事情,我在想AWS :: IAM :: InstanceProfile”节......

感谢

+0

在IAM控制台中创建许多差异权限,将它们添加到您的实例的1个IAM角色。当你想添加更多时,只需修改该角色的权限即可。在CloudFormation中,对该角色的引用:“IamInstanceProfile”:{ “Ref”:“INSTANCE_Role_Name” },' –

+0

为什么你需要不同的角色?如果您需要不同的权限,则只能将策略附加到现有角色。它会符合你的要求吗? – Arora20

+0

是的。 1个实例只有1个角色配置文件。如果需要更多的权限,只需添加更多的权限/政策。 –

回答

0

AWS::IAM::InstanceProfileRoles物业目前仅限于恰好1个角色(见AWS::IAM::InstanceProfile Roles

创建一个新的角色将是你最好的选择。

若y您发现您在多个不同角色之间共享权限,然后创建可重用的托管策略将对此有所帮助。也就是说,在您的示例中,您已经在使用现有的托管策略。