Criar StackSets do CloudFormation com permissões gerenciadas pelo serviço
Com as permissões service-managed
, você pode implantar instâncias de pilhas em contas gerenciadas pelo AWS Organizations em regiões específicas. Com esse modelo, você não precisa criar os perfis do IAM necessários. O StackSets cria esses perfis do IAM em seu nome. Você também pode habilitar implantações automáticas em contas adicionadas a uma organização de destino ou unidade organizacional (OU) no futuro. Com implantações automáticas habilitadas, o StackSets excluirá automaticamente instâncias de pilha de uma conta se ela for removida de uma organização de destino ou OU. Para ter mais informações, consulte Ativar o acesso confiável.
Tópicos
Considerações
Antes de criar um conjunto de pilha com permissões gerenciadas por serviço, considere o seguinte:
-
Os conjuntos de pilha com permissões gerenciadas por serviço são criados na conta de gerenciamento, incluindo conjuntos de pilha criados por administradores delegados.
-
O conjunto de pilhas pode ter como destino toda a sua organização ou unidades organizacionais (OUs) especificadas. Se o conjunto de pilhas tiver como destino a sua organização, ele também terá como destino todas as contas em todas as OUs da organização. Se o conjunto de pilhas tiver como destino OUs especificadas, ela também terá todas as contas nessas OUs como destino.
-
Se o conjunto de pilhas tiver uma OU pai como destino, o conjunto de pilhas também terá qualquer OU filha como destino.
-
Vários conjuntos de pilhas podem ter como destino a mesma organização ou OU.
-
O conjunto de pilhas não pode ter contas fora da organização como destino.
-
Seu conjunto de pilhas não pode implantar pilhas aninhadas.
-
O StackSets não implanta instâncias de pilha na conta de gerenciamento da organização, mesmo que a conta de gerenciamento esteja em sua organização ou em uma OU na sua organização.
-
A implantação automática é definida no nível do conjunto de pilhas. Não é possível ajustar implantações automáticas seletivamente para OUs, contas ou regiões.
-
As permissões da entidade principal do IAM (usuário, função ou grupo) que você usa para fazer login na conta de gerenciamento determinam se você está autorizado a implantar com o StackSets. Para obter um exemplo de política do IAM que concede permissões para implantar em uma organização, consulte Exemplo de política que concede permissões de conjunto de pilhas gerenciadas pelo serviço.
-
Os administradores delegados têm permissões completas para implantar em contas em sua organização. A conta de gerenciamento não pode limitar as permissões de administrador delegado para implantar em OUs específicas ou para executar operações específicas de conjunto de pilhas.
Criar um conjunto de pilhas com permissões gerenciadas pelo serviço (console)
-
Faça login no AWS Management Console e abra o console AWS CloudFormation em https://console.aws.amazon.com/cloudformation
. -
Na barra de navegação na parte superior da tela, escolha a Região da AWS na qual você deseja gerenciar o conjunto de pilhas.
-
No painel de navegação, escolha StackSets.
-
Na parte superior da página StackSets, escolha Criar StackSet.
-
Em Permissions (Permissões), escolha Service-managed permissions (Permissões gerenciadas pelo serviço).
nota
Se o acesso confiável com o AWS Organizations estiver desabilitado, será exibido um banner. É necessário o acesso confiável para criar ou atualizar um conjunto de pilhas com permissões gerenciadas pelo serviço. Somente o administrador na conta de gerenciamento da organização tem permissões para Ativar o acesso confiável para conjuntos de pilhas com o AWS Organizations.
-
Em Pré-requisito: prepare o modelo, escolha O modelo está pronto.
-
Em Specify template (Especificar modelo), escolha especificar o URL para o bucket do S3 que contém o modelo de pilha ou fazer upload de um arquivo de modelo de pilha. Em seguida, escolha Próximo.
-
Na página Specify StackSet details (Especificar detalhes do StackSet) forneça um nome para o conjunto de pilhas, especifique quaisquer parâmetros e escolha Next (Próximo).
-
Na página Configure StackSet options (Configurar opções do StackSet) em Tags, especifique todas as tags a serem aplicadas aos recursos em sua pilha.
-
Para Execution configuration (Configuração de execução), escolha Active (Ativo) para que o StackSets execute operações não conflitantes simultaneamente e enfileire operações conflitantes. Depois do término das operações conflitantes, o StackSets inicia as operações em fila na ordem de solicitação.
nota
Se já houver operações em execução ou em fila, o StackSets enfileirará todas as operações de entrada, mesmo que não sejam conflitantes.
Não será possível modificar a configuração de execução do conjunto de pilhas enquanto houver operações em execução ou em fila para esse conjunto de pilhas.
-
Escolha Próximo para continuar e habilitar o acesso confiável caso ainda não esteja habilitado.
-
Na página Definir opções de implantação, em Destinos de implantação, faça o seguinte:
-
Para implantar em todas as contas em sua organização, escolha Implantar na organização.
-
Para implantar em todas as contas em OUs específicas, escolha Implantar em unidades organizacionais (OUs). Escolha Add an OU (Adicionar uma OU) e cole o ID de destino na caixa de texto. Repita para cada nova OU de destino.
-
-
Em Automatic deployment (Implantação automática), escolha se os StackSets serão implantados automaticamente em contas que serão adicionadas à organização de destino ou OUs no futuro.
-
Se você habilitou a implantação automática, em Account removal behavior (Comportamento de remoção de conta), escolha se os recursos de pilha serão retidos ou excluídos quando uma conta for removida de uma organização ou OU de destino.
nota
Com a opção Retain stacks (Reter pilhas) selecionada, as instâncias de pilha são removidas do conjunto de pilhas, mas as pilhas e os recursos associados são retidos. Os recursos permanecem em seu estado atual, mas não farão mais parte do conjunto de pilhas.
-
Em Especificar regiões, escolha as regiões nas quais você deseja implantar instâncias de pilha.
-
Em Deployment options (Opções de implantação):
-
Em Máximo de contas simultâneas, configure o máximo de contas simultâneas conforme necessário.
-
Em Tolerância a falhas, configure a tolerância a falhas conforme necessário.
-
Em Simultaneidade de regiões, escolha a simultaneidade de regiões conforme necessário.
-
Em Modo de simultaneidade, escolha o modo de simultaneidade conforme necessário.
-
-
Escolha Próximo para continuar.
-
Na página Review (Revisar), verifique se o StackSets será implantado nas contas corretas nas regiões corretas e escolha Create StackSet (Criar StackSet).
A página StackSet details (Detalhes do StackSet) é aberta. Você pode visualizar o andamento e o status da criação das pilhas em seu conjunto de pilhas.
Criar um conjunto de pilhas com permissões gerenciadas pelo serviço (AWS CLI)
Quando cria conjuntos de pilhas usando a AWS CLI, você executa dois comandos separados. Durante o create-stack-set, você carrega seu modelo, cria o contêiner do conjunto de pilhas e gerencia implantações automáticas. Durante create-stack-instances, você cria instâncias de pilha em contas de destino específicas.
Ao atuar como administrador delegado, você deve definir a opção --call-as
como DELEGATED_ADMIN
toda vez que executar um comando StackSets.
--call-as
DELEGATED_ADMIN
Os conjuntos de pilha criados por um administrador delegado são criados na conta de gerenciamento da organização.
-
Use o comando de CLI de create-stack-set.
No exemplo a seguir, habilitamos implantações automáticas para permitir que o StackSets implante automaticamente em contas adicionadas à organização de destino ou em OUs no futuro. Retemos recursos de pilha quando uma conta é removida de uma organização ou OU de destino.
aws cloudformation create-stack-set \ --stack-set-name
my-stackset
\ --template-urlhttps://s3.us-west-2.amazonaws.com/cloudformation-templates-us-west-2/MyApp.template
\ --permission-modelSERVICE_MANAGED
\ --auto-deployment Enabled=true
,RetainStacksOnAccountRemoval=true
nota
Se já houver operações em execução ou em fila, o StackSets enfileirará todas as operações de entrada, mesmo que não sejam conflitantes.
Não será possível modificar a configuração de execução do conjunto de pilhas enquanto houver operações em execução ou em fila para esse conjunto de pilhas.
-
Quando o comando create-stack-set for concluído, execute o comando list-stack-sets para ver qual conjunto de pilhas foi criado. O novo conjunto de pilhas é listado nos resultados.
aws cloudformation list-stack-sets
-
Se você definir a opção
--call-as
comoDELEGATED_ADMIN
enquanto estiver conectado à sua conta de membro, list-stack-sets retornará todos os conjuntos de pilha com permissões gerenciadas por serviço na conta de gerenciamento da organização. -
Se você definir a opção
--call-as
comoSELF
enquanto estiver conectado à sua Conta da AWS, list-stack-sets retornará todos os conjuntos de pilhas autogerenciados em sua Conta da AWS. -
Se você definir a opção
--call-as
comoSELF
enquanto estiver conectado à conta de gerenciamento da organização, list-stack-sets retornará todos os conjuntos de pilhas na conta de gerenciamento da organização.
-
-
Execute o comando create-stack-instances para adicionar instâncias de pilha ao conjunto de pilhas. Para a opção
--deployment-targets
, especifique o ID da raiz da organização a ser implantada em todas as contas da organização ou especifique IDs de OUs para implantar em todas as contas nessas OUs. Neste exemplo, especificamos OUs com os IDsou-rcuk-slr5lh0a
eou-rcuk-1x5j1lwo
.aws cloudformation create-stack-instances --stack-set-name
my-stackset
\ --deployment-targets OrganizationalUnitIds='["ou-rcuk-1x5j1lwo", "ou-rcuk-slr5lh0a"]'
\ --regions'["us-west-2","us-east-1"]'
Importante
Aguarde até que uma operação seja concluída antes de iniciar outra. Você só pode executar uma operação por vez.
-
Usando o
operation-id
que foi retornado como parte da saída de create-stack-instances na etapa 4, execute o comando describe-stack-set-operation a seguir para verificar se suas instâncias de pilha foram criadas com êxito.aws cloudformation describe-stack-set-operation \ --stack-set-name
my-awsconfig-stackset
\ --operation-idoperation_ID