什么是 IAM?
Amazon Identity and Access Management (IAM) 是一种 Web 服务,可以帮助您安全地控制对 Amazon 资源的访问。借助 IAM,您可以集中管理控制用户可访问哪些 Amazon 资源的权限。可以使用 IAM 来控制谁通过了身份验证(准许登录)并获得授权(拥有权限)来使用资源。
当您创建 Amazon Web Services 账户时,最初使用的是一个对账户中所有 Amazon Web Services和资源拥有完全访问权限的登录身份。此身份称为 Amazon Web Services 账户根用户,使用您创建账户时所用的电子邮件地址和密码登录,即可获得该身份。强烈建议您不要使用根用户执行日常任务。保护好根用户凭证,并使用这些凭证来执行仅根用户可以执行的任务。有关要求您以根用户身份登录的任务的完整列表,请参阅《Amazon Account Management 参考指南》中的需要根用户凭证的任务。
目录
IAM 视频介绍
Amazon 培训和认证提供了介绍 IAM 的 10 分钟视频:
Amazon Identity and Access Management 简介
IAM 功能
IAM 为您提供以下功能:
- 对您 Amazon Web Services 账户 的共享访问权限
-
您可以向其他人员授予管理和使用您 Amazon 账户中的资源的权限,而不必共享您的密码或访问密钥。
- 精细权限
-
您可以针对不同资源向不同人员授予不同权限。例如,您可以允许某些用户完全访问 Amazon Elastic Compute Cloud (Amazon EC2)、Amazon Simple Storage Service (Amazon S3)、Amazon DynamoDB、Amazon Redshift 以及其他 Amazon 服务。对于另一些用户,您可以允许仅针对某些 S3 存储桶的只读访问权限,或是仅管理某些 EC2 实例的权限,或是访问您的账单信息但无法访问任何其他内容的权限。
- 在 Amazon EC2 上运行的应用程序针对 Amazon 资源的安全访问权限
-
您可以使用 IAM 功能安全地为 EC2 实例上运行的应用程序提供凭证。这些凭证为您的应用程序提供权限以访问其他 Amazon 资源。示例包括 S3 存储桶和 DynamoDB 表。
- 多重身份验证 (MFA)
-
您可以向您的账户和各个用户添加双重身份验证以实现更高安全性。借助 MFA,您或您的用户不仅必须提供使用账户所需的密码或访问密钥,还必须提供来自经过特殊配置的设备的代码。如果您已将 FIDO 安全密钥与其他服务配合使用,则该密钥应该具有 Amazon 支持的配置,您可以使用 WebAuthn 实现 MFA 安全性。有关更多信息,请参阅使用 FIDO 安全密钥的受支持配置。
- 联合身份
-
您可以允许已在其他位置(例如,在您的企业网络中或通过互联网身份提供程序)获得密码的用户获取对您 Amazon Web Services 账户 的临时访问权限。
- 实现保证的身份信息
-
如果您使用 Amazon CloudTrail
,则会收到日志记录,其中包括有关对您账户中的资源进行请求的人员的信息。这些信息基于 IAM 身份。 - PCI DSS 合规性
-
IAM 支持由商家或服务提供商处理、存储和传输信用卡数据,而且已经验证符合支付卡行业 (PCI) 数据安全标准 (DSS)。有关 PCI DSS 的更多信息,包括如何请求 Amazon PCI Compliance Package 的副本,请参阅 PCI DSS 第 1 级
。 - 已与很多 Amazon 服务集成
-
有关使用 IAM 的 Amazon 服务的列表,请参阅 使用 IAM 的Amazon服务。
- 最终一致性
-
IAM 和很多其他 Amazon 服务一样,具备最终一致性
。IAM 通过复制 Amazon 在全球的数据中心内多个服务器上的数据实现高可用性。如果成功请求更改某些数据,则更改会提交并安全存储。不过,更改必须跨 IAM 复制,这需要时间。此类更改包括创建或更新用户、组、角色或策略。在应用程序的关键、高可用性代码路径中,我们不建议进行此类 IAM 更改。而应在不常运行的、单独的初始化或设置例程中进行 IAM 更改。另外,在生产工作流程依赖这些更改之前,请务必验证更改已传播。有关更多信息,请参阅我所做的更改可能不会立即可见。 - 免费使用
-
Amazon Identity and Access Management (IAM) 和 Amazon Security Token Service (Amazon STS) 是为您的 Amazon 账户提供的一项功能,不会另外收费。只有在您使用 IAM 用户或 Amazon STS 临时安全证书访问其他 Amazon 服务时才会向您收取费用。有关其他 Amazon 产品的定价信息,请参阅 Amazon Web Services 定价页面
。
访问 IAM
您可以通过以下任何方式使用 Amazon Identity and Access Management。
- Amazon Web Services Management Console
-
控制台是用于管理 IAM 和 Amazon 资源的基于浏览器的界面。有关通过控制台访问 IAM 的更多信息,请参阅《Amazon 登录 用户指南》中的如何登录 Amazon。
- Amazon 命令行工具
-
您可以使用 Amazon 命令行工具,在系统的命令行中发出命令以执行 IAM 和 Amazon 任务。与控制台相比,使用命令行更快、更方便。如果要构建执行 Amazon 任务的脚本,命令行工具也会十分有用。
Amazon 提供两组命令行工具:Amazon Command Line Interface
(Amazon CLI) 和 Amazon Tools for Windows PowerShell 。有关安装和使用 Amazon CLI 的更多信息,请参阅 Amazon Command Line Interface 用户指南。有关安装和使用 Tools for Windows PowerShell 的信息,请参阅 Amazon Tools for Windows PowerShell 用户指南。 - Amazon 软件开发工具包
-
Amazon 提供的 SDK (开发工具包) 包含各种编程语言和平台 (Java、Python、Ruby、.NET、iOS、Android 等) 的库和示例代码。开发工具包提供了可通过编程方式访问 IAM 和 Amazon 的便捷方式。例如,开发工具包执行以下类似任务:加密签署请求、管理错误以及自动重试请求。有关 Amazon 开发工具包的信息(包括如何下载及安装),请参阅适用于 Amazon Web Services 的工具
页面。 - IAM Query API
-
您可以使用 IAM Query API(可让您直接向服务发布 HTTPS 请求)以编程方式访问 IAM 和 Amazon。当您使用 Query API 时,必须添加代码,才能使用您的凭证对请求进行数字化签名。有关更多信息,请参阅 使用 HTTP 查询请求调用 IAM API 和 IAM API 参考。