添加和删除 IAM 身份权限
可使用策略定义身份(用户、用户组或角色)的权限。您可以通过使用 Amazon Web Services Management Console、Amazon Command Line Interface (Amazon CLI) 或 IAM API 附加和分离 Amazon 策略来添加和删除权限。您还可使用策略为使用相同方法的唯一实体(用户或角色)设置 permissions boundaries(权限边界)。权限边界是一项控制实体可拥有的最大权限的高级 Amazon 功能。
主题
术语
将权限策略与身份(IAM 用户、IAM 组和 IAM 角色)相关联时,术语和过程会因使用的是托管式策略还是内联策略而异:
-
附加 - 与托管策略一起使用。您将托管策略附加到身份(用户、用户组或角色)。如果附加一个策略,则会将该策略中的权限应用于身份。
-
分离 - 与托管策略一起使用。将托管策略与 IAM 身份(用户、用户组或角色)分离。如果分离一个策略,则会将其权限从身份中删除。
-
嵌入 - 与内联策略一起使用。您在身份(用户、用户组或角色)中嵌入内联策略。如果嵌入一个策略,则会将该策略中的权限应用于身份。由于内联策略存储在身份中,因此,将嵌入而不是附加该策略,尽管结果类似。
-
删除 - 与内联策略一起使用。从 IAM 身份(用户、用户组或角色)删除内联策略。如果删除一个策略,则会将其权限从身份中删除。
您可以使用控制台、Amazon CLI 或 Amazon API 来执行这些操作中的任一操作。
更多信息
-
有关托管策略和内联策略之间的差别的更多信息,请参阅托管策略与内联策略。
-
有关权限边界的更多信息,请参阅IAM 实体的权限边界。
-
有关 IAM policy 的一般信息,请参阅。Amazon Identity and Access Management 中的策略和权限
-
有关验证 IAM 用户策略的信息,请参阅 IAM 策略验证。
-
Amazon 账户中 IAM 资源的数量和大小是有限的。有关更多信息,请参阅 IAM 和 Amazon STS 配额。
查看身份活动
在更改身份(用户、用户组或角色)的权限之前,您应查看其最近的服务级别活动。这非常重要,因为您不想删除使用它的主体(个人或应用程序)的访问权限。有关查看上次访问的信息的更多信息,请参阅使用上次访问的信息优化 Amazon 中的权限。
添加 IAM 身份权限(控制台)
您可以使用 Amazon Web Services Management Console向身份(用户、用户组或角色)添加权限。为此,请附加控制权限的托管策略,或指定充当权限边界的策略。您还可以嵌入内联策略。
将托管策略用作身份的权限策略(控制台)
登录到 Amazon Web Services Management Console,然后通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/
。 -
在导航窗格中,选择策略。
-
在策略列表中,选中要附加的策略的名称旁边的单选按钮。您可以使用搜索框筛选策略列表。
-
选择 Actions(操作),然后选择 Attach(附加)。
-
选择一个或多个要将策略附加到的身份。您可以使用搜索框来筛选主体实体列表。在选择身份后,选择附加策略。
使用托管策略设置权限边界(控制台)
登录到 Amazon Web Services Management Console,然后通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/
。 -
在导航窗格中,选择策略。
-
在策略列表中,选择要设置的策略的名称。您可以使用搜索框筛选策略列表。
-
在策略详细信息页面上,选择附加的实体选项卡,然后(如有必要)打开附加为权限边界部分并选择将策略设置为权限边界。
-
选择要将策略用于其权限边界的一个或多个用户或角色。您可以使用搜索框来筛选主体实体列表。选择主体后,选择设置权限边界。
为用户或角色嵌入内联策略(控制台)
登录 Amazon Web Services Management Console,然后通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/
。 -
在导航窗格中,选择用户或角色。
-
在列表中,选择要在其中嵌入策略的用户或角色的名称。
-
选择权限选项卡。
-
选择添加权限,然后选择创建内联策略。
注意
您不能在 IAM 中的服务相关角色中嵌入内联策略。由于链接服务定义了您是否能修改角色的权限,因此,您可能能够从服务控制台、API 或 Amazon CLI 添加其他策略。要查看某个服务的服务相关角色文档,请参阅使用 IAM 的Amazon服务并在您的服务的 Service-Linked Role 列中选择 Yes。
-
选择以下方法之一来查看创建策略所需的步骤:
-
导入现有托管策略 - 您可以在您的账户中导入一个托管策略,然后编辑该策略以根据您的特定要求进行自定义。托管策略可以是 Amazon 托管策略,也可以是您以前创建的客户托管策略。
-
使用可视化编辑器创建策略 - 您可以在可视化编辑器中从头开始构建新的策略。如果使用可视化编辑器,您不需要了解 JSON 语法。
-
使用 JSON 编辑器创建策略 – 在 JSON 编辑器选项中,您可以使用 JSON 语法创建策略。您可以键入新的 JSON 策略文档或粘贴示例策略。
-
-
创建内联策略后,它会自动嵌入您的用户和角色。
为用户组嵌入内联策略(控制台)
登录 Amazon Web Services Management Console,然后通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/
。 -
在导航窗格中,选择 User groups(用户组)。
-
在列表中,请选择要在其中嵌入策略的用户组的名称。
-
请选择 Permissions(权限)选项卡,然后选择 Add permissions(添加权限),接着选择 Create inline policy(创建内联策略)。
-
请执行以下操作之一:
-
选择可视化选项以创建策略。有关更多信息,请参阅 使用可视化编辑器创建策略。
-
选择 JSON 选项以创建策略。有关更多信息,请参阅 使用 JSON 编辑器创建策略。
-
-
若您满意所创建的策略,请选择 创建策略。
更改一个或多个实体的权限边界(控制台)
登录到 Amazon Web Services Management Console,然后通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/
。 -
在导航窗格中,选择策略。
-
在策略列表中,选择要设置的策略的名称。您可以使用搜索框筛选策略列表。
-
在策略详细信息页面上,选择附加的实体选项卡,然后(如有必要)打开附加为权限边界部分。选中要更改其边界的用户或角色旁边的复选框,然后选择更改。
-
选择要用于权限边界的新策略。您可以使用搜索框筛选策略列表。选择策略后,选择设置权限边界。
删除 IAM 身份权限(控制台)
您可以使用 Amazon Web Services Management Console删除身份(用户、用户组或角色)的权限。为此,请分离控制权限的托管策略,或删除充当权限边界的策略。您还可以删除内联策略。
分离用作权限策略的托管策略(控制台)
登录到 Amazon Web Services Management Console,然后通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/
。 -
在导航窗格中,选择策略。
-
在策略列表中,选中要分离的策略的名称旁边的单选按钮。您可以使用搜索框筛选策略列表。
-
选择 Actions(操作),然后选择 Detach(删除)。
-
选择要从中分离策略的身份。您可以使用搜索框筛选身份列表。在选择身份后,选择分离策略。
删除权限边界(控制台)
登录到 Amazon Web Services Management Console,然后通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/
。 -
在导航窗格中,选择策略。
-
在策略列表中,选择要设置的策略的名称。您可以使用搜索框筛选策略列表。
-
在策略摘要页面上,选择附加的实体选项卡,然后(如有必要)打开附加为权限边界部分并选择要移除权限边界的实体。然后选择移除边界。
-
确认您要移除边界并选择移除边界。
删除内联策略(控制台)
登录 Amazon Web Services Management Console,然后通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/
。 -
在导航窗格中,选择 Groups(组)、Users(用户)或 Roles(角色)。
-
在列表中,请选择具有要修改的策略的用户组、用户或角色的名称。
-
选择权限选项卡。
-
选中策略旁边的复选框,然后选择移除。
-
在确认对话框中,选择移除。
添加 IAM policy (Amazon CLI)
您可以使用 Amazon CLI向身份(用户、用户组或角色)添加权限。为此,请附加控制权限的托管策略,或指定充当权限边界的策略。您还可以嵌入内联策略。
将托管策略用作实体的权限策略 (Amazon CLI)
-
(可选)要查看有关托管策略的信息,请运行以下命令:
-
列出托管策略:aws iam list-policies
-
检索有关托管策略的详细信息:get-policy
-
-
要将托管策略附加到身份(用户、用户组或角色),请使用以下命令之一:
使用托管策略设置权限边界 (Amazon CLI)
-
(可选)要查看有关托管策略的信息,请运行以下命令:
-
列出托管策略:aws iam list-policies
-
检索有关托管策略的详细信息:aws iam get-policy
-
-
要使用托管策略为实体(用户或角色)设置权限边界,请使用下列命令之一:
嵌入内联策略 (Amazon CLI)
要将内联策略嵌入身份(用户、用户组或不是服务相关角色的角色),请使用以下命令之一:
移除 IAM policy (Amazon CLI)
您可以使用 Amazon CLI 分离控制权限的托管策略,或删除充当权限边界的策略。您还可以删除内联策略。
分离用作权限策略的托管策略 (Amazon CLI)
-
(可选)要查看有关策略的信息,请运行以下命令:
-
列出托管策略:aws iam list-policies
-
检索有关托管策略的详细信息:aws iam get-policy
-
-
(可选)要了解策略与身份之间的关系,请运行以下命令:
-
列出托管式策略附加到的身份(IAM 用户、IAM 组和 IAM 角色):
-
要列出附加到身份(用户、用户组或角色)的托管策略,请使用以下一个命令:
-
-
要从身份(用户、用户组或角色)分离托管策略,请使用以下命令之一:
删除权限边界 (Amazon CLI)
-
(可选)要查看当前用于为用户或角色设置权限边界的托管策略,请运行以下命令:
-
(可选)要查看将托管策略用于其权限边界的用户或角色,请运行以下命令:
-
(可选)要查看有关托管策略的信息,请运行以下命令:
-
列出托管策略:aws iam list-policies
-
检索有关托管策略的详细信息:aws iam get-policy
-
-
要从用户或角色删除权限边界,请使用以下命令之一:
删除内联策略 (Amazon CLI)
-
(可选)要列出附加到身份(用户、用户组和角色)的所有内联策略,请使用以下命令之一:
-
(可选)要检索嵌入到身份(用户、用户组或角色)中的内联策略文档,请使用以下命令之一:
-
要从身份(用户、用户组或不是服务相关角色的角色)中删除内联策略,请使用以下命令之一:
添加 IAM policy (Amazon API)
您可以使用 Amazon API 附加控制权限的托管策略,或指定充当权限边界的策略。您还可以嵌入内联策略。
将托管策略用作实体的权限策略 (Amazon API)
-
(可选)要查看有关策略的信息,请调用以下操作:
-
列出托管策略:ListPolicies
-
检索有关托管策略的详细信息:GetPolicy
-
-
要将托管策略附加到身份(用户、用户组或角色),请调用以下操作之一:
使用托管策略设置权限边界 (Amazon API)
-
(可选)要查看有关托管策略的信息,请调用以下操作:
-
列出托管策略:ListPolicies
-
检索有关托管策略的详细信息:GetPolicy
-
-
要使用托管策略为实体(用户或角色)设置权限边界,请调用下列操作之一:
嵌入内联策略 (Amazon API)
要将内联策略嵌入身份(用户、用户组或不是服务相关角色的角色),请调用以下操作之一:
删除 IAM policy (Amazon API)
您可以使用 Amazon API 分离控制权限的托管策略,或删除充当权限边界的策略。您还可以删除内联策略。
分离用作权限策略的托管策略 (Amazon API)
-
(可选)要查看有关策略的信息,请调用以下操作:
-
列出托管策略:ListPolicies
-
检索有关托管策略的详细信息:GetPolicy
-
-
(可选)要了解策略与身份之间的关系,请调用以下操作:
-
列出托管式策略附加到的身份(IAM 用户、IAM 组和 IAM 角色):
-
要列出附加到身份(用户、用户组或角色)的托管策略,请调用以下一项操作:
-
-
要将托管策略与身份(用户、用户组或角色)分离,请调用以下操作之一:
删除权限边界 (Amazon API)
-
(可选)要查看当前用于为用户或角色设置权限边界的托管策略,请调用以下操作:
-
(可选)要查看将托管策略用于其权限边界的用户或角色,请调用以下操作:
-
(可选)要查看有关托管策略的信息,请调用以下操作:
-
列出托管策略:ListPolicies
-
检索有关托管策略的详细信息:GetPolicy
-
-
要从用户或角色删除权限边界,请调用以下操作之一:
删除内联策略 (Amazon API)
-
(可选)要列出附加到身份(用户、用户组和角色)的所有内联策略,请调用以下操作之一:
-
(可选)要检索嵌入到身份(用户、用户组或角色)中的内联策略文档,请调用以下操作之一:
-
要将内联策略从身份(用户、用户组或不是服务相关角色的角色)中删除,请调用以下操作之一: