

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

# 使用长期凭证进行身份验证 Amazon SDKs 和工具
<a name="access-iam-users"></a>

**警告**  
为了避免安全风险，在开发专用软件或处理真实数据时，请勿使用 IAM 用户进行身份验证，而是使用与身份提供者的联合身份验证，例如 [Amazon IAM Identity Center](https://docs.amazonaws.cn/singlesignon/latest/userguide/what-is.html)。

如果您使用 IAM 用户运行您的代码，则开发环境中的软件开发工具包或工具将使用共享 Amazon `credentials`文件中的长期 IAM 用户证书进行身份验证。查看 [IAM 主题中的安全最佳实践](https://docs.amazonaws.cn/IAM/latest/UserGuide/best-practices.html#bp-users-federation-idp)，并尽快过渡到 IAM Identity Center 或其他临时凭证。

## 有关凭证的重要警告和指南
<a name="iam-warnings-and-guidelines"></a>

**有关凭证的警告**
+ ***请勿***使用账户的根凭证来访问 Amazon 资源。这些凭证可提供不受限的账户访问且难以撤销。
+ ***不得***在应用程序文件中按字面输入访问密钥或凭证信息。如果您这样做，则在将项目上传到公共存储库或在其他情况下，会有意外暴露凭证的风险。
+ ***不得***在项目区域中放入包含凭证的文件。
+ 请注意，存储在共享 Amazon `credentials`文件中的所有凭据都以纯文本形式存储。

**有关安全管理凭证的更多指南**

有关如何安全管理 Amazon 证书的一般性讨论，请参阅中的[管理 Amazon 访问密钥的最佳实践[Amazon Web Services 一般参考](https://docs.amazonaws.cn/general/latest/gr/)](https://docs.amazonaws.cn/general/latest/gr/aws-access-keys-best-practices.html)。除了上述讨论内容外，请考虑以下事项：
+ 对于 Amazon Elastic Container Service (Amazon ECS)，使用[适用于任务的 IAM 角色](https://docs.amazonaws.cn/AmazonECS/latest/developerguide/task-iam-roles.html)。
+ 对于在 Amazon EC2 实例上运行的应用程序，使用 [IAM 角色](https://docs.amazonaws.cn/IAM/latest/UserGuide/id_roles.html)。

## 先决条件：创建 Amazon 账户
<a name="signup"></a>

要使用 IAM 用户访问 Amazon 服务，您需要一个 Amazon 账户和 Amazon 证书。

1. **创建账户。**

   要创建 Amazon 账户，请参阅[入门：你是首次 Amazon 使用](https://docs.amazonaws.cn/accounts/latest/reference/welcome-first-time-user.html)吗？ 在《*Amazon 账户管理 参考指南》*中。

1. **创建管理用户。**

   请勿使用 root 用户账户（您创建的初始账户）访问管理控制台和服务。而是创建一个管理用户账户，如《IAM 用户指南》**的[创建管理用户](https://docs.amazonaws.cn/IAM/latest/UserGuide/getting-set-up.html#create-an-admin)中所述。

   创建管理用户账户并记录登录详细信息后，**务必注销根用户账户**并使用管理账户重新登录。

这两个帐户都不适合在上面进行开发 Amazon 或在上运行应用程序 Amazon。作为最佳实践，您需要创建适合这些任务的用户、权限集或服务角色。有关更多信息，请参阅《*IAM 用户指南*》中的[应用最低权限许可](https://docs.amazonaws.cn/IAM/latest/UserGuide/best-practices.html#grant-least-privilege)。

## 步骤 1：创建您的 IAM 用户
<a name="step1authIamUser"></a>
+ 按照《IAM 用户指南》**中的[创建 IAM 用户（控制台）](https://docs.amazonaws.cn/IAM/latest/UserGuide/id_users_create.html#id_users_create_console)过程操作来创建 IAM 用户。创建 IAM 用户时：
  + 我们建议您选择**向用户提供 Amazon Web Services 管理控制台访问权限**。这可让您通过可视化的环境查看与您运行的代码相关的 Amazon Web Services 服务 ，例如检查 Amazon CloudTrail 诊断日志或将文件上传到 Amazon Simple Storage Service。这在代码调试时将非常实用。
  + 对于**设置权限** - **权限选项**，请选择**直接附加策略**，以确定您向该用户分配权限的方式。
    + 大多数“入门”开发工具包教程都使用 Amazon S3 服务作为示例。要向应用程序提供对 Amazon S3 的完全访问权限，请选择要附加到此用户的 `AmazonS3FullAccess` 策略。
  + 您可以忽略该过程中有关设置权限边界或标签的可选步骤。

## 步骤 2：获取您的访问密钥
<a name="stepGetKeys"></a>

1. 在 IAM 控制台的导航窗格中，选择**用户**，然后选择您之前创建用户的 **User name**。

1. 在用户的页面上，选择**安全凭证**页面。然后，在**访问密钥**下，选择**创建访问密钥**。

1. 对于**创建访问密钥步骤 1**，选择 **命令行界面 (CLI)** 或 **本地代码**。这两个选项生成的密钥类型相同，可与 Amazon CLI 和一起使用 SDKs。

1. 对于**创建访问密钥步骤 2**，输入可选标记并选择**下一步**。

1. 对于**创建访问密钥步骤 3**，选择**下载.csv 文件**以保存包含您的 IAM 用户访问密钥和秘密访问密钥的 `.csv` 文件。稍后您将需要此信息。
**警告**  
使用适当的安全措施来确保这些凭证的安全。

1. 选择 **Done (完成)**。

## 步骤 3：更新共享 `credentials` 文件
<a name="stepauthIamUser"></a>

1. 创建或打开共享 Amazon `credentials` 文件。此文件在 Linux 和 macOS 系统上为 `~/.aws/credentials`，在 Windows 上为 `%USERPROFILE%\.aws\credentials`。有关更多信息，请参阅 [凭证文件位置](https://docs.amazonaws.cn/credref/latest/refdocs/file-location.html)。

1. 将以下文本添加到共享 `credentials` 文件中。将示例 ID 值和示例密钥值替换为先前下载的 `.csv` 文件中的值。

   ```
   [default]
   aws_access_key_id = AKIAIOSFODNN7EXAMPLE
   aws_secret_access_key = wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
   ```

   

1. 保存该文件。

共享 `credentials` 文件是存储凭证的最常见方式。它们也可以设置为环境变量，有关环境变量的名称，请参阅 [Amazon 访问密钥](feature-static-credentials.md)。这是一种入门方式，但我们建议您尽快过渡到 IAM Identity Center 或其他临时凭证。停止使用长期凭证后，请记得从共享 `credentials` 文件中删除这些凭证。