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

AFTpode implantar configurações padrão ou personalizadas em contas provisionadas. Na conta AFT de gerenciamento, 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 eles 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. AFT Para personalizar contas retroativamente, consulte Invocar novamente personalizações.

Personalizações globais (opcional)

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

Personalizações de conta (opcional)

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

Pré-requisitos de personalização

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

Aplicar personalizações globais

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

  • Se as 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 as suas configurações personalizadas estiverem na forma de scripts Bash, coloque-as na pasta api_helpers em seu repositório.

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

  • Consulte o README arquivo global de personalizações 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 de AFT contas no pipeline. AFT

Aplicar 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 AFT pipeline 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 que você precisar, use as etapas a seguir.

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

    No repositório escolhido, copie a ACCOUNT_TEMPLATE pasta AFT fornecida 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. Adicionar as configurações à pasta específica de personalizações de conta

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

    • Se suas configurações personalizadas estiverem na forma de programas ou scripts em Python, coloque-as na pasta /api_helpers/python que está [account_customizations_name]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 de README personalizações da conta.

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

    O arquivo de solicitação de AFT conta inclui o parâmetro de entradaaccount_customizations_name. Insira o nome da personalização de 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 entrada account_customizations_name em suas solicitações de conta. Consulte mais informações em Submit multiple account requests.

Invocar novamente personalizações

AFTfornece uma maneira de invocar novamente as personalizações no pipeline. 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, AFT inicia o pipeline de personalizações para fazer alterações na conta provisionada. 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. AFT

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

Você pode atualizar suas personalizações globais e de conta conforme necessário e enviar as alterações de volta aos repositórios git. 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 da AWS Step Function para reinvocar personalizações

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

Aqui está um exemplo de um esquema de evento (JSONformato) que você pode criar para passar a entrada para a função aft-invoke-customizations AWS Step.

{ "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 nova invocação. Você pode filtrar por unidade organizacional (UO), tags de conta e ID de conta. Se você não aplicar nenhum filtro e incluir a declaração"type":"all", a personalização de todas as contas AFT provisionadas será invocada novamente.

nota

Se sua versão do AWS Control Tower Account Factory for Terraform (AFT) for 1.6.5 ou posterior, você pode segmentar (aninhado OUs 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. AFTpode invocar no máximo 5 personalizações por vez. O 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 da AWS Step Function e observe a AWS CodePipeline execução

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

  • Navegue até AWS CodePipeline Ferramentas do desenvolvedor e veja os canais de personalização correspondentes para o ID da conta.

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

Fluxos de trabalho de personalização de contas baseados em registros de emissão contendo a conta de destino e a solicitação de AWS Lambda personalização. IDs AFTpermite 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 pela 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 à esquerda, escolha Logs e, depois, Log Insights.

  3. Escolha Consultas.

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

    • Logs de personalização por ID da conta

      nota

      Certifique-se de "YOUR-ACCOUNT-ID" substituir 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/
    • Logs de personalização por ID de solicitação de personalização

      nota

      Certifique-se de "YOUR-CUSTOMIZATION-REQUEST-ID" substituir 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 AFT contas. Para obter mais informações sobre a estrutura de provisionamento de AFT contas, consulte pipeline de provisionamento de AFTcontas

      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, escolha um intervalo de tempo e selecione Executar consulta.