Ligar para serviços AWS a partir de um ambiente em AWS Cloud9 - AWS Cloud9

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

Ligar para serviços AWS a partir de um ambiente em AWS Cloud9

Chame serviços da AWS a partir de um Ambiente de desenvolvimento do AWS Cloud9. Por exemplo, é possível:

  • Fazer upload e download de dados em buckets do Amazon Simple Storage Service (Amazon S3).

  • Enviar notificações de transmissão por meio de tópicos do Amazon Simple Notification Service (Amazon SNS).

  • Ler e gravar dados em bancos de dados do Amazon DynamoDB (DynamoDB).

Você pode chamar os serviços da AWS a partir do ambiente de diversas formas. Por exemplo, use a AWS Command Line Interface (AWS CLI) ou o aws-shell para executar comandos a partir de uma sessão de terminal. Também é possível chamar serviços da AWS a partir de código executado dentro do ambiente, usando SDKs da AWS para linguagens de programação como JavaScript, Python, Ruby, PHP, Go e C++. Para obter mais informações, consulte a Amostra da CLI da AWS e aws-shell, o Guia do usuário do AWS Command Line Interface e os SDKs da AWS.

Cada vez que a AWS CLI, o aws-shell ou seu código chamar um serviço da AWS, a AWS CLI, o aws-shell ou o código devem fornecer um conjunto de credenciais de acesso da AWS junto com a chamada. Essas credenciais determinam se o chamador tem as permissões apropriadas para realizar a chamada. Se as credenciais não cobrirem as permissões apropriadas, ocorrerá uma falha na chamada.

Existem diversas formas de fornecer as credenciais para o ambiente. A tabela a seguir descreve algumas abordagens.

Ambiente type Abordagem

EC2

Use Credenciais temporárias gerenciadas pela AWS.

Recomendamos essa abordagem para um Ambiente do EC2. Credenciais temporárias gerenciadas pela AWS gerenciar credenciais de acesso da AWS em um Ambiente do EC2 em seu nome, e, ao mesmo tempo, seguindo as melhores práticas de segurança da AWS.

Se estiver usando um ambiente do EC2, ignore o restante deste tópico, uma vez que as credenciais gerenciadas pela AWS temporárias já estão configuradas para você no ambiente.

Para obter mais informações, consulte Credenciais temporárias gerenciadas pela AWS.

EC2

Anexe um perfil de instância do IAM à instância.

Use essa abordagem somente se, por algum motivo, não conseguir usar as Credenciais temporárias gerenciadas pela AWS. Semelhante às Credenciais temporárias gerenciadas pela AWS, um perfil de instância gerencia as credenciais de acesso da AWS em seu nome. No entanto, é necessário criar, gerenciar e anexar o perfil de instância à instância do Amazon EC2 por conta própria.

Para obter instruções, consulte Criar e usar um perfil de instância para gerenciar credenciais temporárias.

EC2 ou SSH

Armazene as credenciais de acesso da AWS permanentes dentro do ambiente.

Essa abordagem não é tão segura quanto usar credenciais de acesso da AWS temporárias. No entanto, é a única abordagem compatível para um Ambiente SSH.

Para obter instruções, consulte Criar e armazenar credenciais de acesso permanentes em um ambiente.

EC2 ou SSH

Insira suas credenciais de acesso da AWS permanentes diretamente no código.

Não encorajamos essa abordagem pois ela não segue as melhores práticas de segurança da AWS.

Como não recomendamos essa abordagem, ela não será abordada nesse tópico.

Criar e utilizar um perfil de instância para gerir credenciais temporárias

nota

Não é possível usar esse procedimento para um Ambiente de desenvolvimento SSH do AWS Cloud9. Em vez disso, avance para Criar e armazenar credenciais de acesso permanentes em um ambiente.

Recomendamos usar as Credenciais temporárias gerenciadas pela AWS em vez de um perfil de instância. Siga essas instruções somente se, por algum motivo, não conseguir usar as Credenciais temporárias gerenciadas pela AWS. Para obter mais informações, consulte Credenciais temporárias gerenciadas pela AWS.

Neste procedimento, você usará o IAM e o Amazon EC2 para criar e anexar um perfil de instância do IAM à instância do Amazon EC2 que se conecta ao ambiente. Esse perfil de instância gerenciará as credenciais temporárias em seu nome. Este procedimento pressupõe que você já criou um ambiente no AWS Cloud9. Para criar um ambiente, consulte Criar um ambiente.

Você pode concluir essas tarefas com os Consoles do IAM e do Amazon EC2 ou com a Interface da linha de comando da AWS (CLI da AWS).

Crie um perfil de instância com a consola IAM

nota

Se já possui uma função do IAM que contém um perfil de instância, avance para Anexar um perfil de instância a uma instância com o console do Amazon EC2.

  1. Faça login no console do IAM em https://console.aws.amazon.com/iam.

    Para esta etapa, recomendamos que faça login usando credenciais de um usuário administrador do IAM na conta da AWS. Se isso não for possível, consulte o seu administrador de conta da AWS.

  2. Na barra de navegação, selecione Roles (Funções).

    nota

    Não é possível usar o console do IAM para criar um perfil de instância por si só. É necessário criar uma função do IAM, que contém um perfil de instância.

  3. Selecione Create role.

  4. Na página Select type of trusted entity (Selecionar o tipo de entidade confiável), com o AWS service (Serviço da AWS) já selecionado, em Choose the service that will use this role (Selecionar o serviço que usará essa função), selecione EC2.

  5. Em Select your use case (Selecionar o caso de uso), escolha EC2.

  6. Selecione Next (Próximo). Permissões

  7. No Anexar políticas de permissões , na lista de políticas, selecione a caixa junto a acesso ao administrador, e depois escolha Seguinte: Review (Revisar)

    nota

    A política AdministratorAccess concede acesso ilimitado a todas as ações e recursos da AWS para sua conta da AWS. Ela deve ser usada somente para fins de experimentação. Para obter mais informações, consulte Políticas do IAM no Guia do usuário do IAM.

  8. Na página Review (Revisar), em Role Name (Nome da função), digite um nome para a função (por exemplo my-demo-cloud9-instance-profile).

  9. Selecione Create Role.

Avance para Anexar um perfil de instância a uma instância com o console do Amazon EC2.

Crie um perfil de instância com o AWS CLI

nota

Se já possui uma função do IAM que contém um perfil de instância, avance para Anexar um perfil de instância a uma instância com a CLI da AWS.

Para este tópico, recomendamos que configure a AWS CLI usando credenciais de um usuário administrador do IAM na conta da AWS. Se isso não for possível, consulte o seu administrador de conta da AWS.

nota

Se você estiver usando o Credenciais temporárias gerenciadas pela AWS, não poderá usar uma sessão de terminal no AWS Cloud9 IDE para executar alguns ou todos os comandos nesta seção. Para abordar as melhores práticas de segurança da AWS, o Credenciais temporárias gerenciadas pela AWS não permite que alguns comandos sejam executados. Em vez disso, você pode executar esses comandos a partir de uma instalação separada da AWS Command Line Interface (AWS CLI).

  1. Defina uma relação de confiança na AWS para a função do IAM necessária do perfil de instância. Para fazer isso, crie e salve um arquivo com o seguinte conteúdo (por exemplo, como my-demo-cloud9-instance-profile-role-trust.json).

    { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "ec2.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
  2. Usando o terminal ou o prompt de comando, alterne para o diretório onde acabou de salvar esse arquivo.

  3. Crie uma função do IAM para o perfil de instância. Para fazer isso, execute o comando create-role do IAM, especificando um nome para a nova função do IAM (por exemplo, my-demo-cloud9-instance-profile-role), e o nome do arquivo que acabou de salvar.

    aws iam create-role --role-name my-demo-cloud9-instance-profile-role --assume-role-policy-document file://my-demo-cloud9-instance-profile-role-trust.json
  4. Anexe permissões de acesso da AWS à função do IAM do perfil de instância. Para fazer isso, execute o comando attach-role-policy do IAM, especificando o nome da função do IAM existente e o nome de recurso da Amazon (ARN) da política gerenciada pela AWS chamada AdministratorAccess.

    aws iam attach-role-policy --role-name my-demo-cloud9-instance-profile-role --policy-arn arn:aws:iam::aws:policy/AdministratorAccess
    nota

    A política AdministratorAccess concede acesso ilimitado a todas as ações e recursos da AWS para sua conta da AWS. Ela deve ser usada somente para fins de experimentação. Para obter mais informações, consulte Políticas do IAM no Guia do usuário do IAM.

  5. Crie o perfil de instância. Para fazer isso, execute o comando create-instance-profile do IAM, especificando um nome para o novo perfil de instância (por exemplo, my-demo-cloud9-instance-profile).

    aws iam create-instance-profile --instance-profile-name my-demo-cloud9-instance-profile
  6. Anexe a função do IAM ao perfil de instância. Para fazer isso, execute o comando add-role-to-instance-profile do IAM, especificando os nomes da função do IAM existente e do perfil de instância.

    aws iam add-role-to-instance-profile --role-name my-demo-cloud9-instance-profile-role --instance-profile-name my-demo-cloud9-instance-profile

Avance para Criar um perfil de instância com a CLI da AWS.

Anexe um perfil de instância a uma instância com o Amazon EC2 consola

  1. Faça login no console do Amazon EC2 em https://console.aws.amazon.com/ec2.

    Para esta etapa, recomendamos que faça login usando credenciais de um usuário administrador do IAM na conta da AWS. Se isso não for possível, consulte o seu administrador de conta da AWS.

  2. Na barra de navegação, verifique se o seletor de região exibe a região da AWS que corresponde àquela do ambiente. Por exemplo, se você criou o ambiente na região Leste dos EUA (Ohio), selecione US East (Ohio) (Leste dos EUA (Ohio)) no seletor de região.

  3. Selecione o link Running Instances (Instâncias em execução) ou, no painel de navegação, expanda Instances (Instâncias) e, em seguida, selecione Instances (Instâncias).

  4. Na lista de instâncias, selecione a instância com o Name (Nome) que inclui o nome do ambiente. Por exemplo, se o nome do ambiente for my-demo-environment, selecione a instância com o Name (Nome) que inclui my-demo-environment.

  5. Selecione Actions (Ações), Instance Settings (Configurações de instâncias), Attach/Replace IAM Role (Anexar/substituir função do IAM).

    nota

    Embora esteja anexando uma função à instância, a função contém um perfil de instância.

  6. Na página Attach/Replace IAM Role (Anexar/substituir função do IAM), em IAM role (Função do IAM), selecione o nome da função identificada ou criada no procedimento anterior e, em seguida, escolha Apply (Aplicar).

  7. De volta ao ambiente, use a AWS CLI para executar o comando aws configure ou o aws-shell para executar o comando configure. Não especifique valores para AWS Access Key ID (ID da chave de acesso da AWS) ou AWS Secret Access Key (Chave de acesso secreta da AWS) (pressione Enter após cada um desses prompts). Em Default region name (Nome da região padrão), especifique a região da AWS mais próxima de você ou a região onde estão localizados seus recursos da AWS. Por exemplo, us-east-2 para a região Leste dos EUA (Ohio). Para obter uma lista das regiões, consulte Regiões e endpoints da AWS no Referência geral do Amazon Web Services. Opcionalmente, especifique um valor para Default output format (Formato de saída padrão) (por exemplo, json).

Agora você pode começar a chamar serviços da AWS a partir do ambiente. Para usar a AWS CLI, o aws-shell ou ambos a fim de chamar serviços da AWS, consulte a Exemplo da CLI da AWS e aws-shell. Para chamar serviços da AWS a partir do seu código, consulte nossos outros tutoriais e exemplos.

Anexe um perfil de instância a uma instância com o AWS CLI

nota

Se você estiver usando o Credenciais temporárias gerenciadas pela AWS, não poderá usar uma sessão de terminal no AWS Cloud9 IDE para executar alguns ou todos os comandos nesta seção. Para abordar as melhores práticas de segurança da AWS, o Credenciais temporárias gerenciadas pela AWS não permite que alguns comandos sejam executados. Em vez disso, você pode executar esses comandos a partir de uma instalação separada da AWS Command Line Interface (AWS CLI).

  1. Execute o comando associate-iam-instance-profile do Amazon EC2, especificando o nome do perfil de instância, o ID e o ID da região da AWS da instância do Amazon EC2 para o ambiente.

    aws ec2 associate-iam-instance-profile --iam-instance-profile Name=my-demo-cloud9-instance-profile --region us-east-2 --instance-id i-12a3b45678cdef9a0

    No comando anterior, substitua us-east-2 pelo ID da região da AWS para a instância e i-12a3b45678cdef9a0 pelo ID da instância.

    Para obter o ID da instância você pode, por exemplo, executar o comando describe-instances do Amazon EC2, especificando o nome e o ID da região da AWS do ambiente.

    aws ec2 describe-instances --region us-east-2 --filters Name=tag:Name,Values=*my-environment* --query "Reservations[*].Instances[*].InstanceId" --output text

    No comando anterior, substitua us-east-2 pelo ID da região da AWS para a instância e my-environment pelo nome do ambiente.

  2. De volta ao ambiente, use a AWS CLI para executar o comando aws configure ou o aws-shell para executar o comando configure. Não especifique valores para AWS Access Key ID (ID da chave de acesso da AWS) ou AWS Secret Access Key (Chave de acesso secreta da AWS) (pressione Enter após cada um desses prompts). Em Default region name (Nome da região padrão), especifique a região da AWS mais próxima de você ou a região onde estão localizados seus recursos da AWS. Por exemplo, us-east-2 para a região Leste dos EUA (Ohio). Para obter uma lista das regiões, consulte Regiões e endpoints da AWS no Referência geral do Amazon Web Services. Opcionalmente, especifique um valor para Default output format (Formato de saída padrão) (por exemplo, json).

Agora você pode começar a chamar serviços da AWS a partir do ambiente. Para usar a AWS CLI, o aws-shell ou ambos a fim de chamar serviços da AWS, consulte a Exemplo da CLI da AWS e aws-shell. Para chamar serviços da AWS a partir do seu código, consulte nossos outros tutoriais e exemplos.

Criar e armazenar credenciais de acesso permanente num Ambiente

nota

Se estiver usando um Ambiente de desenvolvimento EC2 do AWS Cloud9, recomendamos o uso das Credenciais temporárias gerenciadas pela AWS em vez das credenciais de acesso permanentes da AWS. Para trabalhar com Credenciais temporárias gerenciadas pela AWS, consulte Credenciais temporárias gerenciadas pela AWS.

Nesta seção, use o AWS Identity and Access Management (IAM) para gerar um conjunto de credenciais permanentes que a AWS CLI, o aws-shell ou o seu código podem usar ao chamar serviços da AWS. Esse conjunto inclui um ID da chave de acesso da AWS e uma chave de acesso secreta da AWS, que são exclusivos para o seu usuário na sua conta da AWS. Caso já possua um ID da chave de acesso da AWS e uma chave de acesso secreta da AWS, anote essas credenciais e, em seguida, avance para Armazenar credenciais de acesso permanentes em um ambiente.

Você pode criar um conjunto de credenciais permanentes com o console do IAM ou com a CLI da AWS.

Crie credenciais de acesso permanente com a consola

  1. Faça login no console do IAM em https://console.aws.amazon.com/iam.

    Para esta etapa, recomendamos que faça login usando credenciais de um usuário administrador do IAM na conta da AWS. Se isso não for possível, consulte o seu administrador de conta da AWS.

  2. Na barra de navegação, selecione Users (Usuários).

  3. Na lista de usuários, selecione o nome do usuário criado ou identificado em Team Setup (Configuração de equipe).

  4. Selecione a guia Credenciais de segurança.

  5. Em Access keys (Chaves de acesso), selecione Create access key (Criar chave de acesso).

  6. Na página Create access key (Criar chave de acesso), selecione Show (Mostrar) e anote os valores de Access key ID (ID da chave de acesso) e Secret access key (Chave de acesso secreta). Recomendamos que também selecione Download .csv file (Fazer download do arquivo .csv) e salve essas credenciais em um local seguro.

Avance para Armazenar credenciais de acesso permanentes em um ambiente.

Crie credenciais de acesso permanente com o AWS CLI

nota

Para esta seção, recomendamos que configure a AWS CLI usando credenciais de um usuário administrador do IAM na conta da AWS. Se isso não for possível, consulte o seu administrador de conta da AWS.

nota

Se você estiver usando o Credenciais temporárias gerenciadas pela AWS, não poderá usar uma sessão de terminal no AWS Cloud9 IDE para executar alguns ou todos os comandos nesta seção. Para abordar as melhores práticas de segurança da AWS, o Credenciais temporárias gerenciadas pela AWS não permite que alguns comandos sejam executados. Em vez disso, você pode executar esses comandos a partir de uma instalação separada da AWS Command Line Interface (AWS CLI).

Execute o comando create-access-key do IAM para criar uma nova chave de acesso da AWS e a chave de acesso secreta correspondente para o usuário.

aws iam create-access-key --user-name MyUser

No comando anterior, substitua MyUser pelo nome do usuário.

Em um local seguro, salve os valores AccessKeyId e SecretAccessKey exibidos. Após executar o comando create-access-key do IAM, essa será a única vez que poderá usar a AWS CLI para visualizar a chave de acesso secreta da AWS do usuário. Para gerar uma nova chave de acesso secreta da AWS para o usuário posteriormente, se necessário, consulte Criação, modificação e exibição das chaves de acesso (API, CLI, PowerShell) no Guia do usuário do IAM.

Armazene as credenciais de acesso permanente num Ambiente

Neste procedimento, use o AWS Cloud9 IDE para armazenar as credenciais de acesso da AWS permanentes no ambiente. Este procedimento pressupõe que você já criou um ambiente no AWS Cloud9, abriu esse ambiente e está exibindo o AWS Cloud9 IDE no navegador da web. Para obter mais informações, consulte Criação de um ambiente e Abrir um ambiente.

nota

O procedimento a seguir mostra como armazenar as credenciais de acesso permanentes usando variáveis de ambiente. Se tiver a AWS CLI ou o aws-shell instalados no ambiente, em vez disso, use o comando aws configure para a AWS CLI ou o comando configure para o aws-shell a fim de armazenar as credenciais de acesso permanentes. Para obter instruções, consulte Configuração rápida no Guia do usuário do AWS Command Line Interface.

  1. Com o ambiente aberto, no AWS Cloud9 IDE, inicie uma nova sessão de terminal, caso ainda não tenha iniciado. Para iniciar uma nova sessão de terminal, na barra de menus, selecione Window (Janela), New Terminal (Novo terminal).

  2. Execute cada um dos seguintes comandos, um por vez, para definir variáveis de ambiente locais que representam as credenciais de acesso permanentes. Nesses comandos, após AWS_ACCESS_KEY_ID:, digite o ID da chave de acesso da AWS. Após AWS_SECRET_ACCESS_KEY, digite a chave de acesso secreta da AWS. Após AWS_DEFAULT_REGION_ID, digite o identificador da região da AWS associada à região mais próxima de você (ou sua região da AWS preferida). Para obter uma lista dos identificadores disponíveis, consulte Regiões e endpoints da AWS na Referência geral do Amazon Web Services. Por exemplo, para a região Leste dos EUA (Ohio), use us-east-2.

    export AWS_ACCESS_KEY_ID= export AWS_SECRET_ACCESS_KEY= export AWS_DEFAULT_REGION=
  3. Observe que as variáveis de ambiente anteriores são válidas apenas para a sessão de terminal atual. Para tornar essas variáveis de ambiente disponíveis para todas as sessões de terminal, é necessário adicioná-las ao arquivo de perfil de shell como variáveis de ambiente do usuário, da seguinte forma.

    1. Na janela Environment (Ambiente) do IDE, selecione o ícone de engrenagem e, em seguida, escolha Show Home in Favorites (Exibir o início nos favoritos). Repita essa etapa e selecione também Show Hidden Files (Exibir arquivos ocultos).

    2. Abra o arquivo ~/.bashrc.

    3. Digite ou cole o código a seguir no final do arquivo. Nesses comandos, após AWS_ACCESS_KEY_ID:, digite o ID da chave de acesso da AWS. Após AWS_SECRET_ACCESS_KEY, digite a chave de acesso secreta da AWS. Após AWS_DEFAULT_REGION_ID, digite o identificador da região da AWS associada à região mais próxima de você (ou sua região da AWS preferida). Para obter uma lista dos identificadores disponíveis, consulte Regiões e endpoints da AWS na Referência geral do Amazon Web Services. Por exemplo, para a região Leste dos EUA (Ohio), use us-east-2.

      export AWS_ACCESS_KEY_ID= export AWS_SECRET_ACCESS_KEY= export AWS_DEFAULT_REGION=
    4. Salve o arquivo.

    5. Extraia o arquivo ~/.bashrc para carregar essas novas variáveis de ambiente.

      . ~/.bashrc

Agora você pode começar a chamar serviços da AWS a partir do ambiente. Para usar AWS CLI ou aws-shell a fim de chamar serviços da AWS, consulte a Exemplo da CLI da AWS e aws-shell. Para chamar serviços da AWS a partir do seu código, consulte nossos outros tutoriais e exemplos.