Passo a passo do Automatize o provisionamento de contas na AWS Control Tower aoAWS Service CatalogAPIs - AWS Control Tower

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Passo a passo do Automatize o provisionamento de contas na AWS Control Tower aoAWS Service CatalogAPIs

A AWS Control Tower está integrada a várias outrasAWSserviços, comoAWS Service Catalog. Você pode usar as APIs para criar e provisionar as contas-membro no AWS Control Tower.

O vídeo mostra como provisionar contas de forma automatizada e em lote, chamando aAWS Service CatalogAPIs. Para provisionamento, você chamará oProvisionProductAPI doAWSinterface da linha de comando (CLI) e você especificará um arquivo JSON que contenha os parâmetros para cada conta que você deseja configurar. O vídeo ilustra a instalação e o uso doAWSCloud9ambiente de desenvolvimento para realizar este trabalho. Os comandos da CLI seriam os mesmos se você usarAWSCloudshell em vez deAWSCloud9.

nota

Você também pode adaptar essa abordagem para automatizar atualizações de conta, chamando aUpdateProvisionedProductAPI deAWS Service Catalogpara cada conta. Você pode escrever um script para atualizar as contas, uma por uma.

Como um método de automação completamente diferente, se você estiver familiarizado com o Terraform, poderáprovisionar contas com o AWS Control Tower Account Factory for Terraform (AFT).

Exemplo de função de administração de automação

Aqui está um modelo de exemplo que você pode usar para ajudar a configurar a função de administração de automação na conta de gerenciamento. Você configuraria essa função em sua conta de gerenciamento para que ela possa executar a automação com acesso de administrador nas contas de destino.

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"

Exemplo de função de execução de automação

Aqui está um modelo de exemplo que você pode usar para ajudar a configurar a função de execução de automação. Você configuraria essa função nas contas de destino.

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"

Depois de configurar essas funções, você chama oAWS Service CatalogAPIs para realizar as tarefas automatizadas. Os comandos da CLI são fornecidos no vídeo.

Exemplo de entrada de provisionamento para a API do catálogo

Aqui está uma amostra da entrada que você pode fornecer ao Service CatalogProvisionProductAPI se você estiver usando a API para provisionar contas da AWS Control Tower:

{ 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" }

Para obter mais informações, consulte o .Referência da API para o Service Catalog.

nota

Observe que o formato da string de entrada para o valor deManagedOrganizationalUnitmudou deOU_NAMEparaOU_NAME (OU_ID). O vídeo a seguir não menciona essa mudança.

Passo a passo em vídeo

Este vídeo (6:58) descreve como automatizar implantações de conta no AWS Control Tower. Para uma melhor visualização, selecione o ícone no canto inferior direito do vídeo para ampliá-lo em tela cheia. A legenda está disponível.