AWS Identity and Access Management
用户指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

创建 IAM 策略

策略是一个实体;在附加到身份或资源时,策略定义了它们的权限。策略作为 JSON 文档存储在 AWS 中,并在 IAM 中作为基于身份的策略 附加到委托人。您可以将基于身份的策略附加到委托人 (或身份),例如,IAM 组、用户或角色。基于身份的策略包括 AWS 托管策略、客户托管策略和内联策略

您可以在 AWS 管理控制台中使用以下方法之一创建新的 IAM 策略:

  • 导入 – 可以在您的账户中导入一个托管策略,然后编辑该策略以根据您的特定要求进行自定义。托管策略可以是 AWS 托管策略,也可以是您以前创建的客户托管策略。

  • 可视化编辑器 – 您可以在可视化编辑器中从头开始构建新的策略。如果使用可视化编辑器,您不需要了解 JSON 语法。

  • JSON – 在 JSON 选项卡上,您可以使用 JSON 语法创建策略。您可以键入新的 JSON 策略文档或粘贴示例策略

您可以在 AWS 管理控制台中创建内联策略。内联策略是您创建并直接嵌入到 IAM 组、用户或角色的策略。要了解更多信息,请参阅“附加 IAM 策略 (控制台)”。您无法创建 AWS 托管策略。

有关策略大小限制和其他配额的信息,请参阅IAM 实体和对象的限制

创建 IAM 策略 (控制台)

无论您选择哪种方法创建策略,最初的步骤都是相同的:

开始创建新的策略 (控制台)

  1. 登录 AWS 管理控制台 并通过以下网址打开 IAM 控制台 https://console.amazonaws.cn/iam/

  2. 在左侧的导航窗格中,选择策略

    如果这是您首次选择 Policies,则会显示 Welcome to Managed Policies 页面。选择 Get Started

  3. 选择 Create policy

  4. 选择以下方法之一以创建策略。然后,按照相应过程中的步骤进行操作:

导入现有的托管策略

要创建新的策略,一种简单的方法是在您的账户中导入至少具有一部分所需权限的现有托管策略。您随后可以自定义该策略,使其符合您的新要求。

您无法导入内联策略。要了解托管策略和内联策略之间的差别,请参阅托管策略与内联策略

在可视化编辑器中导入现有的托管策略

  1. 按照创建 IAM 策略 (控制台)中的步骤启动创建策略向导。选择可视化编辑器选项卡,然后在页面右侧选择导入托管策略

  2. 导入托管策略窗口中,选择与要在新策略中包含的策略最匹配的托管策略。您可以使用筛选器菜单或在顶部搜索框中键入内容以限制策略列表中的结果。

  3. 选择 Import

    将在策略底部的新权限块中添加导入的策略。

  4. 使用可视化编辑器或选择 JSON 以自定义您的策略。然后,选择查看策略

    注意

    您可以随时在可视化编辑器JSON 选项卡之间切换。不过,如果您进行更改或在可视化编辑器选项卡中选择查看策略,IAM 可能会调整您的策略结构以针对可视化编辑器进行优化。有关更多信息,请参阅 调整策略结构

  5. 审核页上,为创建的策略键入名称说明 (可选)。您以后无法编辑这些字段。查看策略摘要,然后选择创建策略以保存您的工作。

JSON 选项卡中导入现有的托管策略

  1. 按照创建 IAM 策略 (控制台)中的步骤启动创建策略向导。选择 JSON 选项卡,然后在页面右侧选择导入托管策略

  2. 导入托管策略窗口中,选择与要在新策略中包含的策略最匹配的托管策略。您可以使用筛选器菜单或在顶部搜索框中键入内容以限制策略列表中的结果。

  3. 选择 Import

    导入的策略中的语句将添加到 JSON 策略底部。

  4. 在 JSON 中自定义您的策略,或者选择可视化编辑器。然后,选择查看策略

    注意

    您可以随时在可视化编辑器JSON 选项卡之间切换。不过,如果您进行更改或在可视化编辑器选项卡中选择查看策略,IAM 可能会调整您的策略结构以针对可视化编辑器进行优化。有关更多信息,请参阅 调整策略结构

  5. 查看策略页上,为创建的策略键入名称说明 (可选)。您以后无法编辑这些字段。查看策略摘要,然后选择创建策略以保存您的工作。

在创建策略后,可以将其附加到您的组、用户或角色。有关更多信息,请参阅 附加和分离 IAM 策略

使用可视化编辑器创建策略

IAM 控制台中的可视化编辑器指导您完成创建策略的过程,而无需编写 JSON 语法。要查看使用可视化编辑器创建策略的示例,请参阅控制对身份的访问

使用可视化编辑器创建策略

  1. 通过执行中的步骤启动 Create Policy创建 IAM 策略 (控制台) 向导。

  2. 可视化编辑器选项卡上,选择选择服务。然后,选择要添加到策略的 AWS 服务。您可以使用顶部的搜索框限制服务列表中的结果。您只能在一个可视化编辑器权限块中选择一个服务。要为多个服务授予访问权限,请选择添加额外的权限以添加多个权限块。

  3. 选择选择操作,然后选择要添加到策略的操作。可视化编辑器将显示在上一步骤选择的服务中的可用操作。

    您可以使用以下方法选择操作:

    • 使用复选框为该服务选择所有操作或选择其中一个预定义访问级别组中的所有操作。

    • 展开每个访问级别组以选择单独的操作。

    • 选择添加操作以键入特定的操作,或者使用通配符 (*) 指定多个操作。

    默认情况下,您创建的策略允许执行选择的操作。要拒绝选择的操作,请选择切换到拒绝权限。由于 IAM 默认拒绝,作为安全最佳实践,我们建议您仅允许用户所需的操作和资源的权限。这有时称为“白名单”。只有在要覆盖其他语句或策略单独允许的权限时,您才应创建 JSON 语句以拒绝权限 (“黑名单”)。我们建议您将拒绝权限数限制为最低,因为它们可能会增加解决权限问题的难度。

  4. 如果选择的服务和在前面的步骤中选择的操作不支持选择特定的资源,则会选择所有资源。在这种情况下,您无法编辑该部分。

    如果选择一个或多个支持资源级权限的操作,可视化编辑器将列出这些资源。然后,您可以选择资源,以便为您的策略指定资源。

    您可以使用以下方法选择资源:

    • 选择添加 ARN 以提供有关您的资源的详细信息。您也可以选择任意,以便为指定的设置的任何值提供权限,而不是键入一个值。例如,如果选择 Amazon EC2 读取访问级别组,则您的策略中的操作支持 instance 资源类型。必须为您的资源提供区域账户实例 ID 值。如果提供您的账户 ID,但为区域和实例 ID 选择任意,则策略为您的账户中的任何实例授予权限。

    • 选择添加 ARN 以按 Amazon 资源名称 (ARN) 指定资源。您可以在 ARN 的任何字段中包含通配符 (*) (每对冒号之间)。有关更多信息,请参阅 IAM JSON 策略元素: Resource

    • 从资源部分的最右侧选择任意,以便为特定类型的任何资源授予权限。

    • 选择所有资源以选择该服务的所有资源。

  5. (可选) 选择指定请求条件 (可选) 以在创建的策略中添加条件。条件限制 JSON 策略语句的效果。例如,您可以指定仅在以下情况下允许用户对资源执行操作:该用户的请求发生在特定的时间范围内。也可以使用常用的条件限制是否必须使用多重身份验证 (MFA) 设备对用户进行身份验证,或者请求是否必须来自特定范围的 IP 地址。有关可在策略条件中使用的所有上下文键的列表,请参阅可在 IAM 策略中使用的 AWS 服务操作和条件上下文键

    您可以使用以下方法选择条件:

    • 使用复选框选择常用的条件。

    • 选择添加条件以指定其他条件。选择条件的条件键限定词运算符,然后键入一个。要添加多个值,请选择添加新的值。您可以将这些值视为通过逻辑“OR”运算符连接在一起。完成后,选择添加

    要添加多个条件,请再次选择添加条件。根据需要重复上述步骤。每个条件仅适用于该可视化编辑器权限块。所有条件都必须为 true,才会将权限块视为匹配项。也就是说,将条件视为通过逻辑“AND”运算符连接在一起。

    有关 Condition 元素的更多信息,请参阅 IAM JSON 策略参考中的 IAM JSON 策略元素: Condition

  6. 要添加更多权限块,请选择添加额外的权限。对于每个块,重复步骤 2 到步骤 5。

  7. 完成后,选择查看策略

    注意

    您可以随时在可视化编辑器JSON 选项卡之间切换。不过,如果您进行更改或在可视化编辑器选项卡中选择查看策略,IAM 可能会调整您的策略结构以针对可视化编辑器进行优化。有关更多信息,请参阅 调整策略结构

  8. 查看策略页上,为创建的策略键入名称说明 (可选)。查看策略摘要以确保您授予了所需的权限,然后选择创建策略以保存新策略。

在创建策略后,可以将其附加到您的组、用户或角色。有关更多信息,请参阅 附加和分离 IAM 策略

在 JSON 选项卡上创建策略

您可以选择 JSON 选项卡以在 JSON 中键入或粘贴策略。这种方法适用于复制示例策略以在您的账户中使用。或者,您可以在 JSON 编辑器中键入自己的 JSON 策略文档。也可以使用 JSON 选项卡在可视化编辑器和 JSON 之间切换以比较这些视图。

JSON 策略文档包含一个或多个语句。每个语句应包含具有相同效果 (AllowDeny) 并支持相同资源和条件的所有操作。如果一个操作要求指定所有资源 ("*"),而另一个操作支持特定资源的 Amazon 资源名称 (ARN),则它们必须位于两个单独的 JSON 语句中。有关 IAM 策略的一般信息,请参阅IAM 策略。有关 IAM 策略语言的更多信息,请参阅 IAM JSON 策略参考

使用 JSON 策略编辑器创建策略

  1. 通过执行中的步骤启动 Create Policy创建 IAM 策略 (控制台) 向导。

  2. 选择 JSON 选项卡。

  3. 键入或粘贴一个 JSON 策略文档。有关 IAM 策略语言的详细信息,请参阅 IAM JSON 策略参考

  4. 完成后,选择查看策略策略验证程序将报告任何语法错误。

    注意

    您可以随时在可视化编辑器JSON 选项卡之间切换。不过,如果您进行更改或在可视化编辑器选项卡中选择查看策略,IAM 可能会调整您的策略结构以针对可视化编辑器进行优化。有关更多信息,请参阅 调整策略结构

  5. 查看策略页上,为创建的策略键入名称说明 (可选)。查看策略摘要以查看您的策略授予的权限。然后,选择创建策略以保存您的工作。

在创建策略后,可以将其附加到您的组、用户或角色。有关更多信息,请参阅 附加和分离 IAM 策略

创建 IAM 策略 (AWS CLI 或 AWS API)

您可以使用 AWS Command Line Interface (AWS CLI) 或 AWS API 创建 IAM 策略或内联策略。

创建客户托管策略 (AWS CLI 或 API)

为委托人实体 (组、用户或角色) 创建内联策略 (AWS CLI 或 API)

注意

您只能将服务相关角色的内联策略嵌入依赖该角色的服务。请参阅服务的 AWS 文档,了解它是否支持此功能。