添加和删除 IAM 身份权限 - AWS Identity and Access Management

添加和删除 IAM 身份权限

可使用策略定义身份(用户、用户组或角色)的权限。您可以通过使用 AWS Management Console、AWS Command Line Interface (AWS CLI) 或 IAM API 附加和分离 AWS 策略来添加和删除权限。您还可使用策略为使用相同方法的唯一实体(用户或角色)设置 permissions boundaries(权限边界)。权限边界是一项控制实体可拥有的最大权限的高级 AWS 功能。

术语

将权限策略与身份(用户、用户组和角色)相关联时,术语和过程因您使用托管策略还是内联策略而异:

  • 附加 - 与托管策略一起使用。您将托管策略附加到身份(用户、用户组或角色)。如果附加一个策略,则会将该策略中的权限应用于身份。

  • 分离 - 与托管策略一起使用。将托管策略与 IAM 身份(用户、用户组或角色)分离。如果分离一个策略,则会将其权限从身份中删除。

  • 嵌入 - 与内联策略一起使用。您在身份(用户、用户组或角色)中嵌入内联策略。如果嵌入一个策略,则会将该策略中的权限应用于身份。由于内联策略存储在身份中,因此,将嵌入而不是附加该策略,尽管结果类似。

    注意

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

  • 删除 - 与内联策略一起使用。从 IAM 身份(用户、用户组或角色)删除内联策略。如果删除一个策略,则会将其权限从身份中删除。

    注意

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

您可以使用控制台、AWS CLI 或 AWS API 来执行这些操作中的任一操作。

更多信息

查看身份活动

在更改身份(用户、用户组或角色)的权限之前,您应查看其最近的服务级别活动。这非常重要,因为您不想删除使用它的主体(个人或应用程序)的访问权限。有关查看上次访问的信息的更多信息,请参阅使用上次访问的信息优化 AWS 中的权限

添加 IAM 身份权限(控制台)

您可以使用 AWS Management Console向身份(用户、用户组或角色)添加权限。为此,请附加控制权限的托管策略,或指定充当权限边界的策略。您还可以嵌入内联策略。

将托管策略用作身份的权限策略(控制台)
  1. 登录AWS Management Console,然后通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/

  2. 在导航窗格中,选择 Policies (策略)

  3. 在策略列表中,选中要附加的策略的名称旁边的单选按钮。您可以使用搜索框筛选策略列表。

  4. 选择 Actions(操作),然后选择 Attach(附加)。

  5. 选择一个或多个要将策略附加到的身份。您可以使用搜索框来筛选主体实体列表。在选择身份后,选择附加策略

使用托管策略设置权限边界(控制台)
  1. 登录AWS Management Console,然后通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/

  2. 在导航窗格中,选择 Policies (策略)

  3. 在策略列表中,选择要设置的策略的名称。您可以使用搜索框筛选策略列表。

  4. 在策略详细信息页面上,选择附加的实体选项卡,然后(如有必要)打开附加为权限边界部分并选择将策略设置为权限边界

  5. 选择要将策略用于其权限边界的一个或多个用户或角色。您可以使用搜索框来筛选主体实体列表。选择主体后,选择设置权限边界

为用户或角色嵌入内联策略(控制台)
  1. 登录AWS Management Console,然后通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/

  2. 在导航窗格中,选择用户角色

  3. 在列表中,选择要在其中嵌入策略的用户或角色的名称。

  4. 选择 Permissions 选项卡。

  5. 选择添加权限,然后选择创建内联策略

    注意

    您不能在 IAM 中的服务相关角色中嵌入内联策略。由于链接服务定义了您是否能修改角色的权限,因此,您可能能够从服务控制台、API 或 AWS CLI 添加其他策略。要查看某个服务的服务相关角色文档,请参阅使用 IAM 的AWS服务并在您的服务的 Service-Linked Role 列中选择 Yes

  6. 选择以下方法之一来查看创建策略所需的步骤:

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

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

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

  7. 创建内联策略后,它会自动嵌入您的用户和角色。

为用户组嵌入内联策略(控制台)
  1. 登录AWS Management Console,然后通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/

  2. 在导航窗格中,选择 User groups(用户组)。

  3. 在列表中,请选择要在其中嵌入策略的用户组的名称。

  4. 请选择 Permissions(权限)选项卡,然后选择 Add permissions(添加权限),接着选择 Create inline policy(创建内联策略)。

  5. 请执行下列操作之一:

  6. 若您满意所创建的策略,请选择 Create policy (创建策略)。

更改一个或多个实体的权限边界(控制台)
  1. 登录AWS Management Console,然后通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/

  2. 在导航窗格中,选择 Policies (策略)

  3. 在策略列表中,选择要设置的策略的名称。您可以使用搜索框筛选策略列表。

  4. 在策略详细信息页面上,选择附加的实体选项卡,然后(如有必要)打开附加为权限边界部分。选中要更改其边界的用户或角色旁边的复选框,然后选择更改

  5. 选择要用于权限边界的新策略。您可以使用搜索框筛选策略列表。选择策略后,选择设置权限边界

删除 IAM 身份权限(控制台)

您可以使用 AWS Management Console删除身份(用户、用户组或角色)的权限。为此,请分离控制权限的托管策略,或删除充当权限边界的策略。您还可以删除内联策略。

分离用作权限策略的托管策略(控制台)
  1. 登录AWS Management Console,然后通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/

  2. 在导航窗格中,选择 Policies (策略)

  3. 在策略列表中,选中要分离的策略的名称旁边的单选按钮。您可以使用搜索框筛选策略列表。

  4. 选择 Actions(操作),然后选择 Detach(删除)。

  5. 选择要从中分离策略的身份。您可以使用搜索框筛选身份列表。在选择身份后,选择分离策略

删除权限边界(控制台)
  1. 登录AWS Management Console,然后通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/

  2. 在导航窗格中,选择 Policies (策略)

  3. 在策略列表中,选择要设置的策略的名称。您可以使用搜索框筛选策略列表。

  4. 在策略摘要页面上,选择附加的实体选项卡,然后(如有必要)打开附加为权限边界部分并选择要移除权限边界的实体。然后选择移除边界

  5. 确认您要移除边界并选择移除边界

删除内联策略(控制台)
  1. 登录AWS Management Console,然后通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/

  2. 在导航窗格中,选择 Groups(组)、Users(用户)或 Roles(角色)。

  3. 在列表中,请选择具有要修改的策略的用户组、用户或角色的名称。

  4. 请选择 Permissions 选项卡。

  5. 选中策略旁边的复选框,然后选择移除

  6. 在确认对话框中,选择移除

添加 IAM policy (AWS CLI)

您可以使用 AWS CLI向身份(用户、用户组或角色)添加权限。为此,请附加控制权限的托管策略,或指定充当权限边界的策略。您还可以嵌入内联策略。

将托管策略用作实体的权限策略 (AWS CLI)
  1. (可选)要查看有关托管策略的信息,请运行以下命令:

  2. 要将托管策略附加到身份(用户、用户组或角色),请使用以下命令之一:

使用托管策略设置权限边界 (AWS CLI)
  1. (可选)要查看有关托管策略的信息,请运行以下命令:

  2. 要使用托管策略为实体(用户或角色)设置权限边界,请使用下列命令之一:

嵌入内联策略 (AWS CLI)

要将内联策略嵌入身份(用户、用户组或不是服务相关角色的角色),请使用以下命令之一:

移除 IAM policy (AWS CLI)

您可以使用 AWS CLI 分离控制权限的托管策略,或删除充当权限边界的策略。您还可以删除内联策略。

分离用作权限策略的托管策略 (AWS CLI)
  1. (可选)要查看有关策略的信息,请运行以下命令:

  2. (可选)要了解策略与身份之间的关系,请运行以下命令:

  3. 要从身份(用户、用户组或角色)分离托管策略,请使用以下命令之一:

删除权限边界 (AWS CLI)
  1. (可选)要查看当前用于为用户或角色设置权限边界的托管策略,请运行以下命令:

  2. (可选)要查看将托管策略用于其权限边界的用户或角色,请运行以下命令:

  3. (可选)要查看有关托管策略的信息,请运行以下命令:

  4. 要从用户或角色删除权限边界,请使用以下命令之一:

删除内联策略 (AWS CLI)
  1. (可选)要列出附加到身份(用户、用户组和角色)的所有内联策略,请使用以下命令之一:

  2. (可选)要检索嵌入到身份(用户、用户组或角色)中的内联策略文档,请使用以下命令之一:

  3. 要从身份(用户、用户组或不是服务相关角色的角色)中删除内联策略,请使用以下命令之一:

添加 IAM policy (AWS API)

您可以使用 AWS API 附加控制权限的托管策略,或指定充当权限边界的策略。您还可以嵌入内联策略。

将托管策略用作实体的权限策略 (AWS API)
  1. (可选)要查看有关策略的信息,请调用以下操作:

  2. 要将托管策略附加到身份(用户、用户组或角色),请调用以下操作之一:

使用托管策略设置权限边界 (AWS API)
  1. (可选)要查看有关托管策略的信息,请调用以下操作:

  2. 要使用托管策略为实体(用户或角色)设置权限边界,请调用下列操作之一:

嵌入内联策略 (AWS API)

要将内联策略嵌入身份(用户、用户组或不是服务相关角色的角色),请调用以下操作之一:

删除 IAM policy (AWS API)

您可以使用 AWS API 分离控制权限的托管策略,或删除充当权限边界的策略。您还可以删除内联策略。

分离用作权限策略的托管策略 (AWS API)
  1. (可选)要查看有关策略的信息,请调用以下操作:

  2. (可选)要了解策略与身份之间的关系,请调用以下操作:

  3. 要将托管策略与身份(用户、用户组或角色)分离,请调用以下操作之一:

删除权限边界 (AWS API)
  1. (可选)要查看当前用于为用户或角色设置权限边界的托管策略,请调用以下操作:

  2. (可选)要查看将托管策略用于其权限边界的用户或角色,请调用以下操作:

  3. (可选)要查看有关托管策略的信息,请调用以下操作:

  4. 要从用户或角色删除权限边界,请调用以下操作之一:

删除内联策略 (AWS API)
  1. (可选)要列出附加到身份(用户、用户组和角色)的所有内联策略,请调用以下操作之一:

  2. (可选)要检索嵌入到身份(用户、用户组或角色)中的内联策略文档,请调用以下操作之一:

  3. 要将内联策略从身份(用户、用户组或不是服务相关角色的角色)中删除,请调用以下操作之一: