

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

# Service Catalog API를 통해 AWS Control Tower에서 계정 프로비저닝 자동화
<a name="automated-provisioning-walkthrough"></a>

AWS Control Tower는와 같은 여러 다른 AWS 서비스와 통합됩니다 AWS Service Catalog. APIs를 사용하여 AWS Control Tower에서 멤버 계정을 생성 및 프로비저닝하거나 기존 멤버 계정을 등록할 수 있습니다.

**참고**  
랜딩 존 설정에서 IAM Identity Center를 비활성화한 경우 SSO 사용자 파라미터(`SSOUserEmail`, `SSOUserFirstName`및 `SSOUserLastName`)는 계정 프로비저닝 중에 사용되지 않습니다. 원하는 경우 이러한 필수 파라미터에 대한 자리 표시자 값을 제공하고 나중에의 지침에 따라 수정할 수 있습니다[Service Catalog에서 프로비저닝된 제품 업데이트](update-provisioned-product.md).

이 비디오에서는 AWS Service Catalog API를 직접 호출하여 자동화된 배치 방식으로 계정을 프로비저닝하는 방법을 보여줍니다. 프로비저닝의 경우 AWS 명령줄 인터페이스(CLI)에서 [https://docs.aws.amazon.com//servicecatalog/latest/dg/API_ProvisionProduct.html](https://docs.aws.amazon.com//servicecatalog/latest/dg/API_ProvisionProduct.html) API를 호출하고 설정하려는 각 계정에 대한 파라미터가 포함된 JSON 파일을 지정합니다. 이 비디오에서는 [AWS Cloud9](https://docs.aws.amazon.com//cloud9/latest/user-guide/welcome.html) 개발 환경을 설치하고 사용하여 이 작업을 수행하는 방법을 보여줍니다. AWS Cloud9 대신 AWS Cloudshell을 사용하는 경우 CLI 명령은 동일합니다.

**참고**  
또한 각 계정에 대해의 [https://docs.aws.amazon.com//servicecatalog/latest/dg/API_UpdateProvisionedProduct.html](https://docs.aws.amazon.com//servicecatalog/latest/dg/API_UpdateProvisionedProduct.html) API를 호출하여 계정 업데이트를 자동화하기 AWS Service Catalog 위해이 접근 방식을 조정할 수 있습니다. 계정을 하나씩 업데이트하는 스크립트를 작성할 수 있습니다.

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

**샘플 자동화 관리 역할**

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

```
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 APIs를 호출하여 자동화된 작업을 수행합니다. CLI 명령은 비디오에서 제공됩니다.

## Service Catalog API에 대한 샘플 프로비저닝 입력
<a name="sample-sc-api-input"></a>

다음은 `ProvisionProduct` API를 사용하여 새 AWS Control Tower 계정을 프로비저닝하거나 기존 멤버 계정을 등록하는 경우 Service Catalog API에 제공할 수 있는 입력의 샘플입니다.

**참고**  
`ProvisionProduct` API를 사용하여 기존 멤버 계정을 등록하려면 API를 호출하기 전에 대상 계정에 `AWSControlTowerExecution` IAM 역할이 있어야 합니다. 새 계정 프로비저닝과 기존 계정 등록 모두에 대해 다음 예제에 표시된 것과 동일한 입력 파라미터를 사용할 수 있습니다.

```
{
  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 참조](https://docs.aws.amazon.com//servicecatalog/latest/dg/API_ProvisionProduct.html)를 확인하세요.

**참고**  
`ManagedOrganizationalUnit` 값의 입력 문자열 형식이 `OU_NAME`에서 `OU_NAME (OU_ID)`으로 변경되었습니다. 다음 비디오에서는 이 변경 사항을 언급하지 않습니다.

## 비디오 안내
<a name="automated-provisioning-video"></a>

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

[![AWS Videos](http://img.youtube.com/vi/LxxQTPdSFgw/0.jpg)](http://www.youtube.com/watch?v=LxxQTPdSFgw)
