

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 使用“拒绝策略”撤销活跃用户权限
<a name="prereqs-revoking-user-permissions"></a>

当 IAM Identity Center 用户正在使用权限集 AWS 账户 时，您可能需要撤销该用户的访问权限。事先为未指定用户实施“拒绝策略”，可以取消其使用其活跃 IAM 角色会话的权限；然后在需要时可以更新“拒绝策略”，指定要阻止其访问权限的用户。本主题旨在介绍如何创建“拒绝策略”以及部署策略的注意事项。

## 准备撤销由权限集创建的活跃 IAM 角色会话
<a name="prepare-to-revoke-session"></a>

您可以通过使用“服务控制策略”对特定用户应用“全部拒绝”策略，以此阻止用户使用他们正活跃使用的 IAM 角色执行操作。您还可以在自己更改密码之前阻止用户使用任何权限集，这样可以移除活跃滥用被盗凭证的恶意行为者。如需大范围拒绝访问并阻止用户重新进入权限集或访问其他权限集，也可移除所有用户访问权限，停止活跃的 AWS 访问门户会话，并禁用用户登录。请参阅[查看和结束员工用户的活跃会话](end-active-sessions.md)，了解如何将“拒绝策略”与其他操作结合使用，从而扩大访问权限的撤销范围。

### 拒绝策略
<a name="deny-policy"></a>

您可以使用“拒绝策略”，其条件与 IAM Identity Center 身份存储中的用户 `UserID` 匹配，以此阻止用户使用他们正活跃使用的 IAM 角色执行进一步的操作。使用此策略可以避免对部署“拒绝策略”时可能使用相同权限集的其他用户造成影响。此策略将占位符用户 ID {{`Add user ID here`}} 用于您将通过要撤销访问权限的用户 ID 进行更新的 `"identitystore:userId"`。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Deny",
            "Action": [
                "*"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "identitystore:userId": "{{Add user ID here}}"  
                }
            }
        }
    ]
}
```

------

虽然可以使用其他条件键（例如 `“aws:userId”`），但 `“identitystore:userId”` 是确定的，因为这是与某个人员有关的全局唯一值。在条件中使用 `“aws:userId”` 可能会受到从身份源同步用户属性的方式影响，并且如果用户的用户名或电子邮件地址发生变化，则可能会发生变化。

在 IAM Identity Center 控制台中，您可以通过导航到**用户**、按用户名搜索用户、展开**一般信息**部分并复制用户 ID 来查找用户 `identitystore:userId`。在搜索用户 ID 时，停止用户的 AWS 访问门户会话并禁用他们在同一部分的登录访问权限也很方便。您可以通过查询身份存储来获取用户的用户 ID，从而自动创建拒绝策略 APIs。

### 部署“拒绝策略”
<a name="deploy-deny-policy"></a>

 您可以使用无效的占位符用户 ID（例如）`{{Add user ID here}}`，使用附加到 AWS 账户 用户可能有权访问的服务控制策略 (SCP) 提前部署拒绝策略。推荐使用此方法，因为操作简单、见效快。使用“拒绝策略”撤销用户的访问权限时，您需要编辑该策略，将占位符用户 ID 替换为要撤销其访问权限之人的用户 ID。这可以防止用户使用您附加 SCP 的各个账户中设置的任何权限集执行任何操作。即使用户使用活跃的 AWS 访问门户会话导航到不同账户并代入不同角色，也无法进行操作。当 SCP 完全屏蔽了用户的访问权限后，您可以根据需要禁用他们的登录、撤消分配和停止 AWS 访问门户会话的功能。

除了使用之外 SCPs，您还可以将 “拒绝” 策略包含在权限集的内联策略和用户可以访问的权限集使用的客户托管策略中。

如果必须撤销多人的访问权限，则可在条件块中使用值列表，例如：

```
            "Condition": {
                    "StringEquals": {
                        "identitystore:userId": [" {{user1 userId}}", "{{user2 userId}}"...]
                        }
        }
```

**重要**  
无论采用何种方法，均须采取任何其他纠正措施，并在策略中保留用户的用户 ID 至少 12 小时。之后，用户代入的任何角色都将过期，然后您可以将其用户 ID 从“拒绝策略”中移除。