如何制定有效的 IAM 策略
IAM 策略定义与云存储内对象关联的权限。了解如何写入有效的策略可以提供额外的数据保护。
身份访问和管理 (IAM) 概念在 AWS 服务中在处理安全性问题时非常常用,因此非常值得更详细地了解。对于初次使用的用户来说,IAM 可能非常复杂,因为它由不同的组件组成。本文的目的是更详细地探讨 IAM 及其概念并创建有效的 IAM 策略。
重要的是要记住,IAM 只是 AWS 提供的与其他服务一样的另一项服务。但它能以安全的方式将它们聚集在一起。
AWS IAM 是一项 Web 服务,可让您安全地管理用户对 S3 资源的访问。您可以使用 IAM 来管理谁可以访问您的 AWS 资源(身份验证)、他们可以访问什么资源以及他们如何访问这些资源授权。
您可以通过设置规则并将其与 IAM 身份(用户、用户组或角色)相关联来控制对资源的访问。策略是指定与身份或资源关联的权限的对象。IAM 主体(用户或角色)提交请求时,更大的存储系统将检查这些规则以便有效实施。策略中定义的权限指示允许还是拒绝请求。大多数策略是 JSON 文件。
IAM 规则建立与活动执行方式无关的操作授权。如果策略允许 GetUser 操作,则具有该策略的用户可以通过 AWS 管理控制台、AWS CLI 或 AWS API 获取用户信息。创建 IAM 用户时您可以指定允许进行控制台访问还是编程访问。如果允许控制台访问,IAM 用户可以使用其用户名和密码登录。或者如果允许编程访问,则用户可以使用访问密钥来使用 CLI 或 API。
Lyve Cloud 是 S3 对象存储的补充元素。Seagate Lyve Cloud 增加了长期冷存储的安全性和可用性,并可以与其他服务合作以增强备份和恢复保护。使用 IAM 策略为私有、公有、混合和多云环境中存储在 Lyve Cloud 中的单个对象定制安全措施和权限。
以下策略在 AWS 中可用(从最常用到最不常用)。有关每个策略类别的更多信息,请查看以下部分。
您可以将 IAM 身份连接到受控和内联策略(用户、用户所属的组或角色)。通过基于身份的策略向身份授予权限。
您可以将资源连接到内联策略。最常见的基于资源的策略是那些与 S3 存储桶和 IAM 角色相关联的策略。通过基于资源的策略将权限授予策略中定义的主体。主体可能与资源位于相同或不同帐户中。
您可以利用托管策略定义 IAM 实体(用户或角色)的权限。本策略确定基于身份的策略可以为实体提供的最大权限数量,但不会进行发放。权限边界不指定基于资源的策略可以向一个对象发放的最大权限数量。
您可以利用 AWS Organizations 服务控制策略 (TCP) 设置组织或组织单位的帐户成员可能拥有的最大权限数量。SCP 限制基于身份或基于资源的规则为帐户实体(用户或角色)提供的权限,但不会授予权限。
您可以使用 ACL 来限制其他帐户中的主体对资源的访问。ACL 与基于资源的策略类似,但是它们是唯一没有在策略文档中采用 JSON 结构的策略形式。ACL 是跨多个帐户的权限规则,并为指定主体提供权限。ACL 不能用于为属于同一帐户的实体授予权限。
您在使用 AWS CLI 或 AWS API 以担任角色或担任联合身份用户时可以传递高级会话规则。会话策略通过角色或用户基于身份的规则限制授予会话的权限。这些策略定义与新建立的会话关联的权限,但不授予权限。
AWS IAM 用户是您创建的实体,代表与 AWS 交互的个人或应用程序。AWS 用户由名称和凭证组成。
具有管理员权限的 IAM 用户与 AWS 帐户根用户不同。AWS 帐户与一个且仅一个 IAM 用户关联。
用于识别和分组 IAM 资源的资源对象。策略可以附加到 IAM 身份。包括用户、组和角色。
它包含用户、组、角色、策略和身份提供商等对象。IAM 允许您像其他 AWS 服务一样添加、编辑和删除资源。
AWS 使用 IAM 资源对象进行验证。其中包括 IAM 用户和角色。
使用 AWS 帐户的根用户、IAM 用户或 IAM 角色来登录 AWS 的应用程序或用户。这包括联合身份用户以及担任的角色。
在 AWS 中,角色与用户类似,因为他们都是身份对象,其权限策略决定身份可以执行的操作。但是角色未与任何凭证(密码或访问密钥)相关联。个人角色旨在由需要这个角色的任何人担任,而不是仅与一个人相关联。
您可以在 AWS 管理控制台中使用以下方法之一构建客户托管的策略:
AWS 帐户对 IAM 资源的数量有限制。IAM 和 AWS STS 配额中提供了更多信息。
AWS 策略生成器工具用于开发规则,旨在管理对 AWS 产品和资源的访问。
新发布的 AWS 策略生成器简化了开发用于对象存储的策略文档的过程。首先,请选择您要写入的策略类型。
权限包含在策略中。您可以构建以下类型的策略:IAM 策略、S3 存储桶策略、SNS 主题策略、VPC 终端节点策略和 SQS 队列策略。
声明是对单个权限的简明概述。查看以下对声明中可能使用的术语的说明。
添加声明后您可以生成策略。策略是包含一个或多个声明的文档(使用 Access Policy 语言)。