我们正在尝试以编程方式向IIS上的站点添加新的SSL证书和新绑定。我们使用powershell脚本来实现这一点,并且它与服务器上本地管理员的用户一起工作正常。问题是,我们不能让Web服务器上的本地管理员用户在生产中运行此应用程序。这将违反公司政策。 我想知道用户需要的最小权限才能执行此操作。这两个命令是我现在被阻止的地方。
## Does nothing but no error. Works fine if I use my admin user.
Import-PfxCertificate -FilePath $path cert:\localMachine\WebHosting\ -Password $mypwd -Exportable
## Give me : Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))
$newbinding = Get-WebBinding -Name $site -IPAddress $ip -Port 443 -Protocol "HTTPS" -HostHeader $hostheader
$newbinding.AddSslCertificate("$thumbprint", "WebHosting")
我很难找到需要哪些权限/配置的明确答案。我在Cant add bindings to IIS programatically - redirection.config permissions (with a video!)之前遇到了同样的问题。现在它仍然不起作用,但不是同一个错误。
谢谢
答案 0 :(得分:0)
如果您说,您在IIS服务器上远程运行此操作,则许多cmdlet的PoSH设计要求执行命令的用户位于目标主机本地管理组中。没有办法解决这个问题。
现在,所有这一切,为什么你需要一个特定的用户运行这个vs使用具有必要的权限的计划任务集来执行脚本?
您也可以考虑利用PoSH JEA进行此类工作。它并没有减轻对管理员信誉的需求,但它只是临时授予它们。
足够的管理:Windows PowerShell安全控制帮助 保护企业数据
Just Enough Administration(JEA) - 现在的最新更新 Windows Management Framework 5.0附带的是一个安全性 帮助组织实施信息安全的技术 限制IT管理权限。 JEA提供实用的, 基于角色的方法来设置和自动化IT限制 人员,并降低与提供用户相关的风险 行政权利。
JEA使用Windows PowerShell脚本的内置功能 环境。您可以使用PowerShell管理任何内容 更安全地管理JEA。 JEA提供标准化方法 与传统方式相比,减少了管理访问的粒度 访问控制模型。
JEA允许特定用户执行指定的管理任务 在指定的服务器上,而不给予他们完全的管 JEA基于Windows PowerShell约束的运行空间,a Microsoft使用的技术来帮助保护管理任务 Microsoft Exchange Online等环境。
https://msdn.microsoft.com/en-us/library/dn896648.aspx
使用JEA
本主题介绍了可以连接和使用JEA的各种方法 端点。
要以交互方式使用JEA,您需要:•您的计算机名称 正在连接(可以是本地机器)•JEA的名称 在该计算机上注册的端点•计算机的凭据 可以访问JEA端点的