

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

# 用户后台会话
<a name="user-background-sessions"></a>

借助用户后台会话，即使用户已从笔记本界面注销，长时间运行的分析和机器学习工作负载也能继续运行。从 EC2 版本 7.11 上的 EMR 开始，此功能可通过可信身份传播功能 EMR-EC2获得。以下各节说明了用户后台会话的配置选项和行为。

**注意**  
用户后台会话设置仅影响通过 SageMaker Unified Studio 启动的 Spark 工作负 对此设置的更改适用于新的 Livy 会话——现有的活动会话不受影响。

## 配置用户后台会话
<a name="w2aac30c29c15b7"></a>

必须在两个级别上启用用户后台会话才能正常运行：

1. **IAM 身份中心实例级别**（由 IdC 管理员配置）

1. **EMR 集群级别（由** EMR 集群管理员配置）

### 为 Amazon EMR 启用用户后台会话
<a name="w2aac30c29c15b7b7"></a>

要启用用户后台会话，必须在创建 EMR 安全配置`identityCenterConfiguration`时将`userBackgroundSessionsEnabled``true`参数设置为。

**先决条件：**
+ 用于创建或更新 EMR 安全配置的 IAM 角色需要权限。`sso:PutApplicationSessionConfiguration`此权限允许用户通过 Amazon EMR 托管 IAM 身份中心应用程序进行后台会话。
+ 为 IAM 身份中心创建 IAM 角色
  + 要将 Amazon EMR 与 IAM 身份中心集成，请创建一个从 EMR 集群中通过 IAM 身份中心进行身份验证的 IAM 角色。Amazon EMR 使用 Sigv4 凭证将 IAM 身份中心身份中继到下游服务，例如。 AWS Lake Formation您的角色还应具有调用下游服务所需的权限。
  + [为启用了 IAM 身份中心的 EMR 集群配置 Lake Formation。](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-idc-lf.html)有关所需的角色权限，请参阅：[为身份中心创建 IAM 角色。](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-idc-start.html#emr-idc-start-role)
+ 启动 7.11 或更高版本的 EMR 集群并启用传播。 Trusted-Identity 

**步骤 1-创建UserBackgroundSession 启用了身份中心的 EMR 安全配置**

用户需要将`EnableUserBackgroundSession`**标志**设置为`true`，这将允许在 EMR 托管 IDC 应用程序级别启用 UserBackgourndSession EMR 服务。如果此标志设置为`false`或未设置，EMR 将默认禁用 IDC UserBackgroundSession 。

**使用示例 AWS CLI：**

```
aws emr create-security-configuration --name "idc-userBackgroundSession-enabled-secConfig" \
--region {{AWS_REGION}}  \
--security-configuration ' \
{ 
	"AuthenticationConfiguration":{
		"IdentityCenterConfiguration":{
		"EnableIdentityCenter":true,
		"IdentityCenterInstanceARN": {{"arn:aws:sso:::instance/ssoins-123xxxxxxxxxx789"}},
		"IdentityCenterApplicationAssigmentRequired": false,
		"EnableUserBackgroundSession": true,
		"IAMRoleForEMRIdentityCenterApplicationARN": "arn:aws:iam::{{12345678912}}:role/{{YOUR_ROLE}}"
		}
	},\
	"AuthorizationConfiguration": {
	"IAMConfiguration": {
		"EnableApplicationScopedIAMRole": true,
		"ApplicationScopedIAMRoleConfiguration": {
		"PropagateSourceIdentity": true
		}
	},\
	"LakeFormationConfiguration": {
		"AuthorizedSessionTagValue": "Amazon EMR"
	}
	},\
	"EncryptionConfiguration": {
		"EnableInTransitEncryption": true,
		"EnableAtRestEncryption": false,
		"InTransitEncryptionConfiguration": {
			"TLSCertificateConfiguration": {
				"CertificateProviderType": "PEM",
							"S3Object": {{"s3://amzn-s3-demo-bucket/cert/my-certs.zip"}}
			}
		}
	}
}'
```

**步骤 2-创建并启动启用了身份中心的集群**

 现在，您已经设置了通过 Identity Center 进行身份验证的 IAM 角色，并创建了启用 Identity Center 的 Amazon EMR 安全配置，您可以创建和启动您的身份感知集群。有关使用所需安全配置启动集群的步骤，请参阅为 Amazon EMR 集群指定安全配置。

### 配置矩阵
<a name="security-trusted-prop-user-background-matrix"></a>

用户后台会话行为取决于 EMR-EC2 设置和 IAM Identity Center 实例级别的设置：


**用户后台会话配置矩阵**  

| IAM 身份中心用户BackgroundSession 已启用 | 亚马逊 EMR 用户 BackgroundSessionsEnabled | 行为 | 
| --- | --- | --- | 
| 是 | TRUE | 已启用用户后台会话 | 
| 是 | FALSE | 会话过期，用户注销 | 
| 否 | TRUE | 会话过期，用户注销 | 
| 否 | FALSE | 会话过期，用户注销 | 

### 默认用户后台会话持续时间
<a name="security-trusted-prop-user-background-duration"></a>

默认情况下，在 IAM Identity Center 中，所有用户后台会话的持续时间限制为 7 天。管理员可以在 IAM Identity Center 控制台中修改此持续时间。此设置在 IAM Identity Center 实例级别应用，会影响该实例内所有受支持的 IAM Identity Center 应用程序。
+ 持续时间可以设置为从 15 分钟到 90 天之间的任何值。
+ 此设置在 IAM Identity Center 控制台的 **“设置” → “**身份验证**” → “配置”** 下**配置**（参见 “ Non-Interactive 作业” 部分）

### 禁用用户后台会话的影响
<a name="security-trusted-prop-user-background-disabling"></a>

在 IAM 身份中心禁用用户后台会话时：

现有的 Livy 会话  
+ 如果它们是在启用用户后台会话的情况下启动的，则可以不间断地继续运行。这些会话将继续使用其现有的后台会话令牌，直到这些会话自然终止或被明确停止。

全新 Livy 会话  
+ 将使用标准的可信身份传播流程，并在用户注销或交互式会话到期（例如关闭 Amazon SageMaker Unified Studio JupyterLab 笔记本时）时终止。

### 更改用户后台会话持续时间
<a name="security-trusted-prop-user-background-changing-duration"></a>

在 IAM Identity Center 中修改用户后台会话的持续时间设置时：

现有的 Livy 会话  
+ 继续以与启动时相同的后台会话持续时间运行。

全新 Livy 会话  
+ 将使用新的会话时长进行后台会话。

### 注意事项
<a name="security-trusted-prop-user-background-considerations"></a>

#### 功能可用性
<a name="prop-user-background-additional-feature-availability"></a>

Amazon EMR 的用户后台会话可用于：
+ 仅限 Spark 引擎（不支持 Hive 引擎）
+ 仅限 Livy 交互式会话（不支持批处理作业和流式处理作业）
+ 亚马逊 EMR 发布标签 7.11 及更高版本。在 EMR 7.11 版本中，您需要安装引导操作脚本，以便在创建集群时启用用户后台会话。请联系 S AWS upport 了解更多详情。
**注意**  
如果您使用的是 SageMaker Unified Studio 预配置的集群，则不需要引导操作脚本即可使用此功能。

#### 成本影响
<a name="prop-user-background-additional-data-persistence-cost"></a>
+ 即使用户结束了 Amazon SageMaker Unified Studio 会 JupyterLab 话，任务仍将继续运行直至完成，并且将在完成的整个运行期间产生费用。
+ 监控您的活动后台会话，以避免因忘记或放弃会话而产生不必要的费用。

#### Livy 会话终止条件
<a name="security-trusted-prop-user-background-considerations-session"></a>

使用用户后台会话时，Livy 会话将继续运行，直到出现以下情况之一：
+ 用户后台会话过期（基于 IdC 配置，最长 90 天）。
+ 用户后台会话由管理员手动撤销。
+ Livy 会话达到其空闲超时（默认值：上次执行语句后 8 小时）。
+ 用户明确停止或重新启动笔记本内核。