Personalize 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á.

Personalize contas com Account Factory Customization (AFC)

O AWS Control Tower permite que você personalize os novos e os existentes Contas da AWS ao provisionar seus recursos a partir do console do AWS Control Tower. Depois de configurar a personalização de fábrica da conta, 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.

Suas contas personalizadas são provisionadas na fábrica de contas, por meio de AWS CloudFormation modelos ou com o Terraform. Você definirá um modelo que serve como plano de conta personalizado. Seu blueprint descreve os recursos e configurações específicos que você precisa quando uma conta é provisionada. Planos predefinidos, criados e gerenciados por AWS parceiros, também estão disponíveis. Para obter mais informações sobre esquemas gerenciados por parceiros, consulte a Biblioteca de conceitos AWS Service Catalog básicos.

nota

O AWS Control Tower contém controles proativos, que monitoram AWS CloudFormation recursos na AWS Control Tower. Opcionalmente, você pode ativar esses controles na sua landing zone. 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 sua organização. Para obter mais informações sobre controles proativos, consulte Controles proativos.

Os planos da sua conta são armazenados em uma Conta da AWS, que, para nossos propósitos, é chamada de conta hub. Os blueprints são armazenados na forma de um produto Service Catalog. Chamamos esse produto de modelo, para diferenciá-lo de qualquer outro produto do Service Catalog. Para saber mais sobre como criar produtos do Service Catalog, consulte Criação de produtos no Guia do AWS Service Catalog Administrador.

Aplique esquemas às contas existentes

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

Antes de começar

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

Para obter mais informações sobre como trabalhar com a AFC, consulte Automatizar a personalização da conta usando a personalização da Account Factory no AWS Control Tower.

Preparação para personalização
  • Você pode criar uma nova conta para servir como conta central ou usar uma existente Conta da AWS. É altamente recomendável que você não use a conta de gerenciamento do AWS Control Tower como sua conta do Blueprint Hub.

  • Se você planeja se inscrever Contas da AWS no AWS Control Tower e personalizá-las, você deve primeiro adicionar a AWSControlTowerExecution função a essas contas, como faria com qualquer outra conta que você esteja inscrevendo no AWS Control Tower.

  • Se você planeja usar planos de parceiros que tenham requisitos de assinatura do Marketplace, você deve configurá-los na sua conta de gerenciamento da AWS Control Tower antes de implantar os planos de parceiros como esquemas de personalização de fábrica de contas.

nota

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

Considerações sobre Account Factory Customizations (AFC)

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

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

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

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

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

  • O AWS Control Tower não suporta a remoção de um plano existente e a adição de um novo plano em uma única operação de atualização do plano. Você pode remover um blueprint e depois adicionar um novo blueprint 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 blueprints, o AWS Control Tower cria um produto provisionado pelo Account Factory (por meio do Service Catalog) na conta de gerenciamento da AWS Control Tower. Se você estiver especificando a personalização ao criar ou cadastrar contas com blueprints, o AWS Control Tower não cria um produto provisionado pelo Account Factory na conta de gerenciamento da AWS Control Tower.

No caso de um erro no blueprint

Erro ao aplicar um blueprint

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

Erro ao criar a AWSControlTowerBlueprintAccess função e soluções alternativas

Ao criar a AWSControlTowerBlueprintAccess função a partir de uma conta do AWS Control Tower, você deve estar conectado como principal usando a AWSControlTowerExecution função. Se você estiver conectado como qualquer outro, a CreateRole operação será impedida por um 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" }

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

  • (Mais recomendado) Assuma a AWSControlTowerExecution função e crie a AWSControlTowerBlueprintAccess função. Se você escolher essa solução alternativa, certifique-se de sair da AWSControlTowerExecution função 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 esse SCP.

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

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

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

Quando você habilita um plano por meio da fábrica de contas, o AWS Control Tower orienta AWS CloudFormation a criação de um StackSet em seu nome. AWS CloudFormation requer acesso à sua conta gerenciada para criar AWS CloudFormation pilhas no StackSet. Embora AWS 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. AWS CloudFormation

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

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

{ "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 do AFC; AWS CloudFormation usa essa função para criar instâncias de pilha, portanto, requer permissão para realizar AWS CloudFormation ações em pilhas. A AllowSsmParameterActions seção é específica para o modelo que está sendo ativado.

Resolver problemas de permissão

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

Permissões adicionais necessárias para criar um produto Service Catalog baseado em Terraform

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

{ "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 a criação de produtos Terraform usando o tipo de produto externo em AWS Service Catalog, consulte Etapa 5: Criar funções de lançamento no Service Catalog Administrator Guide.