创建角色并分配权限 - AWS Control Tower

创建角色并分配权限

角色和权限允许您访问 AWS Control Tower 和其他 AWS 服务中的资源,包括以编程方式访问资源。

要提供访问权限,请为您的用户、组或角色添加权限:

有关使用 IAM 委托权限的更多信息,请参阅 IAM 用户指南中的访问权限管理

注意

设置 AWS Control Tower 登录区时,您需要一个具有 AdministratorAccess 托管策略的用户或角色。(arn:aws:iam::aws:policy/AdministratorAccess)

创建用于 AWS 服务 的角色(IAM 控制台)
  1. 登录 AWS Management Console,然后通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/

  2. 在 IAM 控制台的导航窗格中,选择角色,然后选择创建角色

  3. 对于 Trusted entity type(可信实体类型),选择 AWS 服务

  4. 对于服务或使用案例,请选择服务,然后选择使用案例。用例由服务定义以包含服务要求的信任策略。

  5. 选择下一步

  6. 对于权限策略,选项取决于您选择的使用案例:

    • 如果服务定义了角色的权限,则您无法选择权限策略。

    • 从一组有限的权限策略中进行选择。

    • 从所有权限策略中进行选择。

    • 不选择任何权限策略,创建角色后创建策略,然后将这些策略附加到该角色。

  7. (可选)设置权限边界。这是一项高级特征,可用于服务角色,但不可用于服务相关角色。

    1. 打开设置权限边界部分,然后选择使用权限边界控制最大角色权限

      IAM 包括您的账户中的 AWS 托管式策略和客户管理型策略的列表。

    2. 选择要用于权限边界的策略。

  8. 选择下一步

  9. 对于角色名称,选项取决于服务:

    • 如果服务定义角色名称,则您无法编辑角色名称。

    • 如果服务定义角色名称的前缀,您可以输入可选的后缀。

    • 如果服务未定义角色名称,您可以为该角色命名。

      重要

      命名角色时,请注意以下事项:

      • 角色名称在您的 AWS 账户 中必须是唯一的,且不能因大小写而变得唯一。

        例如,不要同时创建名为 PRODROLEprodrole 的角色。当角色名称在策略中使用或者作为 ARN 的一部分时,角色名称区分大小写,但是当角色名称在控制台中向客户显示时(例如,在登录期间),角色名称不区分大小写。

      • 创建角色后,您无法编辑该角色的名称,因为其他实体可能会引用该角色。

  10. (可选)对于描述,输入角色的描述。

  11. (可选)要编辑角色的使用案例和权限,请在步骤 1:选择可信实体步骤 2:添加权限部分中选择编辑

  12. (可选)为了帮助识别、组织或搜索角色,请以键值对形式添加标签。有关在 IAM 中使用标签的更多信息,请参阅《IAM 用户指南》中的标记 IAM 资源

  13. 检查该角色,然后选择创建角色

使用 JSON 策略编辑器创建策略
  1. 登录AWS Management Console,然后通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/

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

    如果这是您首次选择策略,则会显示欢迎访问托管式策略页面。选择开始使用

  3. 在页面的顶部,选择创建策略

  4. 策略编辑器部分,选择 JSON 选项。

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

  6. 解决策略验证过程中生成的任何安全警告、错误或常规警告,然后选择下一步

    注意

    您可以随时在可视化JSON 编辑器选项卡之间切换。不过,如果您进行更改或在可视化编辑器中选择下一步,IAM 可能会调整策略结构以针对可视化编辑器进行优化。有关更多信息,请参阅《IAM 用户指南》https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_policies.html#troubleshoot_viseditor-restructure中的调整策略结构

  7. (可选)在 AWS Management Console 中创建或编辑策略时,您可以生成可在 AWS CloudFormation 模板中使用的 JSON 或 YAML 策略模板。

    为此,请在策略编辑器中选择操作,然后选择生成 CloudFormation 模板。如需了解有关 AWS CloudFormation 的更多信息,请参阅《AWS CloudFormation 用户指南》中的 AWS Identity and Access Management 资源类型参考

  8. 向策略添加完权限后,选择下一步

  9. 查看并创建页面上,为您要创建的策略键入策略名称描述(可选)。查看此策略中定义的权限以查看策略授予的权限。

  10. (可选)通过以密钥值对的形式附加标签来向策略添加元数据。有关在 IAM 中使用标签的更多信息,请参阅《IAM 用户指南》 中的标记 IAM 资源

  11. 选择创建策略可保存您的新策略。

使用可视化编辑器创建策略
  1. 登录 AWS Management Console,然后通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/

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

    如果这是您首次选择策略,则会显示欢迎访问托管式策略页面。选择开始使用

  3. 选择创建策略

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

  5. 对于允许的操作,选择要添加到策略的操作。您可以使用以下方法选择操作:

    • 选中所有操作的复选框。

    • 选择添加操作以键入特定操作的名称。您可以使用通配符(*)指定多个操作。

    • 选择访问级别组之一以选择访问级别的所有操作(例如,读取写入列出)。

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

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

  6. 对于资源,如果您在前面步骤中选择的服务和操作不支持选择特定资源,则允许使用所有资源,并且您无法编辑此部分。

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

    您可以通过以下方式指定资源:

    • 选择添加 ARN,通过 Amazon 资源名称(ARN)指定资源。您可以使用可视化 ARN 编辑器或手动列出 ARN。有关 ARN 语法的更多信息,请参阅《IAM 用户指南》中的 Amazon 资源名称(ARN)。有关在策略的 Resource 元素中使用 ARN 的信息,请参阅《IAM 用户指南》中的 IAM JSON 策略元素:Resource

    • 选择资源旁边的此账户中的任意项以授予对该类型的任何资源的权限。

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

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

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

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

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

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

    有关 Condition 元素的更多信息,请参阅《IAM 用户指南》中的 IAM JSON 策略元素:Condition

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

    注意

    您可以随时在可视化JSON 编辑器选项卡之间切换。不过,如果您进行更改或在可视化编辑器中选择下一步,IAM 可能会调整策略结构以针对可视化编辑器进行优化。有关更多信息,请参阅《IAM 用户指南》https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_policies.html#troubleshoot_viseditor-restructure中的调整策略结构

  9. (可选)在 AWS Management Console 中创建或编辑策略时,您可以生成可在 AWS CloudFormation 模板中使用的 JSON 或 YAML 策略模板。

    为此,请在策略编辑器中选择操作,然后选择生成 CloudFormation 模板。如需了解有关 AWS CloudFormation 的更多信息,请参阅《AWS CloudFormation 用户指南》中的 AWS Identity and Access Management 资源类型参考

  10. 向策略添加完权限后,选择下一步

  11. 查看并创建页面上,为您要创建的策略键入策略名称描述(可选)。查看此策略中定义的权限,确保您授予了所需的权限。

  12. (可选)通过以密钥值对的形式附加标签来向策略添加元数据。有关在 IAM 中使用标签的更多信息,请参阅《IAM 用户指南》 中的标记 IAM 资源

  13. 选择创建策略可保存您的新策略。

授予编程访问权限

如果用户需要在 AWS Management Console 之外与 AWS 交互,则需要编程式访问权限。授予编程式访问权限的方法取决于访问 AWS 的用户类型。

要向用户授予编程式访问权限,请选择以下选项之一。

哪个用户需要编程式访问权限? 目的 方式

人力身份

(在 IAM Identity Center 中管理的用户)

使用临时凭证签署向 AWS CLI、AWS SDK 或 AWS API 发出的编程请求。

按照您希望使用的界面的说明进行操作。

IAM 使用临时凭证签署向 AWS CLI、AWS SDK 或 AWS API 发出的编程请求。 按照《IAM 用户指南》将临时凭证用于 AWS 资源中的说明进行操作。
IAM

(不推荐使用)

使用长期凭证签署向 AWS CLI、AWS SDK 或 AWS API 发出的编程请求。

按照您希望使用的界面的说明进行操作。

防范攻击者

有关在向其他 AWS 服务主体授予权限时如何帮助防范攻击者的更多信息,请参阅 Optional conditions for your role trust relationships。通过在策略中添加某些条件,您可以帮助防止某种特定类型的攻击,即混淆代理攻击,当某个实体迫使更有权限的实体执行某个操作(例如跨服务模拟)时,就会发生此类攻击。有关策略条件的一般信息,请参阅 在策略中指定条件

有关将基于身份的策略与 AWS Control Tower 结合使用的更多信息,请参阅 在 AWS Control Tower 中使用基于身份的策略(IAM 策略)。有关用户、组、角色和权限的更多信息,请参阅《IAM 用户指南》https://docs.aws.amazon.com/IAM/latest/UserGuide/id.html中的身份(用户、组和角色)