Постадо Оригинация Aqui.
Сдержанный
Нес Артиго ты т Passar Em Сценарий BEM STRSE PARA ITO UTILIZAR PARA EXPUTAR O CLI DA AWS EM MúLTIPLAS CONTAS SEM Precisar Ter UMA CONTA IAM NELAS.
SE VOCO USA MAIS DE UMA CONTA NA AWS EM ALGUM MOMBORTO VOCO VAI PRECISAR USAR O CLI, COMO POR Exemplo CLAIR UMA CONTA IAM PARA O TERRAFORM SUA SUA INFRAESTRUTURA, OU LISTAR TODOS OS CWESTES DE TODAS AS CONDAS.
Нота : Existe Autras Formas de Fazer Esse Acesso, Como Por Exemplo Usando O Именуемый профиль Porém Para Acessos Pontuais Acredito que Essa Maneira Que Vou Te adresentar é mais fácil de Usar.
Реквизиты
O único requisito é ó é que a contas da aws devem ter sido criadas através do aws Организации ou au aws Контрольная башня, Pois Vamos Utilizar UMA Роль que é adicionado nas contas de Maneira Automática avós aves aves aves aves aves a ass a ass a es criação por serviços.
Ах E UMA CONTA IAM OU Credencial Demorária Com Essa Permissão (NãO É RexoMendado, MAS A A Permissão Adminialador Também Funciona.) NA CONTA MASTER DA AWS (CONTA QUE VOCOOUS PARA CRAR AS CONTAS DA AWS).
COMO Funciona.
O Funcionamento É BEM STRPLES, Vamos Gerar UMA Credencial Dreamária EM CADA CONTA DA AWS Utilizando роль ОрганизацияCountaccessrole E Com Essa Credencial Vamos Executar O CLI DA AWS. Lembrando que Essa Roly É Adicionada de Maneira Automática Pelo Организации Quando UMA Conta é Criada.
Pegando ID DAS Contas
PAMEIRO PRECISAMOS DOS ID’S DAS CONTAS PARA GERAR Credencial Dreamária, Para Conseguir Essa Informação Выполнить O Comando Abaixo Para Adicionar OS IDS DAS CONTAS Нет Arquivo ‘Accounts.txt’, Esse Arquivo Pode Ser Usado No Futuro Caso Точный Executar Novamente.
#Adicione suas credenciais da conta master nessas variaveis abaixo AWS_ACCESS_KEY_ID="S" \ AWS_SECRET_ACCESS_KEY="" \ AWS_SESSION_TOKEN="" #OBS: Se você estiver utilizando conta IAM você pode remover a variavel 'AWS_SESSION_TOKEN' ###### #Esse comando vai pegar o ID de todas as contas e adicionar no arquivo accounts.txt aws organizations list-accounts --output text --query 'Accounts[].[JoinedTimestamp,Status,Id,Email,Name]' | grep -i active | sort | cut -f3 > accounts.txt
REMOVA O ID DA CONTA MASTER DO ARQUIVO ACCUTIONS.txt, Pois A CONTA CONGLE N nO TOUSU A ROLE QUE IREMOS UTILIZAR E VAI GERAR UM ERRO , NALLMENTYE O ID DA MASTER É O PAMEIRO DA LISTA, NA DúVIDA EXELE O Comando Acima Até Parte Do Greep -i Active.
PARA Vê O NOME DAS CONTAS.
Mão Na Massa
AGORA QUE TEMOS OS ID’S DAS CONTAS CRIE UM ARQUIVO CHAMADO RUN.SH E COLOQUE O Conteúdo Que Está Neste Repositório: https://github.com/renanpessoa/aws-cli-multiaccount/blob/main/run.sh.
VOCO VAI COLOCAR O COMANDO QUE DESEJA EXPUTAR NA CONTAS, NA LINHA 14 DO SCRIPT, NO EMEMPLO ASTA ESSE Comando:
aws s3 ls
EM Seguida Vovê Vai Adicionar As Credenciais Da Sua Conta (Mesma que foi initilizada para peagar id ids das contas) NAS Linhas 27,28,29 DO SCRIPT, BASTA ALTERAR ONDE ESSIVER «Add-Your-Master-Credencial»
Отказ
ASSUME_ROLE=$(AWS_ACCESS_KEY_ID="ADD-YOUR-MASTER-CREDENCIAL" \ AWS_SECRET_ACCESS_KEY="ADD-YOUR-MASTER-CREDENCIAL" \ AWS_SESSION_TOKEN="ADD-YOUR-MASTER-CREDENCIAL" \
Em Seguida de Permissão de Execução Ao Script E Выполните:
chmod +x run.sh ; ./run.sh
Правительство! Será Executado o Comando EM Todas как Contas.
Exemplo de Outhent, Nesse Caso Foi Executado EM Duas Contas o Comando AWS S3 Ls.
Account: 123456789 { "UserId": "ABACAXI:local_28-01-2021@20-40", "Account": "123456789", "Arn": "arn:aws:sts::123456789:assumed-role/AWSControlTowerExecution/local_28-01-2021@20-40" } 2020-08-02 01:20:10 meu-bucket-de-teste Account: 1011121314 { "UserId": "LARANJA:local_28-01-2021@20-41", "Account": "1011121314", "Arn": "arn:aws:sts::1011121314:assumed-role/AWSControlTowerExecution/local_28-01-2021@20-41" } 2020-08-02 01:25:10 meu-outro-bucket-de-teste
Реферис
- https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_access.html
- https://aws.amazon.com/pt/organizations/
- https://alestic.com/2017/09/aws-organizations-cli/
- https://docs.aws.amazon.com/controltower/latest/userguide/how-control-tower-works.html
Оригинал: «https://dev.to/renanpessoa/executando-aws-cli-em-multiplas-contas-de-maneira-facil-2e0g»