本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
用户后台会话
借助用户后台会话,即使用户已从笔记本界面注销,长时间运行的分析和机器学习工作负载也能继续运行。从 7.11 EC2 版本的 EMR 开始,此功能可通过 EMR-的可信身份传播功能EC2获得。以下各节说明了用户后台会话的配置选项和行为。
注意
用户后台会话设置仅影响通过 SageMaker统一工作室启动的 Spark 工作负载。对此设置的更改适用于新的 Livy 会话——现有的活动会话不受影响。
配置用户后台会话
必须在两个级别上启用用户后台会话才能正常运行:
-
IAM 身份中心实例级别(由 IdC 管理员配置)
-
EMR 集群级别(由 EMR 集群管理员配置)
为 Amazon EMR 启用用户后台会话
要启用用户后台会话,必须在创建 EMR 安全配置identityCenterConfiguration时将userBackgroundSessionsEnabledtrue参数设置为。
先决条件:
-
用于创建或更新 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。有关所需的角色权限,请参阅:为身份中心创建 IAM 角色。
-
-
启动 7.11 或更高版本的 EMR 集群,并启用可信身份传播。
步骤 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" \ --regionAWS_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 集群指定安全配置。
配置矩阵
用户后台会话行为取决于 EMR 设置和 IAM Identity Center 实例级EC2 设置:
| userBackgroundSession 已启用 IAM 身份中心 | 已启用 Amazon EMR userBackgroundSessions | 行为 |
|---|---|---|
| 是 | TRUE | 已启用用户后台会话 |
| 是 | FALSE | 会话过期,用户注销 |
| 否 | TRUE | 会话过期,用户注销 |
| 否 | FALSE | 会话过期,用户注销 |
默认用户后台会话持续时间
默认情况下,在 IAM Identity Center 中,所有用户后台会话的持续时间限制为 7 天。管理员可以在 IAM Identity Center 控制台中修改此持续时间。此设置在 IAM Identity Center 实例级别应用,会影响该实例内所有受支持的 IAM Identity Center 应用程序。
-
持续时间可以设置为从 15 分钟到 90 天之间的任何值。
-
此设置在 IAM Identity Center 控制台的 “设置” → “身份验证” → “配置” 下配置(参见 “非交互式作业” 部分)
禁用用户后台会话的影响
在 IAM 身份中心禁用用户后台会话时:
- 现有的 Livy 会话
-
-
如果它们是在启用用户后台会话的情况下启动的,则可以不间断地继续运行。这些会话将继续使用其现有的后台会话令牌,直到这些会话自然终止或被明确停止。
-
- 全新 Livy 会话
-
-
将使用标准的可信身份传播流程,并在用户注销或交互式会话到期(例如关闭 Amazon SageMaker Unified Studio JupyterLab 笔记本时)时终止。
-
更改用户后台会话持续时间
在 IAM Identity Center 中修改用户后台会话的持续时间设置时:
- 现有的 Livy 会话
-
-
继续以与启动时相同的后台会话持续时间运行。
-
- 全新 Livy 会话
-
-
将使用新的会话时长进行后台会话。
-
注意事项
功能可用性
Amazon EMR 的用户后台会话可用于:
-
仅限 Spark 引擎(不支持 Hive 引擎)
-
仅限 Livy 交互式会话(不支持批处理作业和流式处理作业)
-
亚马逊 EMR 发布标签 7.11 及更高版本。在 EMR 7.11 版本中,您需要安装引导操作脚本,以便在创建集群时启用用户后台会话。请联系 S AWS upport 了解更多详情。
注意
如果您使用的是 SageMaker Unified Studio 预配置的集群,则不需要引导操作脚本即可使用此功能。
成本影响
-
即使用户结束了 Amazon SageMaker Unified Studio 会 JupyterLab 话,任务仍将继续运行直至完成,并且将在完成的整个运行期间产生费用。
-
监控您的活动后台会话,以避免因忘记或放弃会话而产生不必要的费用。
Livy 会话终止条件
使用用户后台会话时,Livy 会话将继续运行,直到出现以下情况之一:
-
用户后台会话过期(基于 IdC 配置,最长 90 天)。
-
用户后台会话由管理员手动撤销。
-
Livy 会话达到其空闲超时(默认值:上次执行语句后 8 小时)。
-
用户明确停止或重新启动笔记本内核。