AFC (Account Factory Customize) 로 계정을 사용자 지정하세요 - AWS Control Tower

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

AFC (Account Factory Customize) 로 계정을 사용자 지정하세요

AWS Control Tower를 사용하면 AWS Control Tower 콘솔에서 리소스를 AWS 계정 프로비저닝할 때 신규 및 기존 리소스를 사용자 지정할 수 있습니다. 계정 팩토리 사용자 지정을 설정하면 AWS Control Tower가 향후 프로비저닝을 위해 이 프로세스를 자동화하므로 파이프라인을 유지 관리할 필요가 없습니다. 사용자 지정 계정은 리소스가 프로비저닝된 후 즉시 사용할 수 있습니다.

사용자 지정 계정은 계정 팩토리, AWS CloudFormation 템플릿 또는 Terraform을 통해 프로비저닝됩니다. 사용자 지정 계정 청사진 역할을 하는 템플릿을 정의합니다. 블루프린트는 계정을 프로비저닝할 때 필요한 특정 리소스와 구성을 설명합니다. AWS 파트너가 구축하고 관리하는 사전 정의된 블루프린트도 사용할 수 있습니다. 파트너 관리 블루프린트에 대한 자세한 내용은 시작 라이브러리를 참조하십시오.AWS Service Catalog

참고

AWS Control Tower에는 AWS Control Tower의 AWS CloudFormation 리소스를 모니터링하는 사전 예방적 제어 기능이 포함되어 있습니다. 선택적으로, 착륙 지대에서 이러한 컨트롤을 활성화할 수 있습니다. 사전 예방 제어를 적용하면 계정에 배포하려는 리소스가 조직의 정책 및 절차를 준수하는지 확인합니다. 사전 예방적 제어에 대한 자세한 내용은 사전 제어를 참조하십시오.

계정 청사진은 에 저장되며 AWS 계정, 당사에서는 이를 허브 계정이라고 합니다. 블루프린트는 Service Catalog 제품 형태로 저장됩니다. 이 제품을 다른 Service Catalog 제품과 구별하기 위해 블루프린트라고 합니다. Service Catalog 제품을 만드는 방법에 대한 자세한 내용은 AWS Service Catalog 관리자 안내서에서 제품 생성을 참조하십시오.

기존 계정에 청사진 적용

또한 AWS Control Tower 콘솔의 계정 업데이트 단계에 따라 기존 계정에 사용자 지정 블루프린트를 적용할 수 있습니다. 자세한 내용은 콘솔에서 계정 업데이트단원을 참조하세요.

시작하기 전 준비 사항

AWS Control Tower Account Factory에서 사용자 지정 계정을 생성하려면 먼저 AWS Control Tower 랜딩 존 환경을 배포하고, 새로 생성한 계정을 배치할 AWS Control Tower에 등록된 조직 단위 (OU) 가 있어야 합니다.

AFC 사용에 대한 자세한 내용은 AWS Control Tower의 Account Factory 사용자 지정을 사용한 계정 사용자 지정 자동화를 참조하십시오.

사용자 지정을 위한 준비
  • 허브 계정으로 사용할 새 계정을 만들거나 기존 계정을 사용할 수 있습니다 AWS 계정. AWS Control Tower 관리 계정을 블루프린트 허브 계정으로 사용하지 않는 것이 좋습니다.

  • AWS Control AWS 계정 Tower에 등록하고 사용자 지정하려는 경우, AWS Control Tower에 등록하려는 다른 계정과 마찬가지로 먼저 해당 계정에 AWSControlTowerExecution 역할을 추가해야 합니다.

  • 마켓플레이스 구독 요구 사항이 있는 파트너 블루프린트를 사용하려는 경우, 파트너 블루프린트를 어카운트 팩토리 사용자 지정 블루프린트로 배포하기 전에 AWS Control Tower Management 계정에서 이를 구성해야 합니다.

참고

AWS Control Tower 계정당 하나의 블루프린트를 배포할 수 있습니다.

AFC (어카운트 팩토리 커스터마이징) 고려 사항

  • AFC는 단일 AWS Service Catalog 블루프린트 제품만을 사용한 커스터마이징을 지원합니다.

  • AWS Service Catalog 블루프린트 제품은 허브 계정에서 생성되어야 하며, AWS Control Tower 랜딩 존 홈 리전과 동일한 리전에 생성되어야 합니다.

  • AWSControlTowerBlueprintAccessIAM 역할은 적절한 이름, 권한 및 신뢰 정책을 사용하여 생성되어야 합니다.

  • AWS Control Tower는 블루프린트에 대한 두 가지 배포 옵션을 지원합니다. 하나는 홈 지역에만 배포하거나 AWS Control Tower가 관리하는 모든 지역에 배포하는 것입니다. 지역 선택은 불가능합니다.

  • 멤버 계정에서 블루프린트를 업데이트할 때 블루프린트 허브 계정 ID와 AWS Service Catalog 블루프린트 제품은 변경할 수 없습니다.

  • AWS Control Tower는 단일 청사진 업데이트 작업에서 기존 청사진을 제거하고 새 청사진을 추가하는 것을 지원하지 않습니다. 블루프린트를 제거한 다음 별도의 작업으로 새 블루프린트를 추가할 수 있습니다.

  • AWS Control Tower는 사용자 지정 계정을 생성 또는 등록하는지 아니면 사용자 지정 계정이 아닌 계정을 생성하는지 여부에 따라 동작을 변경합니다. 블루프린트로 사용자 지정 계정을 만들거나 등록하지 않는 경우, AWS Control Tower는 (Service Catalog를 통해) AWS 컨트롤 타워 관리 계정에서 Account Factory가 프로비저닝한 제품을 생성합니다. 블루프린트로 계정을 만들거나 등록할 때 사용자 지정을 지정하는 경우, AWS Control Tower는 AWS Control Tower 관리 계정에 Account Factory가 프로비저닝한 제품을 생성하지 않습니다.

블루프린트 오류가 발생한 경우

블루프린트 적용 중 오류가 발생했습니다.

블루프린트를 계정 (새 계정 또는 AWS Control Tower에 등록한 기존 계정) 에 적용하는 과정에서 오류가 발생하는 경우 복구 절차는 동일합니다. 계정은 존재하지만 사용자 지정되지 않고 AWS Control Tower에 등록되어 있지도 않습니다. 계속하려면 단계에 따라 계정을 AWS Control Tower에 등록하고 등록 시 청사진을 추가하십시오.

역할 생성 중 오류 발생 및 해결 방법 AWSControlTowerBlueprintAccess

AWS Control Tower 계정에서 AWSControlTowerBlueprintAccess 역할을 생성할 때는 AWSControlTowerExecution 역할을 사용하여 보안 주체로 로그인해야 합니다. 다른 사람과 마찬가지로 로그인한 경우 다음 아티팩트에서 볼 수 있듯이 SCP가 CreateRole 작업을 차단합니다.

{ "Condition": { "ArnNotLike": { "aws:PrincipalArn": [ "arn:aws:iam::*:role/AWSControlTowerExecution", "arn:aws:iam::*:role/stacksets-exec-*" ] } }, "Action": [ "iam:AttachRolePolicy", "iam:CreateRole", "iam:DeleteRole", "iam:DeleteRolePermissionsBoundary", "iam:DeleteRolePolicy", "iam:DetachRolePolicy", "iam:PutRolePermissionsBoundary", "iam:PutRolePolicy", "iam:UpdateAssumeRolePolicy", "iam:UpdateRole", "iam:UpdateRoleDescription" ], "Resource": [ "arn:aws:iam::*:role/aws-controltower-*", "arn:aws:iam::*:role/*AWSControlTower*", "arn:aws:iam::*:role/stacksets-exec-*" ], "Effect": "Deny", "Sid": "GRIAMROLEPOLICY" }

다음과 같은 해결 방법을 사용할 수 있습니다.

  • (가장 권장됨) AWSControlTowerExecution 역할을 맡고 역할을 생성합니다. AWSControlTowerBlueprintAccess 이 해결 방법을 선택한 경우 의도하지 않은 리소스 변경을 방지하기 위해 즉시 AWSControlTowerExecution 역할에서 로그아웃해야 합니다.

  • AWS Control Tower에 등록되지 않았으므로 이 SCP의 적용을 받지 않는 계정으로 로그인하십시오.

  • 작업을 허용하도록 이 SCP를 일시적으로 편집하십시오.

  • (강력히 권장하지 않음) SCP의 적용을 받지 않도록 AWS Control Tower 관리 계정을 허브 계정으로 사용하십시오.

다음을 기반으로 AFC 청사진에 맞게 정책 문서를 사용자 지정합니다. CloudFormation

어카운트 팩토리를 통해 블루프린트를 활성화하면 AWS Control Tower가 사용자 대신 블루프린트를 AWS CloudFormation StackSet 생성하도록 지시합니다. AWS CloudFormation 에서 AWS CloudFormation 스택을 생성하려면 관리형 계정에 대한 액세스 권한이 필요합니다. StackSet 역할을 통해 AWS CloudFormation 이미 관리 계정에 대한 관리자 권한을 가지고 있지만 이 AWSControlTowerExecution 역할을 맡을 수는 없습니다. AWS CloudFormation

청사진 활성화의 일환으로 AWS Control Tower는 회원 계정에 역할을 생성하며, 이 역할은 StackSet 관리 작업을 완료하는 것으로 AWS CloudFormation 간주될 수 있습니다. Account Factory를 통해 사용자 지정 청사진을 활성화하는 가장 간단한 방법은 모두 허용 정책을 사용하는 것입니다. 이러한 정책은 모든 청사진 템플릿과 호환되기 때문입니다.

하지만 모범 AWS CloudFormation 사례에서는 대상 계정의 권한을 제한해야 한다고 제안합니다. 사용자 지정 정책을 제공할 수 있으며, 이 정책은 AWS Control Tower가 생성한 역할에 AWS CloudFormation 적용하여 사용할 수 있습니다. 예를 들어, 블루프린트에서 무언가-important라는 SSM 파라미터를 생성하는 경우 다음 정책을 제공할 수 있습니다.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCloudFormationActionsOnStacks", "Effect": "Allow", "Action": "cloudformation:*", "Resource": "arn:aws:cloudformation:*:*:stack/*" }, { "Sid": "AllowSsmParameterActions", "Effect": "Allow", "Action": [ "ssm:PutParameter", "ssm:DeleteParameter", "ssm:GetParameter", "ssm:GetParameters" ], "Resource": "arn:*:ssm:*:*:parameter/something-important" } ] }

AllowCloudFormationActionsOnStacks 명령문은 모든 AFC 커스텀 정책에 필요합니다. 이 역할을 AWS CloudFormation 사용하여 스택 인스턴스를 생성하므로 스택에서 작업을 수행할 권한이 필요합니다. AWS CloudFormation 이 AllowSsmParameterActions 섹션은 활성화되는 템플릿에만 해당됩니다.

권한 문제 해결

제한된 정책으로 블루프린트를 활성화하면 블루프린트를 활성화하는 데 필요한 권한이 충분하지 않을 수 있습니다. 이러한 문제를 해결하려면 정책 문서를 수정하고 수정된 정책을 사용하도록 회원 계정의 블루프린트 환경설정을 업데이트하세요. 정책이 블루프린트를 활성화하기에 충분한지 확인하려면 AWS CloudFormation 권한이 부여되고 해당 역할을 사용하여 스택을 직접 생성할 수 있는지 확인하세요.

Terraform 기반 서비스 카탈로그 제품 생성에 필요한 추가 권한

AFC용 Terraform 구성 파일을 사용하여 AWS Service Catalog 외부 제품을 만들 때는 템플릿에 정의된 리소스를 생성하는 데 필요한 권한 외에도 AFC 사용자 지정 IAM 정책에 특정 권한을 추가해야 합니다. AWS Service Catalog 기본 전체 관리자 정책을 선택하면 이러한 추가 권한을 추가할 필요가 없습니다.

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "resource-groups:CreateGroup", "resource-groups:ListGroupResources", "resource-groups:DeleteGroup", "resource-groups:Tag" ], "Resource": "*", "Effect": "Allow" }, { "Action": [ "tag:GetResources", "tag:GetTagKeys", "tag:GetTagValues", "tag:TagResources", "tag:UntagResources" ], "Resource": "*", "Effect": "Allow" }, { "Action": "s3:GetObject", "Effect": "Allow", "Resource": "*", "Condition": { "StringEquals": { "s3:ExistingObjectTag/servicecatalog:provisioning": "true" } } } ] }

외부 제품 유형을 사용하여 Terraform 제품을 만드는 방법에 대한 자세한 내용은 Service Catalog 관리자 가이드의 5단계: 시작 역할 생성을 참조하십시오. AWS Service Catalog