0

cloudfromation에있는 모든 사용자에게 어떤 정책을 첨부 할 수있는 방법이 있습니까? aws js를 통해 스택을 만들 때 Principal을 가진 스택 정책 문서를 "*"으로 전달할 수 있습니다. 그러나 cloudformation 템플릿 내에 AWS :: IAM :: Policy를 만들면 역할, 사용자 또는 그룹을 제공해야하며 "*"이 작동하지 않습니다. 또는 중첩 스택에 정책 문서를 첨부하려면 어떻게해야합니까?AWS :: IAM :: 모든 사용자를위한 정책

+0

저는 혼란 스럽습니다. 중첩 된 클라우드 정보 스택에 스택 업데이트 정책을 적용하는 방법에 대해 묻고 있습니까? 아니면 IAM uasers에 적용되는 정책을 클라우드 정보로 만들려고합니까? –

+0

중첩 스택 생성 후 aws js sdk를 통해 업데이트 정책을 첨부하여이 문제를 해결했습니다. – ne1s

답변

0

중첩 된 CloudFormation 스택은 상위 스택과 동일한 스택 정책 문서를 사용합니다. 스택 문서는 스택 스택을 만들거나 업데이트 할 때 AWS Console 또는 API를 통해 지정합니다 (예 : 언급 한 것처럼 AWS SDK for JS 사용). documented으로 스택 정책 문서의 경우 Principal 요소가 필요하지만 와일드 카드 (*) 만 지원합니다.

문서에 Prevent Updates to Nested Stacks 예에 설명 된대로 추가, ResourceTypeAWS::CloudFormation::Stack 동일 Condition로 문을 추가하여 중첩 된 스택에 대한 작업을 제한 할 수 있습니다

{ 
    "Statement" : [ 
    { 
     "Effect" : "Deny", 
     "Action" : "Update:*", 
     "Principal": "*", 
     "Resource" : "*", 
     "Condition" : { 
     "StringEquals" : { 
      "ResourceType" : ["AWS::CloudFormation::Stack"] 
     } 
     } 
    }, 
    { 
     "Effect" : "Allow", 
     "Action" : "Update:*", 
     "Principal": "*", 
     "Resource" : "*" 
    } 
    ] 
} 

AWS::IAM::Policy 자원이 특정 use- 관련이 중첩 스택에 대한 정책을 지정했지만 참조 용으로 AWS::IAM::Policy은 사용자 또는 그룹에 첨부하는 정책을 만듭니다.이 정책은 설명서에 설명 된대로 Principal 요소를 지정할 수 없습니다.

IAM 사용자 및 그룹에 첨부하는 정책에서 Principal 요소를 사용하지 마십시오. 마찬가지로 IAM 역할에 대한 액세스 정책에 주체를 지정하지 않습니다. 이 경우 보안 주체는 정책이 (IAM 사용자의 경우) 또는 역할을 맡은 사용자 (역할 액세스 정책의 경우)에 첨부 된 사용자입니다. 정책이 IAM 그룹에 연결되면 주체는 요청을하는 해당 그룹의 IAM 사용자입니다.

0

내가하는 일은 동일한 (또는 다른) 계정에 대한 신뢰 관계 정책입니다. 그것은 루트를 말하지만 사실은 전체 계정에 적용됩니다 :

{ 
    "Statement": [ 
    { 
     "Effect": "Allow", 
     "Principal": { 
     "AWS": "arn:aws:iam::123ACCNO4567:root" 
     }, 
     "Action": "sts:AssumeRole", 
     "Condition": { 
     "Bool": { 
      "aws:MultiFactorAuthPresent": "true" 
     } 
     } 
    } 
    ] 
} 
관련 문제