

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

# 在 AI Studio Classic 的 CloudTrail 日志中开启 Source SageMaker D
<a name="monitor-user-access-how-to"></a>

使用 Amazon SageMaker Studio Classic，您可以监控用户资源访问情况。但是， AWS CloudTrail 资源访问日志仅将 Studio Classic 执行 IAM 角色列为标识符。在多个用户配置文件之间共享单个执行 IAM 角色时，您必须使用该`sourceIdentity`配置来获取有关访问 AWS 资源的特定用户的信息。

以下主题介绍了如何打开或关闭 `sourceIdentity` 配置。

**Topics**
+ [先决条件](#monitor-user-access-prereq)
+ [打开 sourceIdentity](#monitor-user-access-enable)
+ [关闭 sourceIdentity](#monitor-user-access-disable)

## 先决条件
<a name="monitor-user-access-prereq"></a>
+ 按照安装[或更新最新版本中的步骤安装](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)和配置 AWS Command Line Interface 以下步骤 AWS CLI。
+ 确保您所在域中的 Studio Classic 用户没有允许他们更新或修改域的政策。  
+ 要打开或关闭 `sourceIdentity` 传播，域中的所有应用程序都必须处于 `Stopped` 或 `Deleted` 状态。有关如何停止和关闭应用程序的更多信息，请参阅[关闭和更新 Studio Classic 应用程序](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-tasks-update-apps.html)。
+ 如果启用了源身份传播，所有执行角色都必须拥有以下信任策略权限： 
  + 域的执行角色所担任的任何角色都必须具有信任策略中的 `sts:SetSourceIdentity` 权限。如果缺少此权限，在调用作业创建 API 时，操作将以 `AccessDeniedException` 或 `ValidationError` 失败。下面的示例信任策略包含 `sts:SetSourceIdentity` 权限。

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

****  

    ```
    {
        "Version":"2012-10-17",		 	 	 
        "Statement": [
            {
                "Effect": "Allow",
                "Principal": {
                    "Service": "sagemaker.amazonaws.com"
                },
                "Action": [
                    "sts:AssumeRole",
                    "sts:SetSourceIdentity"
                ]
            }
        ]
    }
    ```

------
  + 当您使用一个角色担任另一角色（称为角色链）时，请执行以下操作：
    + 在担任角色的主体的权限策略和目标角色的角色信任策略中都需要对 `sts:SetSourceIdentity` 的权限。否则，担任角色的操作将失败。
    +  这种角色链可能发生在 Studio Classic 或任何其他下游服务（例如 Amazon EMR）中。有关角色链的更多信息，请参阅[角色术语和概念](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html)。

## 打开 sourceIdentity
<a name="monitor-user-access-enable"></a>

默认情况下，Studio Classic 中传播用户配置文件名称作为 `sourceIdentity` 的功能已关闭。

要启用将用户配置文件名称传播为的功能`sourceIdentity`，请在创建域和更新域名 AWS CLI 时使用。此功能在域级别启用，而不是在用户配置文件级别启用。

 启用此配置后，管理员可以在 AWS CloudTrail 日志中查看所访问服务的用户配置文件。用户配置文件在 `userIdentity` 部分中作为 `sourceIdentity` 值给出。有关在 SageMaker AI 中使用 AWS CloudTrail 日志的更多信息，请参阅使用记录 A [mazon SageMaker AI API 调用 AWS CloudTrail](https://docs.aws.amazon.com/sagemaker/latest/dg/logging-using-cloudtrail.html)。

在使用 `create-domain` API 创建域时，可使用以下代码启用传播用户配置文件名称作为 `sourceIdentity`。

```
create-domain
--domain-name <value>
--auth-mode <value>
--default-user-settings <value>
--subnet-ids <value>
--vpc-id <value>
[--tags <value>]
[--app-network-access-type <value>]
[--home-efs-file-system-kms-key-id <value>]
[--kms-key-id <value>]
[--app-security-group-management <value>]
[--domain-settings "ExecutionRoleIdentityConfig=USER_PROFILE_NAME"]
[--cli-input-json <value>]
[--generate-cli-skeleton <value>]
```

在更新域期间，您可以使用 `update-domain` API 启用传播用户配置文件名称作为 `sourceIdentity`。

要更新此配置，域中的所有应用程序都必须处于 `Stopped` 或 `Deleted` 状态。有关如何停止和关闭应用程序的更多信息，请参阅[关闭和更新 Studio Classic 应用程序](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-tasks-update-apps.html)。

使用以下代码启用传播用户配置文件名称作为 `sourceIdentity`.

```
update-domain
--domain-id <value>
[--default-user-settings <value>]
[--domain-settings-for-update "ExecutionRoleIdentityConfig=USER_PROFILE_NAME"]
[--cli-input-json <value>]
[--generate-cli-skeleton <value>]
```

## 关闭 sourceIdentity
<a name="monitor-user-access-disable"></a>

您也可以使用 AWS CLI关闭传播用户配置文件名称作为 `sourceIdentity`。为此，在更新域期间，通过在 `update-domain` API 调用中为 `--domain-settings-for-update` 参数传递 `ExecutionRoleIdentityConfig=DISABLED` 值即可。

在中 AWS CLI，使用以下代码禁用将用户配置文件名称传播为`sourceIdentity`。

```
update-domain
 --domain-id <value>
[--default-user-settings <value>]
[--domain-settings-for-update "ExecutionRoleIdentityConfig=DISABLED"]
[--cli-input-json <value>]
[--generate-cli-skeleton <value>]
```