AWS Control Tower가 역할을 사용하여 계정을 생성하고 관리하는 방법 - AWS Control Tower

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

AWS Control Tower가 역할을 사용하여 계정을 생성하고 관리하는 방법

일반적으로 역할은의 자격 증명 및 액세스 관리(IAM)의 일부입니다 AWS. 의 IAM 및 역할에 대한 일반적인 내용은 사용 설명서의 역할 주제를 AWS참조하세요. IAM AWS IAM

역할 및 계정 생성

AWS Control Tower는 CreateAccount API의를 호출하여 고객의 계정을 생성합니다 AWS Organizations. AWS Organizations 가이 계정을 생성하면 해당 계정 내에 역할이 생성되며, AWS Control Tower는 파라미터를에 전달하여 이름을 지정합니다API. 역할의 이름은 AWSControlTowerExecution입니다.

AWS Control Tower는 Account Factory에서 생성한 모든 계정의 AWSControlTowerExecution 역할을 맡습니다. AWS Control Tower는이 역할을 사용하여 계정의 기준을 지정하고 필수(및 기타 활성화된) 제어를 적용하여 다른 역할을 생성합니다. 이러한 역할은 AWS Config와 같은 다른 서비스에서 사용됩니다.

참고

계정을 기준으로 지정하려면 리소스를 설정해야 합니다. 여기에는 블루프린트 및 제어라고도 하는 Account Factory 템플릿이 포함됩니다. 또한 기본 설정 프로세스는 템플릿 배포의 일환으로 계정에 중앙 집중식 로깅 및 보안 감사 역할을 설정합니다. AWS Control Tower 기준은 등록된 모든 계정에 적용하는 역할에 포함됩니다.

계정 및 리소스에 대한 자세한 내용은 AWS Control Tower AWS 계정 의 정보 섹션을 참조하세요.

AWS Control Tower가 비관리형 OUs 및 계정의 AWS Config 규칙을 집계하는 방법

AWS Control Tower 관리 계정은 외부 AWS Config 규칙을 감지하는 데 도움이 되는 조직 수준 집계자를 생성하므로 AWS Control Tower는 관리되지 않는 계정에 액세스할 필요가 없습니다. AWS Control Tower 콘솔은 특정 계정에 대해 외부에서 생성된 AWS Config 규칙의 수를 보여줍니다. 계정 세부 정보 페이지의 외부 Config 규칙 준수 탭에서 이러한 외부 규칙에 대한 세부 정보를 볼 수 있습니다.

집계자를 생성하기 위해 AWS Control Tower는 조직을 설명하고 그 아래에 계정을 나열하는 데 필요한 권한이 있는 역할을 추가합니다. AWSControlTowerConfigAggregatorRoleForOrganizations 역할에는 AWSConfigRoleForOrganizations 관리형 정책 그리고 config.amazonaws.com과의 신뢰 관계가 필요합니다.

역할에 연결된 IAM 정책(JSON아티팩트)은 다음과 같습니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "organizations:ListAccounts", "organizations:DescribeOrganization", "organizations:ListAWSServiceAccessForOrganization" ], "Resource": "*" } ] }

다음은 AWSControlTowerConfigAggregatorRoleForOrganizations 신뢰 관계입니다.

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

관리 계정에이 기능을 배포하기 위해 관리형 정책에 다음 권한이 추가됩니다. AWSControlTowerServiceRolePolicy관리형 정책은 AWS Config 집계자를 생성할 때 AWSControlTowerAdmin 역할에서 사용됩니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "config:PutConfigurationAggregator", "config:DeleteConfigurationAggregator", "iam:PassRole" ], "Resource": [ "arn:aws:iam:::role/service-role/AWSControlTowerConfigAggregatorRoleForOrganizations", "arn:aws:config:::config-aggregator/" ] }, { "Effect": "Allow", "Action": "organizations:EnableAWSServiceAccess", "Resource": "*" } ] }

생성된 새 리소스: AWSControlTowerConfigAggregatorRoleForOrganizationsaws-controltower-ConfigAggregatorForOrganizations

준비가 되면 계정을 개별적으로 등록하거나 OU를 등록하여 그룹으로 등록할 수 있습니다. 계정을 등록하면에서 규칙을 생성하면 AWS Config AWS Control Tower가 새 규칙을 감지합니다. 집계자는 외부 규칙의 수를 표시하고 계정에 대한 각 외부 규칙의 세부 정보를 볼 수 있는 AWS Config 콘솔 링크를 제공합니다. 콘솔 및 AWS Control Tower 콘솔의 정보를 AWS Config 사용하여 계정에 대해 적절한 제어가 활성화되어 있는지 확인합니다.

AWS Control Tower 감사 계정에 대한 프로그래밍 방식 역할 및 신뢰 관계

감사 계정에 로그인하고 역할을 수임하여 다른 계정을 프로그래밍 방식으로 검토할 수 있습니다. 감사 계정을 이용해 다른 계정에 수동으로 로그인할 수 없습니다.

감사 계정은 AWS Lambda 함수에만 부여된 일부 역할을 사용하여 다른 계정에 프로그래밍 방식으로 액세스할 수 있습니다. 보안을 위해 이러한 역할은 다른 역할과 신뢰 관계가 있으므로 역할을 사용할 수 있는 조건이 엄격하게 정의됩니다.

AWS Control Tower 스택은 감사 계정에 다음과 같은 프로그래밍 방식의 교차 계정 IAM 역할을 StackSet-AWSControlTowerBP-BASELINE-ROLES 생성합니다.

  • aws-controltower-AdministratorExecutionRole

  • aws-controltower-ReadOnlyExecutionRole

AWS Control Tower 스택은 감사 계정에 다음과 같은 프로그래밍 방식의 교차 계정 IAM 역할을 StackSet-AWSControlTowerSecurityResources 생성합니다.

  • aws-controltower-AuditAdministratorRole

  • aws-controltower-AuditReadOnlyRole

ReadOnlyExecutionRole: 이 역할을 사용하면 감사 계정이 조직 전체에서 Amazon S3 버킷의 객체를 읽을 수 있습니다(메타데이터 액세스만 허용하는 SecurityAudit 정책과 대조적임).

aws-controltower-AdministratorExecutionRole:
  • 관리자 권한이 있음

  • 콘솔에서 수임할 수 없음

  • 감사 계정의 역할(aws-controltower-AuditAdministratorRole)만 수임할 수 있음

다음 아티팩트는 aws-controltower-AdministratorExecutionRole에 대한 신뢰 관계를 보여줍니다. 자리 표시자 번호 012345678901은 감사 계정의 Audit_acct_ID 번호로 대체됩니다.

{   "Version": "2012-10-17",   "Statement": [     {       "Effect": "Allow",       "Principal": {         "AWS": "arn:aws:iam::012345678901:role/aws-controltower-AuditAdministratorRole"       },       "Action": "sts:AssumeRole"     }   ] }
aws-controltower-AuditAdministratorRole:
  • AWS Lambda 서비스에서만 수임할 수 있습니다.

  • 문자열 log로 시작하는 이름이 있는 Amazon S3 객체에 대해 읽기(가져오기) 및 쓰기(입력) 작업을 수행할 수 있는 권한이 있습니다.

연결된 정책:

1. AWSLambdaExecute AWS 관리형 정책

2. AssumeRole-aws-controltower-AuditAdministratorRole - 인라인 정책 - AWS Control Tower에서 생성한 아티팩트는 다음과 같습니다.

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

다음 아티팩트는 aws-controltower-AuditAdministratorRole에 대한 신뢰 관계를 보여줍니다.

{   "Version": "2012-10-17",   "Statement": [     {       "Effect": "Allow",       "Principal": {         "Service": "lambda.amazonaws.com"       },       "Action": "sts:AssumeRole"     }   ] }
aws-controltower-ReadOnlyExecutionRole:
  • 콘솔에서 수임할 수 없음

  • 감사 계정의 다른 역할(AuditReadOnlyRole)만 수임할 수 있음

다음 아티팩트는 aws-controltower-ReadOnlyExecutionRole에 대한 신뢰 관계를 보여줍니다. 자리 표시자 번호 012345678901은 감사 계정의 Audit_acct_ID 번호로 대체됩니다.

{   "Version": "2012-10-17",   "Statement": [     {       "Effect": "Allow",       "Principal": {         "AWS": "arn:aws:iam::012345678901:role/aws-controltower-AuditReadOnlyRole "       },       "Action": "sts:AssumeRole"     }   ] }
aws-controltower-AuditReadOnlyRole:
  • AWS Lambda 서비스에서만 수임할 수 있습니다.

  • 문자열 log로 시작하는 이름이 있는 Amazon S3 객체에 대해 읽기(가져오기) 및 쓰기(입력) 작업을 수행할 수 있는 권한이 있습니다.

연결된 정책:

1. AWSLambdaExecute AWS 관리형 정책

2. AssumeRole-aws-controltower-AuditReadOnlyRole - 인라인 정책 - AWS Control Tower에서 생성한 아티팩트는 다음과 같습니다.

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

다음 아티팩트는 aws-controltower-AuditAdministratorRole에 대한 신뢰 관계를 보여줍니다.

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

IAM 역할을 사용한 자동 계정 프로비저닝

보다 자동화된 방식으로 Account Factory 계정을 구성하려면 AWS Control Tower 관리 계정에서 멤버 계정의 AWSControlTowerExecution 역할을 수임하는 Lambda 함수를 생성할 수 있습니다. 그러면 관리 계정에서 이 역할을 사용하여 각 멤버 계정에서 원하는 구성 단계를 수행합니다.

Lambda 함수를 사용하여 계정을 프로비저닝하는 경우 이 작업을 수행할 자격 증명에는 AWSServiceCatalogEndUserFullAccess 외에도 다음 IAM 권한 정책이 있어야 합니다.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AWSControlTowerAccountFactoryAccess", "Effect": "Allow", "Action": [ "sso:GetProfile", "sso:CreateProfile", "sso:UpdateProfile", "sso:AssociateProfile", "sso:CreateApplicationInstance", "sso:GetSSOStatus", "sso:GetTrust", "sso:CreateTrust", "sso:UpdateTrust", "sso:GetPeregrineStatus", "sso:GetApplicationInstance", "sso:ListDirectoryAssociations", "sso:ListPermissionSets", "sso:GetPermissionSet", "sso:ProvisionApplicationInstanceForAWSAccount", "sso:ProvisionApplicationProfileForAWSAccountInstance", "sso:ProvisionSAMLProvider", "sso:ListProfileAssociations", "sso-directory:ListMembersInGroup", "sso-directory:AddMemberToGroup", "sso-directory:SearchGroups", "sso-directory:SearchUsers", "sso-directory:CreateUser", "sso-directory:DescribeGroups", "sso-directory:DescribeDirectory", "sso-directory:GetUserPoolInfo", "controltower:CreateManagedAccount", "controltower:DescribeManagedAccount", "controltower:DeregisterManagedAccount", "s3:GetObject", "organizations:describeOrganization", "sso:DescribeRegisteredRegions" ], "Resource": "*" } ] }

sso:GetPeregrineStatus, sso:ProvisionApplicationInstanceForAWSAccountsso:ProvisionApplicationProfileForAWSAccountInstance, 및 권한은 AWS Control Tower Account Factory가 Identity Center와 AWS IAM 상호 작용하기 위해 sso:ProvisionSAMLProvide 필요합니다.