创建 IAM policy(控制台)
策略是一个实体;在附加到身份或资源时,策略定义了它们的权限。您可以使用 Amazon Web Services Management Console 在 IAM 中创建客户托管策略。客户管理型策略是您在自己的 Amazon Web Services 账户 中管理的独立策略。然后,您可以将策略附加到您的 Amazon Web Services 账户 中的身份(用户、组和角色)。
创建 IAM policy
您可以使用下列方法之一在 Amazon Web Services Management Console中创建客户托管策略:
-
Visual editor(可视化编辑器)- 在可视化编辑器中从头开始构建新的策略。如果使用可视化编辑器,您不需要了解 JSON 语法。
-
Import(导入)- 从您的账户中导入并自定义托管策略。您可以导入之前创建的 Amazon 托管策略或客户托管策略。
Amazon 账户中 IAM 资源的数量和大小是有限的。有关更多信息,请参阅IAM 与 Amazon STS 配额、名称要求和字符限制。
在“JSON”选项卡上创建策略
您可以选择 JSON 选项卡以在 JSON 中键入或粘贴策略。这种方法适用于复制示例策略以在您的账户中使用。或者,您可以在 JSON 编辑器中键入自己的 JSON 策略文档。也可以使用 JSON 选项卡在可视化编辑器和 JSON 之间切换以比较这些视图。
当您在 JSON 编辑器中创建或编辑策略时,IAM 会执行策略验证以帮助您创建有效的策略。IAM 可识别 JSON 语法错误,而 IAM Access Analyzer 提供额外的策略检查和可执行的建议,以帮助您进一步优化策略。
JSON 策略文档包含一个或多个语句。每个语句应包含具有相同效果 (Allow
或 Deny
) 并支持相同资源和条件的所有操作。如果一个操作要求指定所有资源 ("*"
),而另一个操作支持特定资源的 Amazon Resource Name (ARN),则它们必须位于两个单独的 JSON 语句中。有关 ARN 格式的详细信息,请参阅 Amazon 一般参考指南中的 Amazon Resource Name (ARN)。有关 IAM policy 的一般信息,请参阅 IAM 中的策略和权限。。有关 IAM policy 语言的信息,请参阅 IAM JSON 策略参考。
使用 JSON 策略编辑器创建策略
登录Amazon Web Services Management Console,然后通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/
。 -
在左侧的导航窗格中,选择策略。
-
选择 Create policy(创建策略)。
-
请选择 JSON 选项卡。
-
键入或粘贴一个 JSON 策略文档。有关 IAM policy 语言的详细信息,请参阅 IAM JSON 策略参考。
-
解决策略验证过程中生成的任何安全警告、错误或常规警告,然后选择 Review policy(查看策略)。
注意
您可以随时在 Visual editor (可视化编辑器) 和 JSON 选项卡之间切换。不过,如果您进行更改或在 Visual editor(可视化编辑器)选项卡中选择 Next: Tags(下一步:标签),IAM 可能会调整您的策略结构以针对可视化编辑器进行优化。有关更多信息,请参阅调整策略结构。
-
完成后,选择 Next: Tags(下一步:标签)。
(可选)通过以键值对的形式附加标签来向策略添加元数据。有关在 IAM 中使用标签的更多信息,请参阅 标记 IAM 资源。
-
在查看策略页上,为创建的策略键入名称和说明 (可选)。查看策略 Summary(摘要)以查看您的策略授予的权限。然后,选择创建策略以保存您的工作。
注意
创建策略后,您无法编辑 Description(描述)。
在创建策略后,可以将其附加到您的组、用户或角色。有关更多信息,请参阅添加和删除 IAM 身份权限。
使用可视化编辑器创建策略
IAM 控制台中的可视化编辑器指导您完成创建策略的过程,而无需编写 JSON 语法。要查看使用可视化编辑器创建策略的示例,请参阅控制对身份的访问。
使用可视化编辑器创建策略
登录Amazon Web Services Management Console,然后通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/
。 -
在左侧的导航窗格中,选择策略。
-
选择 Create policy(创建策略)。
-
在可视化编辑器选项卡上,选择选择服务,然后选择 Amazon 服务。您可以使用顶部的搜索框限制服务列表中的结果。您只能在一个可视化编辑器权限块中选择一个服务。要为多个服务授予访问权限,请选择添加额外的权限以添加多个权限块。
-
对于操作,选择要添加到策略的操作。您可以使用以下方法选择操作:
-
选中所有操作的复选框。
-
选择添加操作以键入特定操作的名称。您可以使用通配符 (
*
) 指定多个操作。 -
选择访问级别组之一以选择访问级别的所有操作(例如,读取、写入或列出)。
-
展开每个访问级别组以选择单独的操作。
预设情况下,您创建的策略允许执行选择的操作。要拒绝选择的操作,请选择切换到拒绝权限。由于 IAM 默认拒绝,作为安全最佳实践,我们建议您仅允许用户所需的操作和资源的权限。只有在要覆盖由其他语句或策略单独允许的权限时,您才应创建 JSON 语句以拒绝权限。我们建议您将拒绝权限数限制为最低,因为它们可能会增加解决权限问题的难度。
-
-
对于资源,如果您在前面步骤中选择的服务和操作不支持选择特定资源,则允许使用所有资源,并且您无法编辑此部分。
如果您选择了一个或多个操作支持资源级权限,可视化编辑器会列出这些资源。然后,展开资源以指定您的策略的资源。
您可以通过以下方式指定资源:
-
选择添加 ARN,通过 Amazon 资源名称 (ARN) 指定资源。您可以使用可视化 ARN 编辑器或手动列出 ARN。有关 ARN 语法的更多信息,请参阅 Amazon 一般参考指南中的 Amazon Resource Name (ARN)。有关在策略的
Resource
元素中使用 ARN 的信息,请参阅IAM JSON 策略元素:Resource。 -
选择资源旁边的任意以授予对该类型的任何资源的权限。
-
选择所有资源以选择该服务的所有资源。
-
-
(可选) 选择指定请求条件 (可选) 以在创建的策略中添加条件。条件限制 JSON 策略语句的效果。例如,您可以指定仅在以下情况下允许用户对资源执行操作:该用户的请求发生在特定的时间范围内。您还可以使用常用的条件来限制是否必须使用多重验证 (MFA) 设备来验证用户身份。或者,您可以要求请求来自特定范围的 IP 地址。有关可以在策略条件中使用的所有上下文密钥的列表,请参阅 Amazon 服务的操作、资源和条件键。
您可以使用以下方法选择条件:
-
使用复选框选择常用的条件。
-
选择添加条件以指定其他条件。选择条件的条件键、限定词和运算符,然后键入一个值。要添加多个值,请选择添加新的值。您可以将这些值视为通过逻辑“OR”运算符连接在一起。完成后,选择添加。
要添加多个条件,请再次选择添加条件。根据需要重复上述步骤。每个条件仅适用于该可视化编辑器权限块。所有条件都必须为 true,才会将权限块视为匹配项。也就是说,将条件视为通过逻辑“AND”运算符连接在一起。
有关 Condition 元素的更多信息,请参阅 IAM JSON 策略元素:Condition中的 IAM JSON 策略参考。
-
-
要添加更多权限块,请选择添加额外的权限。对于每个块,重复步骤 2 到步骤 5。
注意
您可以随时在 Visual editor (可视化编辑器) 和 JSON 选项卡之间切换。不过,如果您进行更改或在 Visual editor(可视化编辑器)选项卡中选择 Next: Tags(下一步:标签),IAM 可能会调整您的策略结构以针对可视化编辑器进行优化。有关更多信息,请参阅调整策略结构。
-
完成后,选择 Next: Tags(下一步:标签)。
(可选)通过以键值对的形式附加标签来向策略添加元数据。有关在 IAM 中使用标签的更多信息,请参阅 标记 IAM 资源。
-
完成后,选择 Next: Review。
-
在查看策略页上,为创建的策略键入名称和说明 (可选)。查看策略摘要以确保您授予了所需的权限,然后选择创建策略以保存新策略。
注意
创建策略后,您无法编辑 Description(描述)。
在创建策略后,可以将其附加到您的组、用户或角色。有关更多信息,请参阅添加和删除 IAM 身份权限。
导入现有托管策略
要创建新的策略,一种简单的方法是在您的账户中导入至少具有一部分所需权限的现有托管策略。您随后可以自定义该策略,使其符合您的新要求。
您无法导入内联策略。要了解托管策略和内联策略之间的差别,请参阅托管策略与内联策略。
在可视化编辑器中导入现有的托管策略
登录Amazon Web Services Management Console,然后通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/
。 -
在左侧的导航窗格中,选择策略。
-
选择 Create policy(创建策略)。
-
选择可视化编辑器选项卡,然后在页面右侧选择导入托管策略。
-
在导入托管策略窗口中,选择与要在新策略中包含的策略最匹配的托管策略。您可以使用筛选器菜单或在顶部搜索框中键入内容以限制策略列表中的结果。
-
选择 Import (导入)。
将在策略底部的新权限块中添加导入的策略。
-
使用可视化编辑器或选择 JSON 以自定义您的策略。然后,选择查看策略。
注意
您可以随时在 Visual editor (可视化编辑器) 和 JSON 选项卡之间切换。不过,如果您进行更改或在可视化编辑器选项卡中选择 Review policy(查看策略),IAM 可能会调整您的策略结构以针对可视化编辑器进行优化。有关更多信息,请参阅调整策略结构。
-
在审核页上,为创建的策略键入名称和说明 (可选)。您以后无法编辑这些设置。查看策略摘要,然后选择创建策略以保存您的工作。
在 JSON 选项卡中导入现有的托管策略
登录Amazon Web Services Management Console,然后通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/
。 -
在左侧的导航窗格中,选择策略。
-
选择 Create policy(创建策略)。
-
选择 JSON 选项卡,然后在页面右侧选择导入托管策略。
-
在导入托管策略窗口中,选择与要在新策略中包含的策略最匹配的托管策略。您可以使用筛选器菜单或在顶部搜索框中键入内容以限制策略列表中的结果。
-
选择 Import (导入)。
导入的策略中的语句将添加到 JSON 策略底部。
-
在 JSON 中自定义您的策略。解决策略验证过程中生成的任何安全警告、错误或常规警告,然后选择 Review policy(查看策略)。或者,在 Visual editor(可视化编辑器)中自定义您的策略。然后,选择查看策略。
注意
您可以随时在 Visual editor (可视化编辑器) 和 JSON 选项卡之间切换。不过,如果您进行更改或在可视化编辑器选项卡中选择 Review policy(查看策略),IAM 可能会调整您的策略结构以针对可视化编辑器进行优化。有关更多信息,请参阅调整策略结构。
-
在查看策略页上,为创建的策略键入名称和说明 (可选)。您以后无法编辑这些字段。查看策略摘要,然后选择创建策略以保存您的工作。
在创建策略后,可以将其附加到您的组、用户或角色。有关更多信息,请参阅添加和删除 IAM 身份权限。