Chamar Serviços da AWS em um ambiente no 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á.

Chamar Serviços da AWS em um ambiente no AWS Cloud9

Você pode chamar Serviços da AWS de um ambiente de desenvolvimento do AWS Cloud9. Por exemplo, você pode fazer o seguinte:

  • Fazer upload e baixar os dados nos buckets do Amazon Simple Storage Service (Amazon S3).

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

  • Leia e grave dados em bancos de dados do Amazon DynamoDB (DynamoDB).

Você pode chamar os Serviços da AWS no ambiente de diversas formas. Por exemplo, use a AWS Command Line Interface (AWS CLI) ou o AWS CloudShell para executar comandos a partir de uma sessão de terminal. Você também pode chamar Serviços da AWS por meio de código executado em seu ambiente. Você pode fazer isso usando AWS SDKs para linguagens de programação, como JavaScript, Python, Ruby, PHP, Go e C++. Para obter mais informações, consulte a Amostra da aws-shell e da AWS CLI, o Manual do usuário do AWS Command Line Interface e os SDKs da AWS.

Cada vez que a AWS CLI, o AWS CloudShell ou o código chamar um AWS service (Serviço da AWS), a AWS CLI, o AWS CloudShell ou o código deverá 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, a chamada falhará.

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

Tipo de ambiente Abordagem

EC2

Use as credenciais temporárias gerenciadas pela AWS.

Recomendamos essa abordagem para um ambiente EC2. As credenciais temporárias gerenciadas pela AWS gerenciam as credenciais de acesso da AWS em um ambiente EC2 em seu nome e, ao mesmo tempo, adotam as práticas recomendadas de segurança da AWS.

Se você estiver usando um ambiente EC2, você poderá ignorar o restante deste tópico. Isto é porque as credenciais temporárias gerenciadas pela AWS já estão configuradas para você no ambiente.

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

EC2

Anexe um perfil da 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 da instância gerencia as credenciais de acesso da AWS em seu nome. No entanto, você pode criar, gerenciar e anexar o perfil da 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 no ambiente.

Essa abordagem não é tão segura quanto usar credenciais de acesso da AWS temporárias. No entanto, essa é 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 práticas recomendadas de segurança da AWS.

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

Crie e use um perfil da instância para gerenciar as 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 do perfil de uma instância. Siga essas instruções somente se, por algum motivo, você não conseguir usar as credenciais temporárias gerenciadas pela AWS. Para obter mais informações, consulte Credenciais temporárias gerenciadas pela AWS.

Esse procedimento usa o IAM e o Amazon EC2 para criar e anexar um perfil da instância do IAM à instância do Amazon EC2 que se conecta ao ambiente. Esse perfil da 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 Create an Environment (Criar um ambiente).

Conclua essas tarefas com os consoles do IAM e do Amazon EC2 ou com a interface da linha de comando da AWS (AWS CLI).

Crie um perfil da instância com o console do IAM

nota

Se você já tiver uma função do IAM que contém um perfil da instância, avance para Attach an Instance Profile to an Instance with the Amazon EC2 Console (Anexar um perfil da 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 você faça login usando as credenciais de um administrador na sua Conta da AWS. Se isso não for possível, fale com o administrador de sua 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 da instância por si só. É necessário criar uma função do IAM que contenha um perfil da instância.

  3. Selecione Create role (Criar função).

  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á esse perfil), selecione EC2.

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

  6. Escolha Next: Permissions (Próximo: permissões).

  7. Na página Attach permissions policies (Anexar políticas de permissões), na lista de políticas, marque a caixa ao lado de AdministratorAccess e, em seguida, selecione Next: Review (Próximo: revisão).

    nota

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

  8. Na página Review (Revisar), em Role Name (Nome do perfil), insira um nome para o perfil (por exemplo, my-demo-cloud9-instance-profile).

  9. Selecione Create Role (Criar função).

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

Crie um perfil da instância com a AWS CLI

nota

Se você já tiver um perfil do IAM que contenha um perfil de instância, avance para Attach an Instance Profile t o an Instance with the AWS CLI.

Para este tópico, recomendamos que você configure a AWS CLI usando as credenciais de administrador na Conta da AWS. Se isso não for possível, fale com o administrador de sua Conta da AWS.

nota

Se você estiver usando as credenciais temporárias gerenciadas pela AWS, não poderá usar uma sessão de terminal no IDE do AWS Cloud9 para executar alguns ou todos os comandos nesta seção. Para cumprir com as práticas de segurança recomendadas da AWS, a 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 da instância. Para fazer isso, crie e salve um arquivo com o seguinte conteúdo (por exemplo, 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 da instância. Para fazer isso, execute o comando create-role do IAM. Depois, especifique um nome para o novo perfil 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 as permissões de acesso da AWS à função do IAM do perfil da instância. Para fazer isso, execute o comando attach-role-policy do IAM. Especifique o nome do perfil do IAM existente e o nome do 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. Use somente para fins de experimentação. Para obter mais informações, consulte: Políticas do IAM no Manual do usuário do IAM.

  5. Crie o perfil da instância. Para fazer isso, execute o comando create-instance-profile do IAM, especificando um nome para o novo perfil da 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 da 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 o perfil da 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 até Create an Instance Profile with the AWS CLI (Criar um perfil da instância com a CLI).

Anexar um perfil da instância a uma instância com o console do Amazon EC2

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

    Para esta etapa, recomendamos que você faça login usando as credenciais de um administrador na sua Conta da AWS. Se isso não for possível, fale com o administrador de sua 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) também no seletor.

  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 Nome que inclua my-demo-environment.

  5. Selecione Actions (Ações), Security (Segurança), Modify IAM role (Modificar perfil do IAM).

    nota

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

  6. Na página Modify IAM role (Modificar perfil do IAM), em IAM role (Perfil do IAM), selecione o nome do perfil identificado ou criado no procedimento anterior e escolha Apply (Aplicar).

  7. De volta ao ambiente, use a AWS CLI para executar o comando aws configure ou o AWS CloudShell para executar o comando configure. Não especifique valores para ID da chave de acesso da AWS nem Chave de acessi 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 os recursos da AWS estiverem localizados. Por exemplo, us-east-2 para a região Leste dos EUA (Ohio). Para obter uma lista de regiões, consulte Regiões da AWS e endpoints, na Referência geral da Amazon Web Services. Opcionalmente, especifique um valor para Formato de saída padrão (por exemplo, json).

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

Anexe um perfil da instância a uma instância com a AWS CLI

nota

Se você estiver usando as credenciais temporárias gerenciadas pela AWS, não poderá usar uma sessão de terminal no IDE do AWS Cloud9 para executar alguns ou todos os comandos nesta seção. Para cumprir com as práticas de segurança recomendadas da AWS, a 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. Especifique o nome e o ID do perfil de instância e o ID da Região da AWS da instância do 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 nenhum valor para AWS Access Key ID ou AWS Secret Access Key. Pressione Enter depois de cada uma dessas instruções. 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 os recursos da AWS estiverem localizados. 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 do AWS na Referência geral da Amazon Web Services. Opcionalmente, especifique um valor para Formato de saída padrão (por exemplo, json).

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

Crie e armazene as credenciais de acesso permanentes em um ambiente

nota

Se você estiver usando um ambiente de desenvolvimento EC2 do AWS Cloud9, recomendamos o uso de credenciais temporárias gerenciadas pela AWS, em vez de credenciais de acesso permanente da AWS. Para trabalhar com a as credenciais temporárias gerenciadas pela AWS, consulte AWS credenciais temporárias gerenciadas.

Nesta seção, use o AWS Identity and Access Management (IAM) para gerar um conjunto de credenciais permanentes. A AWS CLI, o aws-shell ou seu código podem usar esse conjunto de credenciais ao chamar Serviços da AWS. Esse conjunto inclui um ID de chave de acesso da AWS e uma chave de acesso secreta da AWS, que são exclusivas para o usuário na sua Conta da AWS. Se você já tiver um ID da chave de acesso da AWS e uma chave de acesso secreta da AWS anote essas credenciais e, em seguida, avance para Store Permanent Access Credentials in an Environment (Armazenar credenciais de acesso permanentes em um ambiente).

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

Conceder acesso programático

Os usuários precisam de acesso programático se quiserem interagir com a AWS de fora do AWS Management Console. A forma de conceder acesso programático depende do tipo de usuário que está acessando a AWS.

Para conceder acesso programático aos usuários, escolha uma das seguintes opções:

Qual usuário precisa de acesso programático? Para Por

Identificação da força de trabalho

(Usuários gerenciados no Centro de Identidade do IAM)

Use credenciais temporárias para assinar solicitações programáticas para a AWS CLI, os SDKs da AWS ou as APIs da AWS.

Siga as instruções da interface que deseja utilizar.

IAM Use credenciais temporárias para assinar solicitações programáticas para a AWS CLI, os SDKs da AWS ou as APIs da AWS. Siga as instruções em Como usar credenciais temporárias com recursos da AWS no Guia do usuário do IAM.
IAM

(Não recomendado)

Use credenciais de longo prazo para assinar solicitações programáticas para a AWS CLI, os SDKs da AWS ou as APIs da AWS.

Siga as instruções da interface que deseja utilizar.

Crie credenciais de acesso permanentes com a AWS CLI

nota

Para esta seção, recomendamos que você configure a AWS CLI usando credenciais de administrador na Conta da AWS. Se isso não for possível, fale com o administrador de sua Conta da AWS.

nota

Se você estiver usando as credenciais temporárias gerenciadas pela AWS, não poderá usar uma sessão de terminal no IDE do AWS Cloud9 para executar alguns ou todos os comandos nesta seção. Para cumprir com as práticas de segurança recomendadas da AWS, a 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 da AWS 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 você 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, consulte Creating, modifying, and viewing access keys (API, CLI, PowerShell) (Criar, modificar e visualizar chaves de acesso (API, CLI, PowerShell) no Manual do usuário do IAM.

Armazenar credenciais de acesso permanentes em um ambiente

Neste procedimento, use o IDE do AWS Cloud9 para armazenar as credenciais de acesso da AWS permanentes no ambiente. Este procedimento pressupõe que você já criou um AWS Cloud9 no ambiente, abriu esse ambiente e está exibindo o IDE do AWS Cloud9 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 você tiver a AWS CLI ou o aws-shell instalado no ambiente, 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 Quick Configuration (Configuração rápida) no Manual do usuário do AWS Command Line Interface.

  1. Com o ambiente aberto, no IDE do AWS Cloud9, 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:, insira o ID da chave de acesso da AWS. Depois de AWS_SECRET_ACCESS_KEY, insira a chave de acesso secreta da AWS. Depois de AWS_DEFAULT_REGION_ID, insira o identificador da Região da AWS associado à Região da AWS mais próxima de você (ou da Região da AWS de sua preferência). Para obter uma lista dos identificadores disponíveis, consulte Regiões e endpoints da Regiões da AWS na Referência geral da Amazon Web Services. Por exemplo, para 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 a página inicial nos favoritos). Repita essa etapa e selecione também Show Hidden Files (Exibir arquivos ocultos).

    2. Abra o arquivo ~/.bashrc.

    3. Insira ou cole o código a seguir no final do arquivo. Nesses comandos, após AWS_ACCESS_KEY_ID:, insira o ID da chave de acesso da AWS. Depois de AWS_SECRET_ACCESS_KEY, insira a chave de acesso secreta da AWS. Depois de AWS_DEFAULT_REGION_ID, insira o identificador da Região da AWS associado à Região da AWS mais próxima de você (ou da Região da AWS de sua preferência). Para obter uma lista dos identificadores disponíveis, consulte Regiões e endpoints da Regiões da AWS na Referência geral da 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 no seu ambiente. Para usar a AWS CLI ou o aws-shell para chamar Serviços da AWS, consulte o Exemplo de AWS CLI e aws-shell. Para chamar Serviços da AWS no seu código, consulte nossos outros tutoriais e exemplos.