Módulo 3: Configurar a AWS CLI
TUTORIAL
Configurar a AWS CLI
Neste módulo, você configurará a AWS Command Line Interface (CLI)
O que você aprenderá
- Instalar a AWS Command Line Interface (AWS CLI) para seu sistema operacional
- Configurar as credenciais para acessar sua conta da AWS
- Configurar vários perfis para acessar diferentes contas da AWS
Implementação
A AWS CLI é uma ferramenta unificada para gerenciar os serviços da AWS. Com apenas uma ferramenta para baixar e configurar, você poderá controlar vários produtos da AWS pela linha de comando e automatizá-los usando scripts.
Para interagir com a AWS usando a CLI, precisamos configurar as credenciais que ela usará para fazer chamadas de API. Também mostraremos como você pode configurar vários perfis para acessar mais de uma conta da AWS, seja com credenciais adicionais ou por meio da alternância de perfis do IAM.
Tempo para a conclusão
10 minutos
Requisitos do módulo
- Um navegador da Internet
- Uma conta da AWS
Obtenha ajuda
Instalar a AWS CLI
Existem diferentes maneiras de instalar a AWS CLI, dependendo do sistema operacional ou da sua preferência de usar contêineres. Para instalar a AWS CLI v2, consulte Instalação ou atualização da versão mais recente da AWS CLI.
Depois que a AWS CLI estiver instalada, você poderá executar aws --version em sua linha de comando e ver a seguinte saída (a versão poderá ser diferente):
aws --version
Por exemplo, a resposta ao instalar a AWS CLI no Windows 10 é a seguinte:
A AWS CLI agora está instalada e está tudo pronto para configurar suas credenciais.
Configurar as credenciais da AWS CLI
Para configurar as credenciais, use o comando < aws configure sso> para incluir as credenciais do usuário criadas no módulo anterior deste tutorial.
Na CLI, execute o comando <aws configure sso>. Você deverá fornecer as seguintes informações:
- Nome da sessão de SSO: fornece um nome para a sessão que está incluída nos registros do AWS CloudTrail para entradas associadas a esta sessão. Se você não inserir um nome, um será gerado automaticamente. Para este tutorial, use <Test1>.
- URL inicial do SSO: a URL do portal de acesso da AWS que você recebeu ao configurar o Centro de Identidade do IAM.
- Região SSO: Neste tutorial, os exemplos usam <us-east-1>. Quando você executar os comandos, especifique a região na qual você habilitou o Centro de Identidade do IAM. Encontre essas informações no Console de Gerenciamento da AWS, no resumo das configurações do painel do Centro de Identidade do IAM.
- Escopos de registro de SSO: os escopos autorizam o acesso a diferentes endpoints. Neste tutorial, usaremos o escopo mínimo de <sso:account:access> para recuperar um token de atualização do serviço Centro de Identidade do IAM.
Você precisará inserir cada um desses itens no terminal depois de inserir o comando <aws configure sso>.
aws configure sso
Observação: se você não souber o URL inicial ou a região da sua conta, faça login no console como usuário raiz e acesse o Painel do Centro de Identidade do IAM. A região e o URL do portal de acesso da AWS são exibidos no Resumo das configurações.
O código de exemplo a seguir mostra o conteúdo da CLI nesse estágio:
$ aws configure sso
Nome da sessão de SSO (recomendado): Test1
URL de início do SSO [Nenhum]: https://my-sso-portal.awsapps.com/start
Região da SSO [Nenhuma]: us-east-1
Escopos de registro da SSO [Nenhum]: sso:account:access
A CLI tenta abrir automaticamente a página de autorização da SSO no navegador padrão e inicia o processo de login da sua conta do Centro de Identidade do IAM.
Depois de fornecer a senha (e a credencial de MFA, se ativada), você deverá permitir o acesso aos seus dados. Isso concede permissões à AWS CLI para recuperar e exibir as contas e funções da AWS que você está autorizado a usar com o Centro de Identidade do IAM.
Como a AWS CLI é criada com base no SDK para Python, as mensagens de permissão podem conter variações do nome botocore, como botocore-client-test1. Selecione Permitir. Após a autenticação, você será a informação de que pode fechar a janela.
A CLI atualizará e mostrará as contas e funções da AWS que estiverem disponíveis para você. Como você configurou apenas uma conta da AWS com a função AdministratorAccess neste momento, essa é a conta e a função com as quais você se conectou. A janela da CLI agora deve ter estas linhas exibidas:
A única conta da AWS disponível para você é: 111122223333
Usando o ID da conta 111122223333
A única função disponível para você é: AdministratorAccess
Usando o nome da função "AdministratorAccess"
Em seguida, você deverá especificar o formato de saída padrão, a região padrão da AWS para a qual enviar comandos e fornecer um nome para a função para que você possa referenciar essa função ao executar os comandos na CLI.
O nome do perfil sugerido é o número de ID da conta seguido por um sublinhado e pelo nome da função. No entanto, neste tutorial, usaremos um nome de perfil mais curto, admin-1. A janela da CLI agora deve ter estas linhas exibidas:
Para usar esse perfil, especifique o nome do perfil usando --perfil, conforme mostrado:
aws s3 ls --profile admin-1
Agora, execute o comando <aws ec2 describe-vpcs> para verificar se a configuração está correta. Cada nova conta da AWS tem VPCs padrão configuradas para que você possa executar esse comando sem ter nenhum outro serviço configurado em sua conta da AWS.
aws ec2 describe-vpcs
Sua janela da CLI agora deve exibir as informações abaixo.
Isso confirma que a AWS CLI foi configurada corretamente.
Ao realizar esse procedimento, você atualizou o arquivo do AWS Config com uma seção sso-session e um perfil nomeado.
O arquivo de configuração está localizado em ~/.aws/config nos computadores que executam Linux ou macOS, ou em C:\Users\ USERNAME \.aws\config nos computadores que executam Windows. Se você abrir seu arquivo de configuração, verá estas duas seções:
aws ec2 describe-vpcs --profile admin-1
{
"Vpcs": [
{
"CidrBlock": "10.0.0.0/16",
"DhcpOptionsId": "dopt-d12345",
"State": "available",
"VpcId": "vpc-0123456789abcdef",
"OwnerId": "111122223333",
"InstanceTenancy": "default",
............"CidrBlockAssociationSet": [
... {
....................."AssociationId": "vpc-cidr-assoc-38b060a751a39af8e",
....................."CidrBlock": "10.24.34.0/23",
....................."CidrBlockState": {
........................."State": "associated"
......................}
................}
............],
............"IsDefault": true
.........}
]
}
[administrador do perfil-1]
sso_session = Test1
sso_account_id = 111122223333
sso_role_name = AdministratorAccess
region = us-east-1
output = json
[sso-session Test1]
sso_region = us-east-1
sso_start_url = https://my-sso-portal.awsapps.com/start
sso_registration_scopes = sso:account:access
Agora você pode use perfil e sessão do sso para solicitar credenciais usando o comando <aws sso login>.
aws sso login
A janela da CLI agora deve exibir as seguintes informações:
aws sso login -—perfil admin-1
Tentativa de abrir automaticamente a página de autorização do SSO em seu navegador padrão.
Se o navegador não abrir ou você quiser usar um dispositivo diferente para autorizar essa solicitação, abra o seguinte URL:
https://device.sso.us-east1.amazonaws.com/
Em seguida, insira o código:
XXXX-XXXX
Navegue até a janela do navegador e permita o acesso aos seus dados. Quando você retorna à janela da CLI, a seguinte mensagem tem essa linha exibida:
Conectado com sucesso na URL inicial: https://my-sso-portal.awsapps.com/start
Configurar vários perfis (opcional)
Ao adicionar funções à sua conta da AWS e adicionar outras contas da AWS à sua organização, repita o procedimento acima para criar um perfil para essas funções e contas.
À medida que você aumenta a complexidade, é recomendável ter uma estratégia de nomenclatura de perfil que associe IDs de contas e nomes de funções da AWS para que você possa distinguir entre os perfis.
Conclusão
Parabéns! Você aprendeu como configurar a AWS CLI e configurar um perfil nomeado. No próximo módulo, você aprenderá a configurar o AWS Cloud9, um IDE baseado na nuvem.