Chamando Serviços da AWS de um ambiente em AWS Cloud9 - AWS Cloud9

AWS Cloud9 não está mais disponível para novos clientes. Os clientes atuais do AWS Cloud9 podem continuar usando o serviço normalmente. Saiba mais

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

Chamando Serviços da AWS de um ambiente em AWS Cloud9

Você pode ligar Serviços da AWS de um ambiente AWS Cloud9 de desenvolvimento. 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 transmissão por meio de tópicos do Amazon Simple Notification Service (AmazonSNS).

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

Você pode ligar Serviços da AWS do seu ambiente de várias maneiras. Por exemplo, você pode usar o AWS Command Line Interface (AWS CLI) ou o AWS CloudShell para executar comandos 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 o exemplo AWS CLI e o aws-shell, o Guia AWS Command Line Interface do usuário e o. AWS SDKs

Cada vez que o AWS CLI AWS CloudShell, o ou seu código liga para um AWS service (Serviço da AWS), o AWS CLI AWS CloudShell, o ou seu código deve fornecer um conjunto de credenciais de AWS acesso 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 credenciais temporárias AWS gerenciadas.

Recomendamos essa abordagem para um EC2 ambiente. AWS credenciais temporárias gerenciadas gerencie as credenciais de AWS acesso em um EC2 ambiente em seu nome, além de seguir as melhores práticas AWS de segurança.

Se estiver usando um EC2 ambiente, você pode pular o restante deste tópico. Isso ocorre porque as credenciais temporárias AWS gerenciadas 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 IAM instância à instância.

Use essa abordagem somente se, por algum motivo, você não puder usar credenciais temporárias AWS gerenciadas. Semelhante às credenciais temporárias AWS gerenciadas, um perfil de instância gerencia as credenciais de AWS acesso em seu nome. No entanto, você mesmo deve criar, gerenciar e anexar o perfil da instância à EC2 instância da Amazon.

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

EC2ou SSH

Armazene suas credenciais de AWS acesso permanentes no ambiente.

Essa abordagem é menos segura do que usar credenciais de AWS acesso temporário. No entanto, é a única abordagem compatível com um SSH ambiente.

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

EC2ou SSH

Insira suas credenciais de AWS acesso permanente diretamente em seu código.

Nós desencorajamos essa abordagem porque ela não segue as melhores práticas AWS de segurança.

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

Você não pode usar esse procedimento para um ambiente AWS Cloud9 SSH de desenvolvimento. Em vez disso, avance para Criar e armazenar credenciais de acesso permanentes em um ambiente.

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

Esse procedimento usa IAM EC2 a Amazon para criar e anexar um perfil de IAM instância à EC2 instância da Amazon que se conecta ao seu 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).

Você pode concluir essas tarefas com os EC2consoles IAM e Amazon ou com a interface de linha de AWS comando (AWS CLI).

Crie um perfil de instância com o IAM console

nota

Se você já tem uma IAM função que contém um perfil de instância, vá para Anexar um perfil de instância a uma instância com o Amazon EC2 Console.

  1. Faça login no IAM console, 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

    Você não pode usar o IAM console para criar um perfil de instância sozinho. Você deve criar uma IAM função que contenha um perfil de instância.

  3. Selecione Criar função.

  4. Na página Selecionar tipo de entidade confiável, com AWS service (Serviço da AWS)já escolhido, em Escolher o serviço que usará essa função, escolha EC2.

  5. Em Selecione seu caso de uso, escolha EC2.

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

  7. Na página Anexar políticas de permissões, na lista de políticas, selecione a caixa ao AdministratorAccesslado de e escolha Avançar: Revisão.

    nota

    A AdministratorAccesspolítica permite acesso irrestrito a todas as AWS ações e recursos em seu Conta da AWS. Use somente para fins de experimentação. Para obter mais informações, consulte IAMPolíticas no Guia IAM do usuário.

  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 Criar perfil.

Avance para anexar um perfil de instância a uma instância com o Amazon EC2 Console.

Crie um perfil da instância com a AWS CLI

nota

Se você já tem uma IAM função que contém um perfil de instância, vá para Anexar um perfil de instância a uma instância com o. AWS CLI

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

nota

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

  1. Defina uma relação de confiança AWS para a IAM função 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 IAM função para o perfil da instância. Para fazer isso, execute o IAM create-role comando. Ao fazer isso, especifique um nome para a nova IAM função (por exemplo,my-demo-cloud9-instance-profile-role) e o nome do arquivo que você 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 AWS acesso à IAM função do perfil da instância. Para fazer isso, execute o IAM attach-role-policy comando. Especifique o nome da IAM função existente e o Amazon Resource Name (ARN) da política AWS gerenciada nomeadaAdministratorAccess.

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

    A AdministratorAccesspolítica permite acesso irrestrito a todas as AWS ações e recursos em seu Conta da AWS. Use somente para fins de experimentação. Para obter mais informações, consulte IAMPolíticas no Guia IAM do usuário.

  5. Crie o perfil da instância. Para fazer isso, execute o IAM create-instance-profile comando 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 IAM função ao perfil da instância. Para fazer isso, execute o IAMadd-role-to-instance-profile, especificando os nomes da IAM função e do perfil de instância existentes.

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

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

  1. Faça login no EC2 console da Amazon, 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 seu ambiente formy-demo-environment, escolha a instância com o nome que inclui my-demo-environment.

  5. Escolha Ações, Segurança, Modificar IAM função.

    nota

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

  6. Na página Modificar IAM função, em IAMfunção, escolha o nome da função que você identificou ou que você criou no procedimento anterior e, em seguida, escolha Aplicar.

  7. De volta ao ambiente, use o AWS CLI para executar o aws configure comando ou o AWS CloudShell para executar o configure comando. Não especifique nenhum valor para ID da chave de acesso da AWS ou Chave de acesso secreta da AWS (pressione Enter após cada um desses prompts). Em Nome da região padrão, especifique a Região da AWS mais próxima de você ou a região em que seus AWS recursos estão 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 ligar Serviços da AWS do seu ambiente. Para usar o AWS CLI, o aws-shell, ou ambos para ligar Serviços da AWS, consulte o exemplo AWS CLI e o aws-shell. Para chamar Serviços da AWS no 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 credenciais temporárias AWS gerenciadas, não poderá usar uma sessão de terminal no AWS Cloud9 IDE para executar alguns ou todos os comandos desta seção. Para abordar as melhores práticas de AWS segurança, as credenciais temporárias AWS gerenciadas não permitem que alguns comandos sejam executados. Em vez disso, você pode executar esses comandos a partir de uma instalação separada do AWS Command Line Interface (AWS CLI).

  1. Execute o EC2 associate-iam-instance-profile comando da Amazon. Especifique o nome do perfil da instância e o ID e o Região da AWS ID da EC2 instância da Amazon 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 EC2 describe-instances comando Amazon, especificando o nome e o Região da AWS ID 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 o AWS CLI para executar o aws configure comando ou o aws-shell para executar o configure comando. Não especifique nenhum valor para ID da chave de acesso da AWS ou Chave de acesso secreta da AWS . Pressione Enter depois de cada uma dessas instruções. Em Nome da região padrão, especifique a Região da AWS mais próxima de você ou a região em que seus AWS recursos estão 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 da 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 ligar Serviços da AWS do seu ambiente. Para usar o AWS CLI, o aws-shell, ou ambos para ligar Serviços da AWS, consulte o exemplo AWS CLI e o 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 AWS Cloud9 EC2 desenvolvimento, recomendamos usar credenciais temporárias AWS gerenciadas em vez de credenciais de acesso AWS permanentes. Para trabalhar com credenciais temporárias AWS gerenciadas, consulteAWS credenciais temporárias gerenciadas.

Nesta seção, você usa AWS Identity and Access Management (IAM) para gerar um conjunto de credenciais permanentes. O AWS CLI, o aws-shell, ou seu código pode usar esse conjunto de credenciais ao ligar Serviços da AWS. Esse conjunto inclui um ID de chave de AWS acesso e uma chave de acesso AWS secreta, que são exclusivos para seu usuário em seu Conta da AWS. Se você já tiver uma ID de chave de AWS acesso e uma chave de acesso AWS secreta, anote essas credenciais e vá para Armazenar credenciais de acesso permanentes em um ambiente.

Você pode criar um conjunto de credenciais permanentes com o IAMconsole ou o. AWS CLI

Conceder acesso programático

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

Para conceder acesso programático aos usuários, selecione 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 IAM Identity Center)

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

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

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

(Não recomendado)

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

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

Crie credenciais de acesso permanentes com o AWS CLI

nota

Para esta seção, recomendamos que você configure o AWS CLI uso de credenciais de nível de administrador em seu. Conta da AWS Se você não conseguir fazer isso, verifique com seu Conta da AWS administrador.

nota

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

Execute o IAM create-access-key comando para criar uma nova chave de AWS acesso e a chave de acesso AWS 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. Depois de executar o IAM create-access-key comando, essa é a única vez em que você pode usar o AWS CLI para visualizar a chave de acesso AWS secreta do usuário. Para gerar uma nova chave de acesso AWS secreta para o usuário posteriormente, se necessário, consulte Criação, modificação e visualização de chaves de acesso (API,CLI, PowerShell) no Guia do IAM usuário.

Armazenar credenciais de acesso permanentes em um ambiente

Neste procedimento, você usa o AWS Cloud9 IDE para armazenar suas credenciais de AWS acesso permanentes em seu ambiente. Esse procedimento pressupõe que você já criou um ambiente AWS Cloud9, abriu o ambiente e o está exibindo AWS Cloud9 IDE em seu 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 o AWS CLI ou o aws-shell instalado em seu ambiente, você pode usar o aws configurecomando para o AWS CLI ou o configurecomando para o aws-shell para, em vez disso, armazenar suas 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 seu ambiente aberto, no AWS Cloud9 IDE, inicie uma nova sessão de terminal, caso ainda não tenha sido iniciada. 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, depoisAWS_ACCESS_KEY_ID:, insira o ID da sua chave de AWS acesso. DepoisAWS_SECRET_ACCESS_KEY, insira sua chave de acesso AWS secreta. DepoisAWS_DEFAULT_REGION_ID, insira o Região da AWS identificador associado ao Região da AWS mais próximo de você (ou seu preferido Região da AWS). 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 Ambiente doIDE, escolha o ícone de engrenagem e, em seguida, escolha Mostrar Início 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, depoisAWS_ACCESS_KEY_ID:, insira o ID da sua chave de AWS acesso. DepoisAWS_SECRET_ACCESS_KEY, insira sua chave de acesso AWS secreta. DepoisAWS_DEFAULT_REGION_ID, insira o Região da AWS identificador associado ao Região da AWS mais próximo de você (ou seu preferido Região da AWS). 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 ligar Serviços da AWS do seu ambiente. Para usar o AWS CLI ou o aws-shell para ligar Serviços da AWS, consulte o exemplo AWS CLI e o aws-shell. Para chamar Serviços da AWS no seu código, consulte nossos outros tutoriais e exemplos.