

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

# 使用 Amazon 工具包时设置自动筛选工作室空间
设置自动空间筛选

用户可以在 Amazon Toolkit for Visual Studio Code 资源管理器中筛选空间，以便仅显示相关的空间。此部分提供了有关筛选以及如何设置自动筛选的信息。

仅当使用该[方法 2： Amazon Toolkit for Visual Studio Code](remote-access-local-ide-setup.md#remote-access-local-ide-setup-local-vs-code-method-2-aws-toolkit-in-vs-code)方法从本地 Visual Studio 代码连接到 Amazon SageMaker Studio 空间时，此设置才适用。请参阅[设置远程访问](remote-access-remote-setup.md)了解更多信息。

**Topics**
+ [

## 筛选概述
](#remote-access-remote-setup-filter-overview)
+ [

## 使用 IAM 凭证进行连接时设置
](#remote-access-remote-setup-filter-set-up-iam-credentials)

## 筛选概述


**手动筛选**允许用户通过 T Amazon oolkit 界面手动选择要为哪些用户配置文件显示空间。此方法适用于所有身份验证类型，并且优先级高于自动筛选。要进行手动筛选，请参阅[手动筛选](remote-access-local-ide-setup-filter.md#remote-access-local-ide-setup-filter-manual)。

**自动筛选**仅自动显示与经过身份验证的用户相关的空间。此筛选行为取决于登录期间使用的身份验证方法。有关更多信息[，请参阅《VS Code 工具包用户指南》中的 “ Amazon 从工具包连接](https://docs.amazonaws.cn/toolkit-for-vscode/latest/userguide/connect.html#connect-to-aws)”。下方列出了登录选项。
+ **使用 SSO 进行身份验证和连接**：默认情况下，系统将使用自动筛选。
+ **使用 IAM 凭证进行身份验证和连接**：对于以下 IAM 凭证，自动筛选**需要管理员进行设置**。如果没有此设置， Amazon Toolkit 将无法识别哪些空间属于用户，因此默认情况下会显示所有空格。
  + **使用 IAM 用户凭证**
  + **使用代入的 IAM 角色会话凭证**

## 使用 IAM 凭证进行连接时设置


**使用 IAM 用户凭证时**

Toolkit for VS Code 能够匹配属于用户配置文件的空间，这些配置文件以经过身份验证的 IAM 用户名或代入的角色会话名称开头。要进行此设置，请执行以下操作：

**注意**  
管理员必须将 Studio 用户配置文件名称配置为遵循此命名约定，以使自动筛选功能正常工作。
+ 管理员必须确保 Studio 用户配置文件名称遵循命名约定：
  + 对于 IAM 用户：需以 `IAM-user-name-` 作为前缀
  + 对于代入的角色：需以 `assumed-role-session-name-` 作为前缀
+ `aws sts get-caller-identity` 返回用于匹配的身份信息
+ Toolkit for VS Code 中将自动筛选属于匹配的用户配置文件的空间

**使用假定的 IAM 角色会话证书**时除了上述使用 IAM 用户证书时的设置外，您还需要确保会话中 ARNs 包含用户标识符作为匹配的前缀。您可以配置信任策略，确保会话 ARNs 包含用户标识符作为前缀。[创建信任策略](https://docs.amazonaws.cn/IAM/latest/UserGuide/access_policies_create.html)并将其附加到用于身份验证的代入的角色。

对于直接的 IAM 用户凭证或 IdC 身份验证，无需进行此设置。

**为 IAM 角色会话凭证设置信任策略示例**：创建强制角色会话包含 IAM 用户名的信任策略。下面是一个策略示例：

```
{
    "Statement": [
        {
            "Sid": "RoleTrustPolicyRequireUsernameForSessionName",
            "Effect": "Allow",
            "Action": "sts:AssumeRole",
            "Principal": {"AWS": "arn:aws:iam::ACCOUNT:root"},
            "Condition": {
                "StringLike": {"sts:RoleSessionName": "${aws:username}"}
            }
        }
    ]
}
```