둘러보기: Service Catalog API를 이용한 AWS Control Tower의 계정 프로비저닝 자동화 - AWS Control Tower

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

둘러보기: Service Catalog API를 이용한 AWS Control Tower의 계정 프로비저닝 자동화

AWS Control Tower는 다음과 같은 여러 다른 AWS 서비스와 통합되어 AWS Service Catalog있습니다. API를 사용하여 AWS Control Tower에서 회원 계정을 생성하고 프로비저닝할 수 있습니다.

이 동영상은 AWS Service Catalog API를 호출하여 자동화된 일괄 처리 방식으로 계정을 프로비저닝하는 방법을 보여줍니다. 프로비저닝의 경우 AWS 명령줄 인터페이스 (CLI) 에서 ProvisionProductAPI를 호출하고 설정하려는 각 계정의 파라미터가 포함된 JSON 파일을 지정합니다. 이 동영상은 AWS Cloud9 개발 환경을 설치하고 사용하여 이 작업을 수행하는 방법을 보여줍니다. AWS Cloud9 대신 클라우드셸을 사용하는 경우에도 CLI 명령은 동일합니다. AWS

참고

또한 각 계정의 API를 호출하여 계정 업데이트 자동화에 이 접근 방식을 적용할 수 있습니다. UpdateProvisionedProduct AWS Service Catalog 계정을 하나씩 업데이트하는 스크립트를 작성할 수 있습니다.

완전히 다른 자동화 방법으로, Terraform에 익숙하다면 AWS Control Tower Account Factory for Terraform (AFT) 으로 계정을 프로비저닝할 수 있습니다.

자동화 관리 역할 예시

다음은 관리 계정에서 자동화 관리 역할을 구성하는 데 사용할 수 있는 샘플 템플릿입니다. 대상 계정에서 관리자 액세스를 사용하여 자동화를 수행할 수 있도록 관리 계정에서 이 역할을 구성해야 합니다.

AWSTemplateFormatVersion: 2010-09-09 Description: Configure the SampleAutoAdminRole Resources: AdministrationRole: Type: AWS::IAM::Role Properties: RoleName: SampleAutoAdminRole AssumeRolePolicyDocument: Version: 2012-10-17 Statement: - Effect: Allow Principal: Service: cloudformation.amazonaws.com Action: - sts:AssumeRole Path: / Policies: - PolicyName: AssumeSampleAutoAdminRole PolicyDocument: Version: 2012-10-17 Statement: - Effect: Allow Action: - sts:AssumeRole Resource: - "arn:aws:iam::*:role/SampleAutomationExecutionRole"

샘플 자동화 실행 역할

다음은 자동화 실행 역할을 설정하는 데 사용할 수 있는 샘플 템플릿입니다. 대상 계정에서 이 역할을 구성할 수 있습니다.

AWSTemplateFormatVersion: "2010-09-09" Description: "Create automation execution role for creating Sample Additional Role." Parameters: AdminAccountId: Type: "String" Description: "Account ID for the administrator account (typically management, security or shared services)." AdminRoleName: Type: "String" Description: "Role name for automation administrator access." Default: "SampleAutomationAdministrationRole" ExecutionRoleName: Type: "String" Description: "Role name for automation execution." Default: "SampleAutomationExecutionRole" SessionDurationInSecs: Type: "Number" Description: "Maximum session duration in seconds." Default: 14400 Resources: # This needs to run after AdminRoleName exists. ExecutionRole: Type: "AWS::IAM::Role" Properties: RoleName: !Ref ExecutionRoleName MaxSessionDuration: !Ref SessionDurationInSecs AssumeRolePolicyDocument: Version: "2012-10-17" Statement: - Effect: "Allow" Principal: AWS: - !Sub "arn:aws:iam::${AdminAccountId}:role/${AdminRoleName}" Action: - "sts:AssumeRole" Path: "/" ManagedPolicyArns: - "arn:aws:iam::aws:policy/AdministratorAccess"

이러한 역할을 구성한 후에는 AWS Service Catalog API를 호출하여 자동화된 작업을 수행합니다. CLI 명령은 비디오에 나와 있습니다.

Service Catalog API의 샘플 프로비저닝 입력

다음은 API를 사용하여 AWS Control Tower 계정을 프로비저닝하는 경우 Service Catalog ProvisionProduct API에 제공할 수 있는 입력의 샘플입니다.

{ pathId: "lpv2-7n2o3nudljh4e", productId: "prod-y422ydgjge2rs", provisionedProductName: "Example product 1", provisioningArtifactId: "pa-2mmz36cfpj2p4", provisioningParameters: [ { key: "AccountEmail", value: "abc@amazon.com" }, { key: "AccountName", value: "ABC" }, { key: "ManagedOrganizationalUnit", value: "Custom (ou-xfe5-a8hb8ml8)" }, { key: "SSOUserEmail", value: "abc@amazon.com" }, { key: "SSOUserFirstName", value: "John" }, { key: "SSOUserLastName", value: "Smith" } ], provisionToken: "c3c795a1-9824-4fb2-a4c2-4b1841be4068" }

자세한 내용은 Service Catalog의 API 참조를 참조하십시오.

참고

값의 입력 문자열 형식이 에서 OU_NAMEManagedOrganizationalUnit 변경되었음을 알 수 OU_NAME (OU_ID) 있습니다. 다음 비디오에서는 이러한 변경 사항에 대해 언급하지 않습니다.

비디오 안내

이 동영상 (6:58) 은 AWS Control Tower에서 계정 배포를 자동화하는 방법을 설명합니다. 동영상 오른쪽 하단에 있는 아이콘을 선택하여 전체 화면으로 확대하면 더 잘 보입니다. 자막을 사용할 수 있습니다.