Personalizações da conta - 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á.

Personalizações da conta

O AFT pode implantar configurações padrão ou personalizadas em contas provisionadas. Na conta de gerenciamento da AFT, a AFT fornece um pipeline para cada conta. Com esse pipeline, você pode implementar suas personalizações em todas as contas, em um conjunto de contas ou em contas individuais. Você pode executar scripts Python, scripts bash e configurações do Terraform, ou pode interagir com a AWS CLI como parte do estágio de personalização da sua conta.

Visão geral

Depois que suas personalizações forem especificadas nos git repositórios escolhidos, seja aquele em que você armazena suas personalizações globais ou onde você armazena as personalizações de sua conta, o estágio de personalização da conta é concluído automaticamente pelo pipeline do AFT. Para personalizar contas retroativamente, consulteInvoque novamente as personalizações.

Personalizações globais (opcional)

Você pode optar por aplicar determinadas personalizações a todas as contas provisionadas pela AFT. Por exemplo, se você precisar criar uma função específica do IAM ou implantar um controle personalizado em cada conta, o estágio de personalizações globais no pipeline do AFT permite que você faça isso automaticamente.

Personalizações da conta (opcional)

Para personalizar uma conta individual ou um conjunto de contas de forma diferente de outras contas provisionadas pelo AFT, você pode aproveitar a parte de personalizações de conta do pipeline do AFT para implementar configurações específicas da conta. Por exemplo, somente uma determinada conta pode exigir acesso a um gateway de internet.

Pré-requisitos de personalização

Antes de começar a personalizar contas, verifique se esses pré-requisitos estão em vigor.

Aplique personalizações globais

Para aplicar personalizações globais, você deve enviar uma estrutura de pastas específica para o repositório escolhido.

  • Se suas configurações personalizadas estiverem na forma de programas ou scripts em Python, coloque-as na pasta api_helpers/python em seu repositório.

  • Se suas configurações personalizadas estiverem na forma de scripts Bash, coloque-as na pasta api_helpers em seu repositório.

  • Se suas configurações personalizadas estiverem no formato do Terraform, coloque-as na pasta terraform em seu repositório.

  • Consulte o arquivo README de personalizações globais para obter mais detalhes sobre a criação de configurações personalizadas.

nota

As personalizações globais são aplicadas automaticamente, após o estágio da estrutura de provisionamento da conta AFT no pipeline do AFT.

Aplique personalizações de conta

Você pode aplicar personalizações de conta enviando uma estrutura de pastas específica para o repositório escolhido. As personalizações da conta são aplicadas automaticamente no pipeline do AFT e após o estágio global de personalizações. Você também pode criar várias pastas que contêm diferentes personalizações de conta no seu repositório de personalizações de conta. Para cada personalização de conta necessária, use as etapas a seguir.

Para aplicar personalizações de conta
  1. Etapa 1: criar uma pasta para personalização de uma conta

    No repositório escolhido, copie a ACCOUNT_TEMPLATE pasta fornecida pelo AFT para uma nova pasta. O nome da sua nova pasta deve corresponder ao account_customizations_name que você forneceu na sua solicitação de conta.

  2. Adicione as configurações à pasta específica de personalizações da sua conta

    Você pode adicionar configurações à pasta de personalizações da sua conta com base no formato das suas configurações.

    • Se suas configurações personalizadas estiverem na forma de programas ou scripts Python, coloque-as na pasta [account_customizations_name] /api_helpers/python que está no seu repositório.

    • Se suas configurações personalizadas estiverem na forma de scripts Bash, coloque-as na pasta [account_customizations_name] /api_helpers que está no seu repositório.

    • Se suas configurações personalizadas estiverem no formato do Terraform, coloque-as na pasta [account_customizations_name] /terraform que está no seu repositório.

    Para obter mais informações sobre a criação de configurações personalizadas, consulte o arquivo README de personalizações da conta.

  3. Consulte o account_customizations_name parâmetro específico no arquivo de solicitação de conta

    O arquivo de solicitação de conta AFT inclui o parâmetro de entradaaccount_customizations_name. Insira o nome da personalização da sua conta como o valor desse parâmetro.

nota

Você pode enviar várias solicitações de conta para contas em seu ambiente. Quando quiser aplicar personalizações de conta diferentes ou semelhantes, especifique as personalizações da conta usando o parâmetro de account_customizations_name entrada em suas solicitações de conta. Para obter mais informações, consulte Enviar várias solicitações de conta.

Invoque novamente as personalizações

O AFT fornece uma maneira de invocar novamente as personalizações no pipeline do AFT. Esse método é útil quando você adiciona uma nova etapa de personalização ou quando está fazendo alterações em uma personalização existente. Quando você invoca novamente, o AFT inicia o pipeline de personalizações para fazer alterações na conta provisionada do AFT. Uma event-source-based nova invocação permite que você aplique personalizações a contas individuais, a todas as contas, às contas de acordo com sua OU ou às contas selecionadas de acordo com as tags.

Siga estas três etapas para invocar novamente as personalizações para contas provisionadas pelo AFT.

Etapa 1: enviar alterações para repositórios globais ou de personalizações de git contas

Você pode atualizar suas personalizações globais e de conta conforme necessário e enviar as alterações de volta aos seus git repositórios. Neste momento, nada acontece. O pipeline de personalizações deve ser invocado por uma fonte de eventos, conforme explicado nas próximas duas etapas.

Etapa 2: iniciar uma execução do AWS Step Function para reinvocar personalizações

A AFT fornece uma AWS Step Function chamada aft-invoke-customizations na conta de gerenciamento da AFT. O objetivo dessa função é invocar novamente o pipeline de personalização para contas provisionadas pela AFT.

Aqui está um exemplo de um esquema de evento (formato JSON) que você pode criar para passar a entrada para a aft-invoke-customizations AWS Step Function.

{ "include": [ { "type": "all" }, { "type": "ous", "target_value": [ "ou1","ou2"] }, { "type": "tags", "target_value": [ {"key1": "value1"}, {"key2": "value2"}] }, { "type": "accounts", "target_value": [ "acc1_ID","acc2_ID"] } ], "exclude": [ { "type": "ous", "target_value": [ "ou1","ou2"] }, { "type": "tags", "target_value": [ {"key1": "value1"}, {"key2": "value2"}] }, { "type": "accounts", "target_value": [ "acc1_ID","acc2_ID"] } ] }

O exemplo de esquema de eventos mostra que você pode escolher contas para incluir ou excluir do processo de reinvocação. Você pode filtrar por unidade organizacional (OU), tags de conta e ID da conta. Se você não aplicar nenhum filtro e incluir a declaração"type":"all", a personalização de todas as contas provisionadas pela AFT será invocada novamente.

nota

Se sua versão do AWS Control Tower for 1.6.5 ou posterior, você poderá segmentar OUs aninhadas com a sintaxe). OU Name (ou-id-1234 Para obter mais informações, consulte o tópico a seguir em GitHub.

Depois de preencher os parâmetros do evento, o Step Functions é executado e invoca as personalizações correspondentes. O AFT pode invocar no máximo 5 personalizações por vez. Step Functions espera e repete até que todas as contas que correspondem aos critérios do evento sejam concluídas.

Etapa 3: Monitore a saída do AWS Step Function e observe a CodePipeline execução da AWS

  • A saída resultante do Step Function contém IDs de conta que correspondem à fonte do evento de entrada do Step Function.

  • Navegue até a AWS CodePipeline em Developer Tools e veja os canais de personalização correspondentes para o ID da conta.

Solução de problemas com o rastreamento de solicitações de personalização da conta AFT

Fluxos de trabalho de personalização de contas baseados em registros de emissão contendo AWS Lambda IDs da conta de destino e da solicitação de personalização. O AFT permite rastrear e solucionar problemas de solicitações de personalização com o Amazon CloudWatch Logs, fornecendo consultas do CloudWatch Logs Insights que você pode usar para filtrar CloudWatch os registros relacionados à sua solicitação de personalização por sua conta de destino ou ID da solicitação de personalização. Para obter mais informações, consulte Análise de dados de log com o Amazon CloudWatch Logs no Guia do usuário do Amazon CloudWatch Logs.

Para usar o CloudWatch Logs Insights para AFT
  1. Abra o CloudWatch console em https://console.aws.amazon.com/cloudwatch/.

  2. No painel de navegação, escolha Logs e, em seguida, escolha Logs insights.

  3. Escolha Consultas.

  4. Em Exemplos de consultas, escolha Account Factory for Terraform e selecione uma das seguintes consultas:

    • Registros de personalização por ID da conta

      nota

      Certifique-se de substituir “YOUR-ACCOUNT-ID” pelo ID da sua conta de destino.

      fields @timestamp, log_message.account_id as target_account_id, log_message.customization_request_id as customization_request_id, log_message.detail as detail, @logStream | sort @timestamp desc | filter log_message.account_id == "YOUR-ACCOUNT-ID" and @message like /customization_request_id/
    • Registros de personalização por ID de solicitação de personalização

      nota

      Certifique-se de substituir “YOUR-CUSTOMIZATION-REQUEST-ID” pelo ID da solicitação de personalização. Você pode encontrar seu ID de solicitação de personalização na saída da máquina de estado da estrutura AWS Step Functions de provisionamento de contas AFT. Para obter mais informações sobre a estrutura de provisionamento de contas AFT, consulte Pipeline de provisionamento de contas AFT

      fields @timestamp, log_message.account_id as target_account_id, log_message.customization_request_id as customization_request_id, log_message.detail as detail, @logStream | sort @timestamp desc | filter log_message.customization_request_id == "YOUR-CUSTOMIZATION-REQUEST-ID"
  5. Depois de selecionar uma consulta, certifique-se de selecionar um intervalo de tempo e escolha Executar consulta.