[玩转系统] JEA 会话配置
作者:精品下载站 日期:2024-12-14 02:58:48 浏览:15 分类:玩电脑
JEA 会话配置
JEA 端点通过创建和注册 PowerShell 会话配置文件在系统上注册。会话配置定义谁可以使用 JEA 端点以及他们有权访问哪些角色。它们还定义适用于 JEA 会话的所有用户的全局设置。
创建会话配置文件
要注册 JEA 端点,您必须指定如何配置该端点。有很多选择需要考虑。最重要的选项是:
- 谁有权访问 JEA 端点
- 他们可能被分配哪些角色
- JEA 在幕后使用哪个身份
- JEA 端点的名称
这些选项在扩展名为 .pssc
的 PowerShell 数据文件中定义,称为 PowerShell 会话配置文件。可以使用任何文本编辑器编辑会话配置文件。
运行以下命令创建空白模板配置文件。
New-PSSessionConfigurationFile -SessionType RestrictedRemoteServer -Path .\MyJEAEndpoint.pssc
有用的提示
默认情况下,模板文件中仅包含最常见的配置选项。使用 -Full
开关将所有适用的设置包含在生成的 PSSC 中。
-SessionType RestrictedRemoteServer
字段指示 JEA 使用会话配置进行安全管理。这种类型的会话在NoLanguage模式下运行,并且只能访问以下默认命令(和别名):
Clear-Host
(cls
、clear
)退出-PSSession
(exsn
、退出
)Get-Command
(gcm
)
Get-FormatData
Get-Help
测量对象
(测量
)Out-Default
选择对象
(选择
)没有可用的 PowerShell 提供程序,也没有任何外部程序(可执行文件或脚本)。
有关语言模式的更多信息,请参阅 about_Language_modes。
选择 JEA 身份
在幕后,JEA 需要一个身份(帐户)来运行连接用户的命令时使用。您可以在会话配置文件中定义 JEA 使用的身份。
本地虚拟账户
当为 JEA 端点定义的所有角色都用于管理本地计算机并且本地管理员帐户足以成功运行命令时,本地虚拟帐户非常有用。虚拟帐户是特定用户独有的临时帐户,并且仅在其 PowerShell 会话期间有效。在成员服务器或工作站上,虚拟帐户属于本地计算机的管理员组。在 Active Directory 域控制器上,虚拟帐户属于域的域管理员组。
# Setting the session to use a virtual account
RunAsVirtualAccount = $true
如果会话配置定义的角色不需要完全管理权限,您可以指定虚拟帐户所属的安全组。在成员服务器或工作站上,指定的安全组必须是本地组,而不是域中的组。
当指定一个或多个安全组时,虚拟帐户不会分配给本地或域管理员组。
# Setting the session to use a virtual account that only belongs to the NetworkOperator and NetworkAuditor local groups
RunAsVirtualAccount = $true
RunAsVirtualAccountGroups = 'NetworkOperator', 'NetworkAuditor'
笔记
虚拟账号在本地服务器安全策略中被临时授予“以服务登录”的权限。如果指定的 VirtualAccountGroup 之一已在策略中被授予此权限,则将不再在策略中添加和删除单个虚拟帐户。这在域控制器等场景中非常有用,其中对域控制器安全策略的修订进行了仔细审核。这仅适用于具有 2018 年 11 月或更高版本汇总的 Windows Server 2016 以及具有 2019 年 1 月或更高版本汇总的 Windows Server 2019。
群组管理的服务帐户
当 JEA 用户需要访问文件共享和 Web 服务等网络资源时,组管理服务帐户 (GMSA) 是适合使用的身份。 GMSA 为您提供一个域身份,用于对域内任何计算机上的资源进行身份验证。 GMSA 提供的权限取决于您正在访问的资源。您没有任何计算机或服务的管理员权限,除非计算机或服务管理员已明确向 GMSA 授予这些权限。
# Configure JEA sessions to use the GMSA in the local computer's domain
# with the sAMAccountName of 'MyJEAGMSA'
GroupManagedServiceAccount = 'Domain\MyJEAGMSA'
GMSA 仅应在必要时使用:
使用 GMSA 时很难追溯到用户的操作。每个用户共享相同的运行身份。您必须查看 PowerShell 会话记录和日志,以将各个用户与其操作相关联。
GMSA 可以访问连接用户不需要访问的许多网络资源。始终尝试限制 JEA 会话中的有效权限,以遵循最小权限原则。
笔记
组托管服务帐户仅在使用 PowerShell 5.1 或更高版本的加入域的计算机上可用。
有关保护 JEA 会话的更多信息,请参阅安全注意事项文章。
会议记录
建议您配置 JEA 端点以自动记录用户会话的记录。 PowerShell 会话记录包含有关连接用户、分配给他们的运行身份以及用户运行的命令的信息。它们对于需要了解谁对系统进行了特定更改的审核团队非常有用。
要在会话配置文件中配置自动转录,请提供应存储转录的文件夹的路径。
TranscriptDirectory = 'C:\ProgramData\JEAConfiguration\Transcripts'
脚本由本地系统帐户写入该文件夹,该帐户需要对该目录的读写权限。标准用户应该无权访问该文件夹。限制有权审核记录的安全管理员的数量。
用户驱动器
如果您的连接用户需要将文件复制到 JEA 端点或从 JEA 端点复制文件,您可以在会话配置文件中启用用户驱动器。用户驱动器是一个 PSDrive,它映射到每个连接用户的唯一文件夹。此文件夹允许用户将文件复制到系统或从系统复制文件,而无需授予他们访问完整文件系统或公开文件系统提供程序的权限。用户驱动器内容在会话之间保持不变,以适应网络连接可能中断的情况。
MountUserDrive = $true
默认情况下,用户驱动器允许您为每个用户存储最多 50MB 的数据。您可以使用 UserDriveMaximumSize 字段限制用户可以使用的数据量。
# Enables the user drive with a per-user limit of 500MB (524288000 bytes)
MountUserDrive = $true
UserDriveMaximumSize = 524288000
如果不希望用户驱动器中的数据持久化,可以在系统上配置计划任务,每天晚上自动清理文件夹。
笔记
用户驱动器仅在 PowerShell 5.1 或更高版本中可用。
有关 PSDrive 的更多信息,请参阅管理 PowerShell 驱动器。
角色定义
会话配置文件中的角色定义定义用户到角色的映射。此字段中包含的每个用户或组在注册时都会被授予对 JEA 端点的权限。每个用户或组只能作为键包含在哈希表中一次,但可以分配多个角色。角色能力的名称应该是角色能力文件的名称,不带 .psrc
扩展名。
RoleDefinitions = @{
'CONTOSO\JEA_DNS_ADMINS' = @{ RoleCapabilities = 'DnsAdmin', 'DnsOperator', 'DnsAuditor' }
'CONTOSO\JEA_DNS_OPERATORS' = @{ RoleCapabilities = 'DnsOperator', 'DnsAuditor' }
'CONTOSO\JEA_DNS_AUDITORS' = @{ RoleCapabilities = 'DnsAuditor' }
}
如果用户属于角色定义中的多个组,则他们可以访问每个组的角色。当两个角色授予对相同 cmdlet 的访问权限时,最宽松的参数集将授予用户。
在角色定义字段中指定本地用户或组时,请务必使用计算机名称,而不是 localhost 或通配符。您可以通过检查 $env:COMPUTERNAME
变量来检查计算机名称。
RoleDefinitions = @{
'MyComputerName\MyLocalGroup' = @{ RoleCapabilities = 'DnsAuditor' }
}
角色能力搜索顺序
如上例所示,角色功能由角色功能文件的基本名称引用。文件的基本名称是不带扩展名的文件名。如果系统上有多个同名的角色功能可用,PowerShell 将使用其隐式搜索顺序来选择有效的角色功能文件。 JEA不授予对所有同名角色能力文件的访问权限。
JEA 使用 $env:PSModulePath
环境变量来确定扫描角色功能文件的路径。在每个路径中,JEA 都会查找包含“RoleCapability”子文件夹的有效 PowerShell 模块。与导入模块一样,JEA 更喜欢 Windows 附带的角色功能,而不是同名的自定义角色功能。
对于所有其他命名冲突,优先级由 Windows 枚举目录中文件的顺序确定。不保证顺序是按字母顺序排列的。找到的第一个与指定名称匹配的角色功能文件将用于连接用户。由于角色功能搜索顺序不确定,因此强烈建议角色功能具有唯一的文件名。
条件访问规则
RoleDefinitions 字段中包含的所有用户和组都会自动授予对 JEA 端点的访问权限。条件访问规则允许您细化此访问,并要求用户属于不会影响分配给他们的角色的其他安全组。当您想要将即时特权访问管理解决方案、智能卡身份验证或其他多因素身份验证解决方案与 JEA 集成时,这非常有用。
条件访问规则在会话配置文件的“RequiredGroups”字段中定义。在那里,您可以提供一个哈希表(可选嵌套),它使用“And”和“Or”键来构建您的规则。以下是如何使用该字段的一些示例:
# Example 1: Connecting users must belong to a security group called "elevated-jea"
RequiredGroups = @{ And = 'elevated-jea' }
# Example 2: Connecting users must have signed on with 2 factor authentication or a smart card
# The 2 factor authentication group name is "2FA-logon" and the smart card group
# name is "smartcard-logon"
RequiredGroups = @{ Or = '2FA-logon', 'smartcard-logon' }
# Example 3: Connecting users must elevate into "elevated-jea" with their JIT system and
# have logged on with 2FA or a smart card
RequiredGroups = @{ And = 'elevated-jea', @{ Or = '2FA-logon', 'smartcard-logon' }}
笔记
条件访问规则仅在 PowerShell 5.1 或更高版本中可用。
其他属性
会话配置文件还可以执行角色功能文件可以执行的所有操作,只是无法授予连接用户访问不同命令的能力。如果您希望允许所有用户访问特定的 cmdlet、函数或提供程序,您可以直接在会话配置文件中执行此操作。有关会话配置文件中支持的属性的完整列表,请运行 Get-Help New-PSSessionConfigurationFile -Full
。
测试会话配置文件
您可以使用 Test-PSSessionConfigurationFile cmdlet 测试会话配置。如果您手动编辑了 .pssc
文件,建议您测试会话配置文件。测试确保语法正确。如果会话配置文件未通过此测试,则无法在系统上注册。
会话配置文件示例
以下示例显示如何创建和验证 JEA 的会话配置。为了方便和可读,角色定义被创建并存储在 $roles
变量中。这不是必须这样做的要求。
$roles = @{
'CONTOSO\JEA_DNS_ADMINS' = @{ RoleCapabilities = 'DnsAdmin', 'DnsOperator', 'DnsAuditor' }
'CONTOSO\JEA_DNS_OPERATORS' = @{ RoleCapabilities = 'DnsOperator', 'DnsAuditor' }
'CONTOSO\JEA_DNS_AUDITORS' = @{ RoleCapabilities = 'DnsAuditor' }
}
$parameters = @{
SessionType = 'RestrictedRemoteServer'
Path = '.\JEAConfig.pssc'
RunAsVirtualAccount = $true
TranscriptDirectory = 'C:\ProgramData\JEAConfiguration\Transcripts'
RoleDefinitions = $roles
RequiredGroups = @{ Or = '2FA-logon', 'smartcard-logon' }
}
New-PSSessionConfigurationFile @parameters
Test-PSSessionConfigurationFile -Path .\JEAConfig.pssc # should yield True
更新会话配置文件
要更改 JEA 会话配置的属性(包括用户到角色的映射),您必须取消注册。然后,使用更新的会话配置文件重新注册 JEA 会话配置。
后续步骤
- 注册 JEA 配置
- 作者 JEA 角色
猜你还喜欢
- 03-30 [玩转系统] 如何用批处理实现关机,注销,重启和锁定计算机
- 02-14 [系统故障] Win10下报错:该文件没有与之关联的应用来执行该操作
- 01-07 [系统问题] Win10--解决锁屏后会断网的问题
- 01-02 [系统技巧] Windows系统如何关闭防火墙保姆式教程,超详细
- 12-15 [玩转系统] 如何在 Windows 10 和 11 上允许多个 RDP 会话
- 12-15 [玩转系统] 查找 Exchange/Microsoft 365 中不活动(未使用)的通讯组列表
- 12-15 [玩转系统] 如何在 Windows 上安装远程服务器管理工具 (RSAT)
- 12-15 [玩转系统] 如何在 Windows 上重置组策略设置
- 12-15 [玩转系统] 如何获取计算机上的本地管理员列表?
- 12-15 [玩转系统] 在 Visual Studio Code 中连接到 MS SQL Server 数据库
- 12-15 [玩转系统] 如何降级 Windows Server 版本或许可证
- 12-15 [玩转系统] 如何允许非管理员用户在 Windows 中启动/停止服务
取消回复欢迎 你 发表评论:
- 精品推荐!
-
- 最新文章
- 热门文章
- 热评文章
[影视] 黑道中人 Alto Knights(2025)剧情 犯罪 历史 电影
[古装剧] [七侠五义][全75集][WEB-MP4/76G][国语无字][1080P][焦恩俊经典]
[实用软件] 虚拟手机号 电话 验证码 注册
[电视剧] 安眠书店/你 第五季 You Season 5 (2025) 【全10集】
[电视剧] 棋士(2025) 4K 1080P【全22集】悬疑 犯罪 王宝强 陈明昊
[软件合集] 25年6月5日 精选软件22个
[软件合集] 25年6月4日 精选软件36个
[短剧] 2025年06月04日 精选+付费短剧推荐33部
[短剧] 2025年06月03日 精选+付费短剧推荐25部
[软件合集] 25年6月3日 精选软件44个
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电视剧] 欢乐颂.5部全 (2016-2024)
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[影视] 【稀有资源】香港老片 艺坛照妖镜之96应召名册 (1996)
[剧集] 神经风云(2023)(完结).4K
[剧集] [BT] [TVB] [黑夜彩虹(2003)] [全21集] [粤语中字] [TV-RMVB]
[实用软件] 虚拟手机号 电话 验证码 注册
[资源] B站充电视频合集,包含多位重量级up主,全是大佬真金白银买来的~【99GB】
[影视] 内地绝版高清录像带 [mpg]
[书籍] 古今奇书禁书三教九流资料大合集 猎奇必备珍藏资源PDF版 1.14G
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电影] 美国队长4 4K原盘REMUX 杜比视界 内封简繁英双语字幕 49G
[电影] 死神来了(1-6)大合集!
[软件合集] 25年05月13日 精选软件16个
[精品软件] 25年05月15日 精选软件18个
[绝版资源] 南与北 第1-2季 合集 North and South (1985) /美国/豆瓣: 8.8[1080P][中文字幕]
[软件] 25年05月14日 精选软件57个
[短剧] 2025年05月14日 精选+付费短剧推荐39部
[短剧] 2025年05月15日 精选+付费短剧推荐36部
- 最新评论
-
- 热门tag