本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Authentication
AWS 将身份验证定义为在您访问的服务中设置代表您的身份的过程。通常,管理员为您分配一个身份,您可以在请求中提供凭证(如用户名和密码)或使用 AWS 访问密钥加密请求以访问该身份。
AWS 支持以下类型的身份:
-
AWS 账户根用户 – 在注册 AWS 时,您为 AWS 账户提供一个电子邮件地址和密码。AWS 使用该信息以作为账户根用户的凭证,并提供所有 AWS 资源的完全访问权限。
重要 出于安全考虑,我们建议您仅使用根用户凭证创建管理员用户,这是具有您的 AWS 账户的完全权限的 IAM 用户。然后,您可以使用此管理员用户来创建具有有限的作业或角色特定权限的其他 IAM 用户和角色。有关更多信息,请参阅IAM 用户指南 中的创建单独的 IAM 用户 (IAM 最佳实践) 和创建管理员用户和组。
-
IAM 用户 – IAM 用户是 AWS 账户中具有特定权限(例如,访问 Secrets Manager 密钥)的身份。您可以使用 IAM 用户名和密码登录到安全 AWS 网页,例如 AWS 管理控制台
、AWS 开发论坛 或 AWS 支持中心 。 除了用户名和密码,您还可以为每个用户创建访问密钥,以便通过其中一个 AWS SDKs或
命令行工具以编程方式访问 AWS 服务。 和命令行工具使用访问密钥对 API 请求进行加密签名。SDKs如果您不使用 AWS 工具,则必须自行对请求签名。AWS KMS 支持签名版本 4,这是一种用于对入站 API 请求进行身份验证的协议。有关对 API 请求进行身份验证的更多信息,请参阅AWS 一般参考 中的签名版本 4 签名流程。 -
IAM 角色 – 您可以在账户中创建具有特定权限的 IAM 角色。与 IAM 用户类似,IAM 角色不与特定人员关联。通过使用 IAM 角色,您可以获取临时访问密钥以通过编程方式访问 AWS 服务和资源。AWS 角色在以下情况下是非常有用的:
-
联合身份用户访问 – 您可以不创建 IAM 用户,而是使用来自 AWS Directory Service
、您的企业用户目录或 Web 身份提供商 (IdP) 的既有用户身份。他们被称为联合身份用户。身份提供商将 IAM 角色与联合用户相关联。有关联合身份用户的更多信息,请参阅IAM 用户指南 中的联合身份用户和角色。 -
跨账户访问 – 可以在您的 AWS 账户中使用 IAM 角色,以便为另一个 AWS 账户授予权限以访问您的账户资源。有关示例,请参阅教程:。IAM 用户指南 中的
使用 IAM 角色委派跨 AWS 账户的访问权限。 -
AWS 服务访问权限 – 可以在您的账户中使用 IAM 角色,以便为 AWS 服务授予权限以访问您的账户资源。例如,您可以创建一个角色,使其允许 Amazon Redshift 代表您访问 S3 存储桶,然后将存储在 S3 存储桶中的数据加载到 Amazon Redshift 集群中。有关更多信息,请参阅IAM 用户指南
中的创建向 AWS 服务委派权限的角色。 -
在 EC2 实例上运行的应用程序 – 并非将访问密钥存储在 EC2 实例上以供在实例上运行并发送 AWS API 请求的应用程序使用,您可以使用 IAM 角色为这些应用程序提供临时访问密钥。要将 IAM 角色分配给 EC2 实例,您可以创建实例配置文件,然后在启动实例时附加该配置文件。实例配置文件包含 IAM 角色,并允许在 EC2 实例上运行的应用程序获得临时访问密钥。有关更多信息,请参阅IAM 用户指南
中的对 Amazon EC2 上的应用程序使用角色。
-
在使用一个身份登录后,您可以使用访问控制和授权设置可执行的任务(通过您的身份)。