Passo a passo: Automatize o provisionamento de contas no AWS Control Tower por meio das APIs do Service Catalog - 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: Automatize o provisionamento de contas no AWS Control Tower por meio das APIs do Service Catalog

O AWS Control Tower é integrado a vários outros AWS serviços, como AWS Service Catalog. Você pode usar as APIs para criar e provisionar suas contas de membros no AWS Control Tower.

O vídeo mostra como provisionar contas de forma automatizada e em lote, chamando as AWS Service Catalog APIs. Para provisionamento, você chamará a ProvisionProductAPI a partir da interface de linha de AWS comando (CLI) e especificará um arquivo JSON que contém os parâmetros de cada conta que você gostaria de configurar. O vídeo ilustra a instalação e o uso doAWS ambiente de desenvolvimento Cloud9 para realizar esse trabalho. Os comandos da CLI seriam os mesmos se você usasse o Cloudshell AWS em vez do Cloud9. AWS

nota

Você também pode adaptar essa abordagem para automatizar as atualizações da conta, chamando a UpdateProvisionedProductAPI de AWS Service Catalog para 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 exemplo de modelo que você pode usar para ajudar a configurar sua 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 pudesse realizar 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 as AWS Service Catalog APIs para realizar as tarefas automatizadas. Os comandos da CLI são fornecidos no vídeo.

Exemplo de entrada de provisionamento para a API Service Catalog

Aqui está um exemplo da entrada que você pode fornecer à API do Service Catalog se estiver usando a ProvisionProduct API para provisionar contas do 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 a referência da API do Service Catalog.

nota

Observe que o formato da string de entrada para o valor de ManagedOrganizationalUnit foi alterado de OU_NAME paraOU_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 contas 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.