配置Amazon适用于 Ruby 的 开发工具包 - 适用于 Ruby 的 Amazon 开发工具包
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

配置Amazon适用于 Ruby 的 开发工具包

了解如何配置Amazon适 SDK for Ruby。要使用 SDK,必须设置Amazon凭据或创建AmazonSTS 访问令牌,并将Amazon要使用的区域。

获取您的Amazon访问密钥

访问密钥包含访问密钥 ID秘密访问密钥,用于对向 AWS 发出的编程请求进行签名。如果没有访问密钥,您可以使用 AWS 管理控制台来创建。我们建议您使用 IAM 访问密钥,而不是 AWS 根账户访问密钥。通过使用 IAM,您可以安全地控制对您的 AWS 账户中的 AWS 服务和资源的访问。

注意

要创建访问密钥,您必须拥有执行所需 IAM 操作的权限。有关更多信息,请参阅 。授予 IAM 用户管理密码策略和凭证的权限(在 IAM 用户指南中)。

要获取访问密钥 ID 和秘密访问密钥

  1. 打开 IAM 控制台

  2. 在导航菜单上,选择用户

  3. 选择您的 IAM 用户名称 (而不是复选框)。

  4. 打开安全凭证选项卡,然后选择创建访问密钥

  5. 要查看新的访问密钥,请选择显示。您的凭证与下面类似:

    • 访问密钥 ID:AKIAIOSFODNN7EXAMPLE

    • 秘密访问密钥:wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

  6. 要下载密钥对,请选择下载 .csv 文件。将这些密钥

存储在安全的位置。

重要

请对密钥保密以保护您的 AWS 账户,切勿通过电子邮件发送密钥。请勿对组织外部共享密钥,即使有来自 AWS 或 Amazon.com 的询问。合法代表 Amazon 的任何人永远都不会要求您提供秘密密钥。

相关主题

设置 Amazon 凭证

在您可以使用AmazonSDK for Ruby 调用Amazon服务,您必须将Amazon访问凭证,开发工具包将用于验证您对Amazon服务和资源.

这些区域有:Amazon适 SDK for Ruby 按以下顺序搜索凭证:

您可以在代码中覆盖这些设置。优先顺序为:

以下各节介绍设置凭证的各种方法,从最灵活的方法开始。有关 的更多信息Amazon凭证和推荐的凭证管理方法,请参阅Amazon安全凭证中的Amazon一般参考。

请注意,共享配置只加载一次,并且在创建客户端时静态提供凭证。共享凭证不会刷新。

设置共享凭证

设置共享凭据Amazon凭证配置文件。

在基于 Unix 的系统 (例如 Linux 或 OS X) 上,此文件位于以下位置。

~/.aws/credentials

在 Windows 上,此文件位于以下位置。

%HOMEPATH%\.aws\credentials

此文件必须具有以下格式,其中 default 是提供给这些凭证的默认配置文件的名称,your_access_key_id 是您的访问密钥的值,your_secret_access_key 是您的秘密访问密钥的值。

[default] aws_access_key_id = your_access_key_id aws_secret_access_key = your_secret_access_key

使用环境变量设置凭证

设置 AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY 环境变量。

使用 export 命令在基于 Unix 的系统 (例如 Linux 或 OS X) 上设置这些变量。以下示例将您的访问密钥的值设置为 your_access_key_id,并将您的秘密访问密钥的值设置为 your_secret_access_key

export AWS_ACCESS_KEY_ID=your_access_key_id export AWS_SECRET_ACCESS_KEY=your_secret_access_key

要在 Windows 上设置这些变量,请使用 set 命令,如以下示例所示。

set AWS_ACCESS_KEY_ID=your_access_key_id set AWS_SECRET_ACCESS_KEY=your_secret_access_key

使用 Aws.config 设置凭证

在您的代码中通过更新 Aws.config 哈希中的值来设置凭证。

以下示例将您的访问密钥的值设置为 your_access_key_id,并将您的秘密访问密钥的值设置为 your_secret_access_key。您随后创建的任何客户端或资源都将使用这些凭证。

Aws.config.update({ credentials: Aws::Credentials.new('your_access_key_id', 'your_secret_access_key') })

更改您的凭证位置

您也可以使用 Aws.config 将您的凭证存储在非标准位置。

以下示例会更新您的配置,将您的凭证存储在 my-path 下。

shared_creds = Aws::SharedCredentials.new(path: 'my_path') Aws.config.update(credentials: shared_creds)

在客户端对象中设置凭证

设置您的代码中的凭证,方法是在您创建Amazon客户端。

以下示例使用访问密钥创建 Amazon S3 客户端your_access_key_id和秘密访问密钥your_secret_access_key

s3 = Aws::S3::Client.new( access_key_id: 'your_access_key_id', secret_access_key: 'your_secret_access_key' )

使用 IAM 设置凭证

对于 Amazon 弹性计算云实例,创建一个Amazon Identity and Access Management角色,然后向 Amazon EC2 实例授予对该角色的访问权。有关更多信息,请参阅 。适用于 Amazon EC2 的 IAM 角色适用于 Linux 实例的 Amazon EC2 用户指南中的或适用于 Amazon EC2 的 IAM 角色适用于 Windows 实例的 Amazon EC2 用户指南中的。

创建 Amazon STS 访问令牌

使用 Aws::AssumeRoleCredentials 方法创建 Amazon Security Token Service (Amazon STS) 访问令牌。

以下示例使用访问令牌创建 Amazon S3 客户端对象,其中linked::account::arn为要担任角色的 Amazon 资源名称 (ARN),session-name是所担任角色会话的标识符。

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)

设置区域

您需要设置一个区域当使用大多数Amazon服务。您可以设置Amazon区域的方式与设置您的Amazon凭证。这些区域有:Amazon适 SDK for Ruby 按以下顺序搜索区域:

此节的其余部分介绍如何设置区域,从最灵活的方法开始。

使用环境变量设置区域

通过设置 AWS_REGION 环境变量来设置区域。

使用 export 命令在基于 Unix 的系统 (例如 Linux 或 OS X) 上设置此变量。以下示例将区域设置为 us-west-2

export AWS_REGION=us-west-2

要在 Windows 上设置此变量,请使用 set 命令。以下示例将区域设置为 us-west-2

set AWS_REGION=us-west-2

使用 Aws.config 设置区域

通过将 region 值添加到 Aws.config 哈希中来设置区域。以下示例更新 Aws.config 哈希来使用 us-west-1 区域。

Aws.config.update({region: 'us-west-1'})

您随后创建的任何客户端或资源都将绑定到此区域。

在客户端或资源对象中设置区域

设置区域,当您创建Amazon客户端或资源。以下示例在us-west-1区域。

s3 = Aws::S3::Resource.new(region: 'us-west-1')

设置非标准终端节点

如果您需要在您选择的区域中使用非标准终端节点,请向 Aws.config 中添加 endpoint 条目,或在创建服务客户端或资源对象时设置 endpoint:。以下示例在other_endpoint终端节点。

s3 = Aws::S3::Resource.new(endpoint: other_endpoint)

主题