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

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

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

일반적으로 역할은 에서 ID 및 액세스 관리 (IAM) 의 일부입니다. AWS의 IAM 및 역할에 대한 일반 정보는 IAM 사용 설명서의 IAM 역할 주제를 참조하십시오. AWSAWS

역할 및 계정 생성

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 AWS 계정 타워에 대한 정보

AWS Control Tower가 비관리형 OU 및 계정의 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": "*" } ] }

새 리소스 생성: 및 AWSControlTowerConfigAggregatorRoleForOrganizations aws-controltower-ConfigAggregatorForOrganizations

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

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

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

감사 계정을 사용하면 AWS Lambda 함수에만 부여되는 일부 역할을 통해 다른 계정에 프로그래밍 방식으로 액세스할 수 있습니다. 보안을 위해 이러한 역할은 다른 역할과 신뢰 관계를 맺고 있습니다. 즉, 역할을 활용할 수 있는 조건이 엄격하게 정의되어 있습니다.

AWS Control Tower 스택 세트는 감사 계정에서 다음과 같은 프로그래밍 전용 계정 간 역할을 StackSet-AWSControlTowerBP-BASELINE-ROLES 생성합니다.

  • AWS-컨트롤 타워- AdministratorExecutionRole

  • AWS - 컨트롤 타워 - AuditAdministratorRole

  • AWS - 컨트롤 타워 - ReadOnlyExecutionRole

  • AWS - 컨트롤 타워 - AuditReadOnlyRole

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

AWS-컨트롤타워-: 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-컨트롤 타워-: AuditAdministratorRole
  • AWS Lambda 서비스에서만 가정 가능

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

첨부된 정책:

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-컨트롤 타워-: 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-컨트롤 타워-: AuditReadOnlyRole
  • AWS Lambda 서비스에서만 가정 가능

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

첨부된 정책:

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 관리 계정에서 Lambda 함수를 생성할 수 있습니다. AWSControlTowerExecution 그런 다음 관리 계정은 역할을 사용하여 각 구성원 계정에서 원하는 구성 단계를 수행합니다.

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

{ "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:SearchGroupsWithGroupName", "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": "*" } ] }

AWS Control Tower Account Factory에서 AWS IAM 자격 증명 센터와 상호 작용하기 위해 필요한 권한 sso:GetPeregrineStatus sso:ProvisionApplicationInstanceForAWSAccountsso:ProvisionApplicationProfileForAWSAccountInstance,, 및 sso:ProvisionSAMLProvide