配置基础知识 - Amazon Command Line Interface
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

配置基础知识

此部分介绍如何使用 Amazon Command Line Interface (Amazon CLI) 用来与 Amazon 交互的 configcredentials 文件,快速配置基本设置。其中包括您的安全凭证、原定设置输出格式和原定设置 Amazon 区域。如需改为查看 Amazon IAM Identity Center (successor to Amazon Single Sign-On) 的配置说明,请参阅 配置 Amazon CLI 以使用 Amazon IAM Identity Center (successor to Amazon Single Sign-On)

注意

Amazon要求所有传入的请求都进行加密签名。Amazon CLI 为您执行该操作。“签名”包括日期/时间戳。因此,您必须确保正确设置电脑的日期和时间。否则,如果签名中的日期/时间与 Amazon 服务认定的日期/时间相差太远,Amazon 会拒绝请求。

使用 aws configure 快速配置

对于一般用途,aws configure 命令是设置 Amazon CLI 安装的最快方法。输入该命令时,Amazon CLI 会提示您输入四条信息:

Amazon CLI 将这些信息存储在 default 文件中名为 credentials配置文件(一个设置集合)中。预设情况下,当您运行的 Amazon CLI 命令未明确指定要使用的配置文件时,将使用此配置文件中的信息。有关 credentials 文件的更多信息,请参阅配置和凭证文件设置

以下示例显示了示例值。将它们替换为您自己的值,如以下部分所述。

$ aws configure AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY Default region name [None]: us-west-2 Default output format [None]: json

访问密钥 ID 和秘密访问密钥

访问密钥使用访问密钥 ID 和秘密访问密钥,用于签署对 Amazon 发出的编程请求。

创建密钥对

如果用户需要在 Amazon Web Services Management Console 之外与 Amazon 交互,则需要编程式访问权限。Amazon API 和 Amazon Command Line Interface 需要访问密钥。可能的话,创建临时凭证,该凭证由一个访问密钥 ID、一个秘密访问密钥和一个指示凭证何时到期的安全令牌组成。

要向用户授予编程式访问权限,请选择以下选项之一。

哪个用户需要编程式访问权限? 目的 方式
IAM 使用短期凭证签署对 Amazon CLI 或 Amazon API 的编程式请求(直接或使用 Amazon SDK)。 按照《IAM 用户指南》将临时凭证用于 Amazon 资源中的说明进行操作。
IAM 使用长期凭证签署对 Amazon CLI 或 Amazon API 的编程式请求(直接或使用 Amazon SDK)。

(不推荐使用)

按照《IAM 用户指南》管理 IAM 用户的访问密钥中的说明进行操作。

通过 .CSV 文件导入密钥对

可以在创建密钥对之后导入下载的 .csv 文件,而不是使用 aws configure 输入密钥对。

.csv 文件必须包含以下标头。

  • 用户名 - 必须将此列添加到您的 .csv。这用于在导入时创建配置文件名称。

  • 访问密钥 ID

  • 秘密访问密钥

注意

在创建初始密钥对期间,一旦您关闭 Download .csv file(下载 .csv 文件)对话框,在关闭该对话框之后就无法访问秘密访问密钥了。如果您需要 .csv 文件,则需要自己创建一个包含所需标头和存储的密钥对信息的文件。如果您无法访问密钥对信息,则需要创建新的密钥对。

要导入 .csv 文件,请将 aws configure import 命令与 --csv 选项结合使用,如下所示:

$ aws configure import --csv file://credentials.csv

有关更多信息,请参阅aws_configure_import

区域

Default region name 标识默认情况下您要将请求发送到的服务器所在的 Amazon 区域。通常是离您最近的区域,但可以是任意区域。例如,您可以键入 us-west-2 以使用美国西部(俄勒冈)。除非在命令中另行指定,否则这是所有后续请求将发送到的区域。

注意

使用 Amazon 时,必须明确指定或通过设置原定设置区域来指定 Amazon CLI 区域。有关可用区域的列表,请参阅区域和终端节点。Amazon CLI 使用的区域指示符与您在 Amazon Web Services Management Console URL 和服务终端节点中看到的名称相同。

输出格式

Default output format 指定结果的格式。可以是以下列表中的任何值。如果未指定输出格式,则原定设置使用 json

  • json – 输出采用 JSON 字符串的格式。

  • yaml – 输出采用 YAML 字符串的格式。

  • yaml-stream – 输出被流式处理并采用 YAML 字符串的格式。串流支持更快地处理大型数据类型。

  • text – 输出采用多个制表符分隔字符串值行的格式。这对于将输出传递到文本处理器(如 grepsedawk)很有用。

  • table – 输出采用表格形式,使用字符 +|- 以形成单元格边框。它通常以“人性化”格式呈现信息,这种格式比其他格式更容易阅读,但从编程方面来讲不是那么有用。

配置文件

设置的集合称为配置文件。预设情况下,Amazon CLI 使用 default 配置文件。您可以通过指定 --profile 选项并指定名称来创建和使用具有不同的凭证和设置的其他命名配置文件。

以下示例创建一个名为 produser 的配置文件。

$ aws configure --profile produser AWS Access Key ID [None]: AKIAI44QH8DHBEXAMPLE AWS Secret Access Key [None]: je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY Default region name [None]: us-east-1 Default output format [None]: text

之后,您可以指定 --profile profilename 并使用按该名称存储的凭证和设置。

$ aws s3 ls --profile produser

要更新这些设置,请再次运行 aws configure(根据要更新的配置文件,使用或不使用 --profile 参数),并根据需要输入新值。下面几节包含有关 aws configure 创建的文件、其他设置和命名配置文件的更多信息。

有关命名配置文件的更多信息,请参阅Amazon CLI 的命名配置文件

配置设置和优先顺序

Amazon CLI 使用位于不同位置(例如,系统或用户环境变量、本地 Amazon 配置文件)或在命令行上显式声明为参数的凭证和配置设置。某些位置优先于其他位置。Amazon CLI 凭证和配置设置的优先顺序如下:

  1. 命令行选项 – 覆盖任何其他位置的设置。您可以在命令行上指定 --region--output--profile 作为参数。

  2. 环境变量 – 您可以在系统的环境变量中存储值。

  3. CLI 凭证文件 – 在运行 credentials 命令时,将更新 configaws configure 文件。credentials 文件位于 ~/.aws/credentials(在 Linux 或 macOS 上)或 C:\Users\USERNAME\.aws\credentials(在 Windows 上)。该文件可以包含 default 配置文件和任何命名配置文件的凭证详细信息。

  4. CLI 配置文件 – 在运行 credentials 命令时,将更新 configaws configure 文件。config 文件位于 ~/.aws/config(在 Linux 或 macOS 上)或 C:\Users\USERNAME\.aws\config(在 Windows 上)。该文件包含原定设置配置文件和任何命名配置文件的配置设置。

  5. 容器凭证 – 您可以将 IAM 角色与每个 Amazon Elastic Container Service (Amazon ECS) 任务定义关联。之后,该任务的容器就可以使用该角色的临时凭证。有关更多信息,请参阅 Amazon Elastic Container Service 开发人员指南中的任务的 IAM 角色

  6. Amazon EC2 实例配置文件凭证 – 您可以将 IAM 角色与每个 Amazon Elastic Compute Cloud (Amazon EC2) 实例关联。之后,在该实例上运行的代码就可以使用该角色的临时凭证。凭证通过 Amazon EC2 元数据服务提供。有关更多信息,请参阅 Amazon EC2 用户指南(适用于 Linux 实例)中的 Amazon EC2 的 IAM 角色IAM 用户指南中的使用实例配置文件