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

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

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

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

중요

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

AWS Control Tower 콘솔 사용에 필요한 권한

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

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

AWSControlTowerAdmin 역할

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

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

AWSControlTowerServiceRolePolicyAWS 관리형 정책은 AWS와 같은 AWS Control Tower 리소스를 생성하고 관리할 권한을 정의합니다. CloudFormation 스택세트 및 스택 인스턴스, AWS CloudTrail 로그 파일, AWS Control Tower 타워의 구성 수집기, AWS Control Tower 가 관리하는 AWS Organizations 계정 및 조직 단위 (OU) 도 포함됩니다.

AWSControlTowerServiceRolePolicy

관리형 정책 이름:AWSControlTowerServiceRolePolicy

에 대한 JSON 아티팩트AWSControlTowerServiceRolePolicy다음은 다음과 같습니다.

{ "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" ] }, { "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", "Resource": "*", "Condition": { "StringLike": { "organizations:ServicePrincipal": "config.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 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" } ] }

AWS Control Tower 관리형 정책

변경 사항 설명 날짜

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

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

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

2021년 7월 28일

AWS Control Tower 시작 변경 내용

AWS Control Tower 의 변경 내용 추적을AWS관리형 정책.

2021년 5월 27일