View a markdown version of this page

Personalizar contas com Account Factory Customization (AFC) - 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á.

Personalizar contas com Account Factory Customization (AFC)

nota

O provisionamento, a atualização e a personalização de uma única conta devem ter como alvo uma unidade organizacional (OU) com a AWSControlTowerBaseline opção ativada. Se uma OU não tiver a AWSControlTowerBaseline opção ativada, você poderá ativar o registro automático da conta ou usar ResetEnabledBaseline ResetEnabledControl APIs na EnabledBaselines OU nessa OU para registrar contas. EnabledControls Para obter detalhes sobre AWSControlTowerBaseline, consulte:Tipos de linha de base que se aplicam no nível da OU.

O AWS Control Tower permite que você personalize recursos novos e existentes Contas da AWS ao provisionar seus recursos a partir do console do AWS Control Tower. Depois de configurar a personalização do Account Factory, o AWS Control Tower automatiza esse processo para provisionamento futuro, para que você não precise manter nenhum pipeline. Contas personalizadas estão disponíveis para uso imediatamente após o provisionamento dos recursos.

Provisione novas contas com esquemas

Suas contas personalizadas são provisionadas na AWS Control Tower Account Factory, por meio de CloudFormation modelos ou com o Terraform. Você definirá um modelo que serve como esquema de conta personalizado. Seu esquema descreve os recursos e configurações específicos que você precisa quando uma conta é provisionada. Pre-defined plantas, criadas e gerenciadas por AWS parceiros, também estão disponíveis. Consulte mais informações sobre esquemas gerenciados por parceiros em AWS Service Catalog Getting Started Library.

Aplicar esquemas às contas existentes

Você também pode aplicar esquemas personalizados às contas existentes seguindo as etapas de Atualizar conta no console do AWS Control Tower. Para obter detalhes, consulte Atualizar a conta no console.

Definição: sua conta central

Os planos de sua conta são armazenados em uma Conta da AWS, que para nossos propósitos é chamada de conta hub. Os esquemas são armazenados na forma de um produto do Service Catalog. Chamamos esse produto de esquema, para diferenciá-lo de qualquer outro produto do Service Catalog. Consulte mais sobre como criar produtos do Service Catalog em Creating products no Guia do administrador do AWS Service Catalog .

nota

O AWS Control Tower contém controles proativos, que monitoram recursos do CloudFormation no AWS Control Tower. Opcionalmente, você pode ativar esses controles na zona de pouso. Quando você aplica controles proativos, eles verificam se os recursos que você está prestes a implantar em suas contas estão em conformidade com as políticas e procedimentos da organização. Consulte mais informações sobre controles proativos em Proactive controls.

Consulte mais informações sobre como trabalhar com o AFC em Automate account customization using Account Factory Customization in AWS Control Tower.

Pré-requisitos

Antes de começar a criar contas personalizadas com o Account Factory do AWS Control Tower, você deve ter um ambiente de zona de pouso do AWS Control Tower implantado e uma unidade organizacional (UO) registrada no AWS Control Tower, onde suas contas recém-criadas serão colocadas.

Preparação para personalização
  • Designe uma conta hub: você pode criar uma nova conta para servir como conta hub ou pode usar uma existente Conta da AWS. É altamente recomendável não usar a conta de gerenciamento do AWS Control Tower como conta central do esquema.

  • Adicione a função necessária: se você planeja se inscrever Contas da AWS na Torre de Controle da AWS e personalizá-la, você deve primeiro adicionar a AWSControlTowerExecution função a essas contas, como faria com qualquer outra conta que você esteja inscrevendo na Torre de Controle da AWS.

  • Configurar esquemas de parceiros (opcional): se você planeja usar esquema de parceiros que tenham requisitos de assinatura do Marketplace, você deve configurá-los na sua conta gerencial do AWS Control Tower antes de implantar os esquemas de parceiros como esquemas do Account Factory Customization.

nota

Um esquema pode ser implantado por conta do AWS Control Tower.

Considerações sobre o Account Factory Customizations (AFC)

  • O AFC oferece suporte à personalização usando apenas um único AWS Service Catalog produto gráfico.

  • Os produtos AWS Service Catalog blueprint devem ser criados na conta do hub e na mesma região da região de origem da zona de aterrissagem da Torre de Controle da AWS.

  • A o perfil do IAM AWSControlTowerBlueprintAccess deve ser criado com o nome, as permissões e a política de confiança adequados.

  • O AWS Control Tower oferece duas opções de implantação para esquemas: implantar somente na região de origem ou implantar em todas as regiões administradas pelo AWS Control Tower. A seleção de regiões não está disponível.

  • Quando você atualiza um blueprint em uma conta membro, o ID da conta do blueprint hub e o produto AWS Service Catalog blueprint não podem ser alterados.

  • O AWS Control Tower não permite remover um esquema existente e adicionar um novo em uma única operação de atualização do esquema. Você pode remover um esquema e depois adicionar um novo em operações separadas.

  • O AWS Control Tower muda o comportamento, com base no fato de você estar criando ou inscrevendo contas personalizadas ou contas não personalizadas. Se você não estiver criando ou inscrevendo contas personalizadas com esquemas, o AWS Control Tower cria um produto provisionado pelo Account Factory (por meio do Service Catalog) na conta de gerenciamento do AWS Control Tower. Se você estiver especificando a personalização ao criar ou inscrever contas com esquemas, o AWS Control Tower não criará um produto provisionado pelo Account Factory na conta de gerenciamento do AWS Control Tower.

Em caso de erro de esquema

Erro ao aplicar um esquema

Se ocorrer um erro durante o processo de aplicação de um esquema em uma conta: seja uma conta nova ou existente que você esteja inscrevendo no AWS Control Tower: o procedimento de recuperação será o mesmo. A conta existirá, mas não será personalizada nem estará inscrita no AWS Control Tower. Para continuar, siga as etapas para inscrever a conta no AWS Control Tower e adicionar o esquema no momento da inscrição.

Erro ao criar o perfil AWSControlTowerBlueprintAccess e soluções alternativas

Ao criar o perfil AWSControlTowerBlueprintAccess por uma conta do AWS Control Tower, você deve ter feito login como entidade principal usando o perfil AWSControlTowerExecution. Se você tiver feito login de qualquer outra forma, a operação CreateRole será impedida por uma SCP, conforme mostrado no artefato a seguir:

{ "Condition": { "ArnNotLike": { "aws:PrincipalArn": [ "arn:aws:iam::*:role/AWSControlTowerExecution", "arn:aws:iam::*:role/stacksets-exec-*" ] } }, "Action": [ "iam:AttachRolePolicy", "iam:CreateRole", "iam:DeleteRole", "iam:DeleteRolePermissionsBoundary", "iam:DeleteRolePolicy", "iam:DetachRolePolicy", "iam:PutRolePermissionsBoundary", "iam:PutRolePolicy", "iam:UpdateAssumeRolePolicy", "iam:UpdateRole", "iam:UpdateRoleDescription" ], "Resource": [ "arn:aws:iam::*:role/aws-controltower-*", "arn:aws:iam::*:role/*AWSControlTower*", "arn:aws:iam::*:role/stacksets-exec-*" ], "Effect": "Deny", "Sid": "GRIAMROLEPOLICY" }

Estas soluções alternativas estão disponíveis:

  • (Mais recomendada) Assuma o perfil AWSControlTowerExecution e crie o perfil AWSControlTowerBlueprintAccess. Se você escolher essa solução alternativa saia do perfil AWSControlTowerExecution imediatamente depois, para evitar alterações não intencionais nos recursos.

  • Faça login em uma conta que não está inscrita no AWS Control Tower e, portanto, não está sujeita a essa SCP.

  • Edite temporariamente essa SCP para permitir a operação.

  • (Altamente não recomendada) Use sua conta de gerenciamento do AWS Control Tower como sua conta central, para que ela não esteja sujeita à SCP.

Personalizando seu documento de política para esquemas da AFC com base em CloudFormation

Quando você habilita um esquema por meio da fábrica de contas, a AWS Control Tower orienta CloudFormation a criação de um StackSet em seu nome. CloudFormation requer acesso à sua conta gerenciada para criar CloudFormation pilhas no StackSet. Embora CloudFormation já tenha privilégios de administrador na conta gerenciada por meio da AWSControlTowerExecution função, essa função não pode ser assumida por. CloudFormation

Como parte da habilitação de um esquema, a Torre de Controle da AWS cria uma função na conta do membro, que CloudFormation pode presumir a conclusão das tarefas StackSet de gerenciamento. A maneira mais simples de habilitar seu esquema personalizado por meio do Account Factory é usar uma política de permissão total, pois essas políticas são compatíveis com qualquer modelo de esquema.

No entanto, as melhores práticas sugerem que você deve restringir as permissões CloudFormation na conta de destino. Você pode fornecer uma política personalizada, que a AWS Control Tower aplica à função que ela cria CloudFormation para ser usada. Por exemplo, se o esquema criar um parâmetro do SSM chamado something-important, você poderá fornecer a seguinte política:

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "AllowCloudFormationActionsOnStacks", "Effect": "Allow", "Action": "cloudformation:*", "Resource": "arn:aws:cloudformation:*:*:stack/*" }, { "Sid": "AllowSsmParameterActions", "Effect": "Allow", "Action": [ "ssm:PutParameter", "ssm:DeleteParameter", "ssm:GetParameter", "ssm:GetParameters" ], "Resource": "arn:*:ssm:*:*:parameter/something-important" } ] }

A AllowCloudFormationActionsOnStacks declaração é obrigatória para todas as políticas personalizadas da AFC; CloudFormation usa essa função para criar instâncias de pilha, portanto, requer permissão para realizar CloudFormation ações em pilhas. A seção AllowSsmParameterActions é específica para o modelo que está sendo habilitado.

Resolver problemas de permissão

Ao habilitar um esquema com uma política restrita, você pode descobrir que não há permissões suficientes para habilitar o esquema. Para resolver esses problemas, revise seu documento de política e atualize as preferências do esquema da conta-membro para usar a política corrigida. Para verificar se a política é suficiente para ativar o blueprint, verifique se as CloudFormation permissões foram concedidas e se você pode criar uma pilha diretamente usando essa função.

Permissões adicionais necessárias para criar um produto do Terraform-based Service Catalog

Quando você está criando um produto AWS Service Catalog externo com um arquivo de configuração do Terraform para AFC, é AWS Service Catalog necessário adicionar determinadas permissões à sua política de IAM personalizada da AFC, além das permissões necessárias para criar os recursos definidos em seu modelo. Se escolher a política de administração completa padrão, você não precisará adicionar essas permissões extras.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Action": [ "resource-groups:CreateGroup", "resource-groups:ListGroupResources", "resource-groups:DeleteGroup", "resource-groups:Tag" ], "Resource": "*", "Effect": "Allow" }, { "Action": [ "tag:GetResources", "tag:GetTagKeys", "tag:GetTagValues", "tag:TagResources", "tag:UntagResources" ], "Resource": "*", "Effect": "Allow" }, { "Action": "s3:GetObject", "Effect": "Allow", "Resource": "*", "Condition": { "StringEquals": { "s3:ExistingObjectTag/servicecatalog:provisioning": "true" } } } ] }

Para obter mais informações sobre como criar produtos Terraform usando o tipo de produto externo AWS Service Catalog, consulte Etapa 5: Criar funções de lançamento no Guia do administrador do Service Catalog.

Transição para o AWS Service Catalog Tipo de produto externo

AWS Service Catalog mudou o suporte para produtos Terraform Open Source e produtos provisionados para um novo tipo de produto, chamado External. Para saber mais sobre essa transição, revise Updating existing Terraform Open Source products and provisioned products to the External product type no Guia do administrador do AWS Service Catalog .

Essa alteração afeta as contas existentes que você criou ou inscreveu com a o Account Factory Customization do AWS Control Tower. Para fazer a transição dessas contas para o tipo de produto External, você precisa fazer alterações tanto no AWS Service Catalog quanto no AWS Control Tower.

Como fazer a transição para o tipo de produto External
  1. Atualize seu mecanismo de referência existente do Terraform AWS Service Catalog para incluir suporte para os tipos de produtos externos e de código aberto do Terraform. Para obter instruções sobre como atualizar seu Terraform Reference Engine, consulte o AWS Service Catalog GitHub Repositório.

  2. Em AWS Service Catalog, duplique todos os produtos existentes do Terraform Open Source (blueprints), com as duplicatas usando o novo tipo de produto externo. Não encerre os esquemas existentes do Terraform Open Source.

  3. No AWS Control Tower, atualize cada conta usando um esquema do Terraform Open Source para usar o novo esquema External.

    1. Para atualizar um esquema, você deve primeiro remover completamente o esquema do Terraform Open Source. Consulte mais detalhes em Remove a blueprint from an account.

    2. Adicione o novo esquema External à mesma conta. Consulte mais detalhes em Add a blueprint to an AWS Control Tower account.

  4. Depois que todas as contas que usam esquemas do Terraform Open Source forem atualizadas para esquemas externos, retorne AWS Service Catalog e encerre todos os produtos que usam o Terraform Open Source como tipo de produto.

  5. No futuro, todas as contas criadas ou inscritas usando o Account Factory Customization do AWS Control Tower devem fazer referência a esquemas usando o tipo de produto CloudFormation ou External.

    Para esquemas criados usando o tipo de produto External, o AWS Control Tower permite apenas personalizações de contas que usam modelos do Terraform e o mecanismo de referência do Terraform. Para saber mais, consulte Set up for customization.

nota

O AWS Control Tower não é compatível com o Terraform Open Source como um tipo de produto ao criar contas. Para saber mais sobre essas mudanças, consulte Atualizar produtos existentes do Terraform Open Source e produtos provisionados para o tipo de produto externo no guia do administrador. AWS Service Catalog AWS Service Catalog apoiará os clientes durante essa transição de tipo de produto, conforme necessário. Entre em contato com seu representante de conta para solicitar assistência.