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á.
Configurar o AWS SDK para Ruby
Saiba como configurar o AWS SDK para Ruby. Você precisa estabelecer como seu código deve ser autenticado com a AWS ao desenvolver com os Serviços da AWS. Você também deve definir o que Região da AWS deseja usar.
Cadeia de provedores de credenciais
Todos SDKs têm uma série de locais (ou fontes) que eles verificam para obter credenciais válidas para usar para fazer uma solicitação a um AWS service (Serviço da AWS). Depois que as credenciais válidas são encontradas, a pesquisa é interrompida. Essa busca sistemática é chamada de cadeia de provedores de credenciais padrão.
Para cada etapa da cadeia, há várias maneiras de atribuir os valores. A definição de valores diretamente no código sempre tem precedência, seguida pela configuração como variáveis de ambiente e, em seguida, no AWS config
arquivo compartilhado. Para obter mais informações, consulte Precedência de configurações no Guia AWS SDKs de referência de ferramentas.
O Guia de Referência de Ferramentas AWS SDKs e Ferramentas tem informações sobre as SDK configurações usadas por todos AWS SDKs e pelo AWS CLI. Para saber mais sobre como configurar o SDK por meio do AWS config
arquivo compartilhado, consulte Arquivos de configuração e credenciais compartilhados. Para saber mais sobre como configurar o SDK por meio da definição de variáveis de ambiente, consulte Suporte a variáveis de ambiente.
Para se autenticar AWS, o AWS SDK for Ruby verifica os provedores de credenciais na ordem listada na tabela a seguir.
Provedor de credenciais por precedência | AWS SDKsGuia de referência de ferramentas e ferramentas | AWS SDK for Ruby APIReferência |
---|---|---|
AWS chaves de acesso (credenciais temporárias e de longo prazo) | AWS teclas de acesso | |
Token de identidade da Web de AWS Security Token Service (AWS STS) | Assuma a função de provedor de credenciais Usando |
Aws::AssumeRoleWebIdentityCredentials
|
AWS IAM Identity Center. Neste guia, consulte Autenticação do SDK com a AWS. | IAMProvedor de credenciais do Identity Center | Aws::SSOCredentials |
Provedor de entidades confiável (como AWS_ROLE_ARN ). Neste guia, consulte Criação de um token de AWS STS acesso. |
Assuma a função de provedor de credenciais Usando |
Aws::AssumeRoleCredentials |
Provedor de credenciais de processo | Provedor de credenciais de processo | Aws::ProcessCredentials |
Credenciais do Amazon Elastic Container Service (AmazonECS) | Provedor de credenciais de contêiner | Aws::ECSCredentials |
Credenciais de perfil de instância do Amazon Elastic Compute Cloud (AmazonEC2) (provedor de IMDS credenciais) | IMDSprovedor de credenciais | Aws::InstanceProfileCredentials |
Se a variável de ambiente AWS SDK for Ruby AWS_SDK_CONFIG_OPT_OUT
for definida, o AWS config
arquivo compartilhado, normalmente em ~/.aws/config
, não será analisado em busca de credenciais.
Se você seguiu a abordagem recomendada para novos usuários começarem, configurou a autenticação do AWS IAM Identity Center durante a Autenticação do SDK com a AWS do tópico Conceitos básicos. Outros métodos de autenticação são úteis para situações diferentes. Para evitar riscos de segurança, recomendamos sempre usar credenciais de curto prazo. Para outros procedimentos de método de autenticação, consulte Autenticação e acesso no AWS SDKsGuia de referência de ferramentas.
Criação de um token de AWS STS acesso
Assumir uma função envolve o uso de um conjunto de credenciais de segurança temporárias que você pode usar para acessar AWS recursos aos quais você normalmente não teria acesso. Essas credenciais de segurança temporárias consistem em um ID de chave de acesso, uma chave de acesso secreta e um token de segurança. Você pode usar o método Aws::AssumeRoleCredentials
para criar um token de acesso do AWS Security Token Service
(AWS STS).
O exemplo a seguir usa um token de acesso para criar um objeto cliente do Amazon S3, onde linked::account::arn
é o Amazon Resource Name (ARN) da função a ser assumida e session-name
é um identificador para a sessão da função assumida.
role_credentials = Aws::AssumeRoleCredentials.new( client: Aws::STS::Client.new, role_arn: "
linked::account::arn
", role_session_name: "session-name
" ) s3 = Aws::S3::Client.new(credentials: role_credentials)
Para obter mais informações sobre como configurar role_arn
ourole_session_name
, ou sobre como configurá-las usando o AWS config
arquivo compartilhado, consulte Assumir a função de provedor de credenciais no Guia de referência de ferramentas AWS SDKs e ferramentas.
Definir uma região
Você precisa definir uma região ao usar a maioria dos Serviços da AWS. O AWS SDK for Ruby pesquisa uma região na seguinte ordem:
Para obter mais informações sobre a region
configuração, consulte o Guia Região da AWSde referência de ferramentas AWS SDKs e ferramentas. O restante desta seção descreve como definir uma região, começando com a abordagem mais comum.
Definir a região usando o arquivo config
compartilhado
Defina a região definindo a region
variável no AWS config
arquivo compartilhado. Para obter mais informações sobre o config
arquivo compartilhado, consulte Arquivos de configuração e credenciais compartilhados no Guia de referência de ferramentas AWS SDKs e ferramentas.
Exemplo de configuração desse valor no arquivo config
:
[default] region = us-west-2
O arquivo config
compartilhado não é verificado se a variável de ambiente AWS_SDK_CONFIG_OPT_OUT
estiver definida.
Definir a região usando variáveis de ambiente
Defina a região definindo a variável de ambiente AWS_REGION
.
Use o comando export
para definir essa variável em sistemas baseados em Unix, como Linux ou macOS. O exemplo a seguir define a região como us-west-2
.
export AWS_REGION=us-west-2
Para configurar essa variável no Windows, use o comando set
. O exemplo a seguir define a região como us-west-2
.
set AWS_REGION=us-west-2
Definir a região com o Aws.config
Defina a região adicionando um valor region
ao hash Aws.config
. O exemplo a seguir atualiza o hash Aws.config
para usar a região us-west-1
.
Aws.config.update({region: 'us-west-1'})
Todos os clientes ou recursos que você criar posteriormente estarão vinculados a essa região.
Definir a região em um objeto de cliente ou de recurso
Defina a região ao criar um AWS cliente ou recurso. O exemplo a seguir cria um objeto de recurso do Amazon S3 na região us-west-1
. Escolha a região correta para seus AWS recursos. Um objeto de cliente de serviço é imutável, então você deve criar um novo cliente para cada serviço para o qual você faz solicitações e para fazer solicitações ao mesmo serviço usando uma configuração diferente.
s3 = Aws::S3::Resource.new(region: 'us-west-1')
Definir um endpoint não padrão
A região é usada para construir um SSL endpoint a ser usado para AWS solicitações. Se você precisar usar um endpoint não padrão na região selecionada, adicione uma entrada de endpoint
ao Aws.config
. Como alternativa, defina o endpoint:
ao criar um cliente de serviço ou objeto de recurso. O exemplo a seguir cria um objeto de recurso do Amazon S3 no endpoint other_endpoint
.
s3 = Aws::S3::Resource.new(endpoint: other_endpoint)
Para usar um endpoint de sua escolha para API solicitações e fazer com que essa escolha persista, consulte a opção de configuração de endpoints específicos do serviço no Guia de referência de ferramentas e ferramentas.AWS SDKs