你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
以 Active Directory 用户或组身份运行服务
在 Windows Server 独立群集上,可以使用 RunAs 策略以 Active Directory 用户或组的身份来运行服务。 默认情况下,Service Fabric 应用程序在运行 Fabric.exe 进程的帐户之下运行。 即使在共享托管环境中以不同帐户身份运行应用程序,也可确保运行的应用程序彼此更安全。 请注意这会在域中使用本地 Active Directory,而不是 Microsoft Entra ID。 还可以采用组托管服务帐户 (gMSA) 的身份来运行服务。
通过使用域用户或组,可以访问域中已被授予权限的其他资源(例如文件共享)。
下面的示例演示名为 TestUser 的 Active Directory 用户,其域密码使用名为 MyCert 的证书进行了加密。 可以使用 Invoke-ServiceFabricEncryptText
PowerShell 命令创建密码文本。 请参阅管理 Service Fabric 应用程序中的机密获取详细信息。
用于解密密码的证书私钥必须使用带外方法(在 Azure 中通过 Azure 资源管理器)部署到本地计算机。 这样,当 Service Fabric 将服务包部署到计算机时,便能够解密密码和用户名,向 Active Directory 进行身份验证以使用这些凭据运行。
<Principals>
<Users>
<User Name="TestUser" AccountType="DomainUser" AccountName="Domain\User" Password="[Put encrypted password here using MyCert certificate]" PasswordEncrypted="true" />
</Users>
</Principals>
<Policies>
<DefaultRunAsPolicy UserRef="TestUser" />
<SecurityAccessPolicies>
<SecurityAccessPolicy ResourceRef="MyCert" PrincipalRef="TestUser" GrantRights="Full" ResourceType="Certificate" />
</SecurityAccessPolicies>
</Policies>
<Certificates>
注意
如果将 RunAs 策略应用到服务,且服务清单声明使用 HTTP 协议的终结点资源,则还必须指定 SecurityAccessPolicy。 有关详细信息,请参阅为 HTTP 和 HTTPS 终结点分配安全访问策略。
有关后续步骤,请阅读以下文章: