AWS Control Tower 타워에 대한 자격 증명 기반 정책 (IAM 정책) 사용 - AWS Control Tower

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

AWS Control Tower 타워에 대한 자격 증명 기반 정책 (IAM 정책) 사용

이 주제에서는 자격 증명 기반 정책의 예를 통해 계정 관리자가 권한 정책을 IAM 자격 증명 (즉, 사용자, 그룹 및 역할) 에 연결함으로써 AWS Control Tower 리소스에서 작업을 수행할 권한을 부여하는 방법을 보여 줍니다.

중요

AWS Control Tower 리소스에 대한 액세스 관리를 위해 제공되는 기본 개념과 옵션 설명이 나온 소개 주제 부분을 먼저 읽는 것이 좋습니다. 자세한 정보는 AWS Control Tower 리소스에 대한 액세스 권한 관리 개요을 참조하세요.

AWS Control To

AWS Control Tower 타워는 landing zone 존을 설정하면 자동으로 세 가지 역할을 생성합니다. 콘솔 액세스를 허용하려면 세 가지 역할 모두 필요합니다. AWS Control Tower는 권한을 세 가지 역할로 분할하여 최소한의 작업 및 리소스 세트에 대한 액세스를 제한하는 모범 사례입니다.

이러한 역할에 대한 역할 신뢰 정책에 대한 액세스를 제한하는 것이 좋습니다. 자세한 정보는 역할 신뢰 관계를 위한 선택적 조건을 참조하세요.

AWSControlTowerAdmin 역할

이 역할을 통해 AWS Control Tower는 landing zone 유지 관리에 중요한 인프라에 액세스할 수 있습니다. AWSControlTowerAdmin역할에는 연결된 관리형 정책과 IAM 역할에 대한 역할 신뢰 정책이 필요합니다. 역할 신뢰 정책은 역할을 위임할 수 있는 보안 주체를 지정하는 리소스 기반 정책입니다.

이 역할에 대한 관리형 정책:AWSControlTowerServiceRolePolicy

AWSControlTowerServiceRolePolicy

AWSControlTowerServiceRolePolicyAWS관리형 정책은 스택AWS CloudFormation 세트 및 스택 인스턴스,AWS CloudTrail 로그 파일, AWS Control Tower 타워용 구성 애그리게이터,AWS Organizations 계정과 같은 AWS Control Tower 리소스를 생성하고 관리할 수 있는 권한을 정의합니다.AWS Control Tower 타워에서 관리하는 조직 단위 (OU).

이 관리형 정책에 대한 업데이트는 표에 요약되어AWS Control Tower의 관리형 정책 있습니다.

관리형 정책 이름:AWSControlTowerServiceRolePolicy

의 JSONAWSControlTowerServiceRolePolicy 아티팩트는 다음과 같습니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudformation:CreateStack", "cloudformation:CreateStackInstances", "cloudformation:CreateStackSet", "cloudformation:DeleteStack", "cloudformation:DeleteStackInstances", "cloudformation:DeleteStackSet", "cloudformation:DescribeStackInstance", "cloudformation:DescribeStacks", "cloudformation:DescribeStackSet", "cloudformation:DescribeStackSetOperation", "cloudformation:ListStackInstances", "cloudformation:UpdateStack", "cloudformation:UpdateStackInstances", "cloudformation:UpdateStackSet" ], "Resource": [ "arn:aws:cloudformation:*:*:type/resource/AWS-IAM-Role" ] }, { "Effect": "Allow", "Action": [ "cloudformation:CreateStack", "cloudformation:CreateStackInstances", "cloudformation:CreateStackSet", "cloudformation:DeleteStack", "cloudformation:DeleteStackInstances", "cloudformation:DeleteStackSet", "cloudformation:DescribeStackInstance", "cloudformation:DescribeStacks", "cloudformation:DescribeStackSet", "cloudformation:DescribeStackSetOperation", "cloudformation:GetTemplate", "cloudformation:ListStackInstances", "cloudformation:UpdateStack", "cloudformation:UpdateStackInstances", "cloudformation:UpdateStackSet" ], "Resource": [ "arn:aws:cloudformation:*:*:stack/AWSControlTower*/*", "arn:aws:cloudformation:*:*:stack/StackSet-AWSControlTower*/*", "arn:aws:cloudformation:*:*:stackset/AWSControlTower*:*", "arn:aws:cloudformation:*:*:stackset-target/AWSControlTower*/*" ] }, { "Effect": "Allow", "Action": [ "cloudtrail:CreateTrail", "cloudtrail:DeleteTrail", "cloudtrail:GetTrailStatus", "cloudtrail:StartLogging", "cloudtrail:StopLogging", "cloudtrail:UpdateTrail", "cloudtrail:PutEventSelectors", "logs:CreateLogStream", "logs:PutLogEvents", "logs:PutRetentionPolicy" ], "Resource": [ "arn:aws:logs:*:*:log-group:aws-controltower/CloudTrailLogs:*", "arn:aws:cloudtrail:*:*:trail/aws-controltower*" ] }, { "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::aws-controltower*/*" ] }, { "Effect": "Allow", "Action": [ "sts:AssumeRole" ], "Resource": [ "arn:aws:iam::*:role/AWSControlTowerExecution" "arn:aws:iam::*:role/AWSControlTowerBlueprintAccess" ] }, { "Effect": "Allow", "Action": [ "cloudtrail:DescribeTrails", "ec2:DescribeAvailabilityZones", "iam:ListRoles", "logs:CreateLogGroup", "logs:DescribeLogGroups", "organizations:CreateAccount", "organizations:DescribeAccount", "organizations:DescribeCreateAccountStatus", "organizations:DescribeOrganization", "organizations:DescribeOrganizationalUnit", "organizations:DescribePolicy", "organizations:ListAccounts", "organizations:ListAccountsForParent", "organizations:ListAWSServiceAccessForOrganization", "organizations:ListChildren", "organizations:ListOrganizationalUnitsForParent", "organizations:ListParents", "organizations:ListPoliciesForTarget", "organizations:ListTargetsForPolicy", "organizations:ListRoots", "organizations:MoveAccount", "servicecatalog:AssociatePrincipalWithPortfolio" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "iam:GetRole", "iam:GetUser", "iam:ListAttachedRolePolicies", "iam:GetRolePolicy" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": [ "arn:aws:iam::*:role/service-role/AWSControlTowerStackSetRole", "arn:aws:iam::*:role/service-role/AWSControlTowerCloudTrailRole", "arn:aws:iam::*:role/service-role/AWSControlTowerConfigAggregatorRoleForOrganizations" ] }, { "Effect": "Allow", "Action": [ "config:DeleteConfigurationAggregator", "config:PutConfigurationAggregator", "config:TagResource" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/aws-control-tower": "managed-by-control-tower" } } }, { "Effect": "Allow", "Action": [ "organizations:EnableAWSServiceAccess", "organizations:DisableAWSServiceAccess" ], "Resource": "*", "Condition": { "StringLike": { "organizations:ServicePrincipal": [ "config.amazonaws.com", "cloudtrail.amazonaws.com" ] } } }, { "Effect": "Allow", "Action": "iam:CreateServiceLinkedRole", "Resource": "*", "Condition": { "StringEquals": { "iam:AWSServiceName": "cloudtrail.amazonaws.com" } } } ] }

역할 신뢰 정책

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "controltower.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }

인라인 정책은AWSControlTowerAdminPolicy 다음과 같습니다.

{ "Version": "2012-10-17", "Statement": [ { "Action": "ec2:DescribeAvailabilityZones", "Resource": "*", "Effect": "Allow" } ] }

AWSControlTowerStackSetRole

AWS CloudFormation이 역할을 맡아 AWS Control Tower 타워에서 생성한 계정에 스택 세트를 배포합니다. 인라인 정책:

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

AWSControlTowerCloudTrailRole

AWS Control Tower는 모범 CloudTrail 사례로서 이 역할을 수행할 수 있도록 지원합니다 CloudTrail. CloudTrail이 역할을 맡아 CloudTrail 로그를 만들고 게시합니다. 인라인 정책:

{ "Version": "2012-10-17", "Statement": [ { "Action": "logs:CreateLogStream", "Resource": "arn:aws:logs:*:*:log-group:aws-controltower/CloudTrailLogs:*", "Effect": "Allow" }, { "Action": "logs:PutLogEvents", "Resource": "arn:aws:logs:*:*:log-group:aws-controltower/CloudTrailLogs:*", "Effect": "Allow" } ] }

AWSControlTowerBlueprintAccess 역할 요구 사항

AWS Control Tower를 사용하려면 동일한 조직 내에서 지정된 블루프린트 허브 계정에서AWSControlTowerBlueprintAccess 역할을 생성해야 합니다.

역할 이름

역할 이름은 이어야 합니다AWSControlTowerBlueprintAccess.

역할 신뢰 정책

역할은 다음 주도자를 신뢰하도록 설정되어야 합니다.

  • 관리 계정에서 AWS Control Tower 타워를 사용하는 보안 주체.

  • 관리 계정에서의AWSControlTowerAdmin 역할.

다음 예는 최소 권한 신뢰 정책을 보여줍니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::ManagementAccountId:role/AWSControlTowerAdmin", "arn:aws:iam::ManagementAccountId:role/YourControlTowerUserRole" ] }, "Action": "sts:AssumeRole", "Condition": {} } ] }

역할 권한

관리형 정책을 역할에 AWSServiceCatalogAdminFullAccess연결해야 합니다.

AWS Control Tower의 관리형 정책

AWS는 AWS에서 생성하고 관리하는 독립형 IAM 정책을 제공하여 많은 일반 사용 사례를 처리합니다. 관리형 정책은 사용자가 필요한 권한을 조사할 필요가 없도록 일반 사용 사례에 필요한 권한을 부여합니다. 자세한 내용은 IAM 사용 설명서AWS 관리형 정책을 참조하세요.

변경 사항 설명 날짜

AWSControlTowerServiceRolePolicy - 기존 정책에 대한 업데이트

AWS Control Tower는 하나 이상의Service Catalog 제품에 저장된 사전 정의된 청사진을 포함하는 조직의 전용 계정인 블루프린트 (허브) 계정에서 AWS Control Tower가AWSControlTowerBlueprintAccess 역할을 맡을 수 있는 새로운 권한을 추가했습니다. AWS Control Tower는 세 가지 작업, 즉 Service Catalog 포트폴리오 생성, 요청된 청사진 제품 추가, 계정 프로비저닝 시 요청된 멤버 계정에 포트폴리오 공유라는 세 가지 작업을 수행하는AWSControlTowerBlueprintAccess 역할을 맡습니다.

이러한 변경은 고객이 AWS Control Tower 어카운트 팩토리를 통해 맞춤형 계정을 프로비저닝할 수 있도록 하기 위해 필요합니다.

2022년 10월 28일

AWSControlTowerServiceRolePolicy - 기존 정책에 대한 업데이트

AWS Control Tower는 landing zone 버전 3.0부터 고객이 조직 수준의AWS CloudTrail 트레일을 설정할 수 있는 새로운 권한을 추가했습니다.

조직 기반 CloudTrail 기능을 사용하려면 고객이 CloudTrail 서비스에 대해 신뢰할 수 있는 액세스를 활성화해야 하며, IAM 사용자 또는 역할에는 관리 계정에서 조직 수준의 트레일을 생성할 수 있는 권한이 있어야 합니다.

2022년 6월 20일

AWSControlTowerServiceRolePolicy - 기존 정책에 대한 업데이트

AWS Control Tower 타워는 고객이 KMS 키 암호화를 사용할 수 있는 새로운 권한을 추가했습니다.

KMS 기능을 통해 고객은 자체 KMS 키를 제공하여 CloudTrail 로그를 암호화할 수 있습니다. 또한 고객은 landing zone 업데이트 또는 수리 중에 KMS 키를 변경할 수 있습니다. KMS 키를 업데이트할 때는AWS CloudTrailPutEventSelector API를 호출할 수 있는 권한이AWS CloudFormation 필요합니다. 정책 변경은 AWSControlTowerAdmin역할이AWS CloudTrailPutEventSelector API를 호출할 수 있도록 하기 위한 것입니다.

2021년 7월 28일

AWS Control Tower

AWS Control Tower는AWS 관리형 정책에 대한 변경 내용 추적을 시작했습니다.

2021년 5월 27일