配置基础知识 - AWS Command Line Interface

配置基础知识

此部分介绍如何快速配置 AWS Command Line Interface (AWS CLI) 用于与 AWS 交互的基本设置。其中包括您的安全凭证、原定设置输出格式和原定设置 AWS 区域。

注意

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

使用 aws configure 快速配置

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

AWS CLI 将这些信息存储在 default 文件中名为 credentials配置文件(一个设置集合)中。预设情况下,当您运行的 AWS 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 和秘密访问密钥,用于签署对 AWS 发出的编程请求。

创建密钥对

访问密钥包含访问密钥 ID 和秘密访问密钥,用于签署对 AWS 发出的编程请求。如果没有访问密钥,您可以使用进行创建AWS Management Console。作为最佳实践,请勿在不必要时对任何任务使用AWS 账户根用户访问密钥。而是为自己创建一个具有访问密钥的新管理员 IAM 用户

仅当创建访问密钥时,您才能查看或下载秘密访问密钥。以后您无法恢复它们。不过,您随时可以创建新的访问密钥。您还必须拥有执行所需 IAM 操作的权限。有关更多信息,请参阅 IAM 用户指南中的访问 IAM 资源所需的权限

为 IAM 用户创建访问密钥

  1. 登录 AWS Management Console,单击 https://console.aws.amazon.com/iam/ 打开 IAM 控制台。

  2. 在导航窗格中,选择 Users(用户)。

  3. 选择要为其创建访问密钥的用户的名称,然后选择 Security credentials (安全凭证) 选项卡。

  4. Access keys(访问密钥)部分中,选择 Create access key(创建访问密钥)。

  5. 要查看新访问密钥对,请选择 Show (显示)。关闭此对话框后,您将无法再次访问该秘密访问密钥。您的凭证与下面类似:

    • 访问密钥 ID:AKIAIOSFODNN7EXAMPLE

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

  6. 要下载密钥对,请选择 Download .csv file(下载 .csv 文件)。将密钥存储在安全位置。关闭此对话框后,您将无法再次访问该秘密访问密钥。

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

  7. 下载 .csv 文件之后,选择 Close (关闭)。在创建访问密钥时,预设情况下,密钥对处于活动状态,并且您可以立即使用此密钥对。

相关主题

通过 .CSV 文件导入密钥对

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

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

  • 用户名称

  • 访问密钥 ID

  • 秘密访问密钥

注意

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

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

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

有关更多信息,请参阅aws_configure_import

Region

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

注意

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

输出格式

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

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

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

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

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

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

配置文件

设置的集合称为配置文件。预设情况下,AWS 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 创建的文件、其他设置和命名配置文件的更多信息。

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

配置设置和优先顺序

AWS CLI 使用位于不同位置(例如,系统或用户环境变量、本地 AWS 配置文件)或在命令行上显式声明为参数的凭证和配置设置。某些位置优先于其他位置。AWS 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 用户指南中的使用实例配置文件