Share via


Exécuter un service comme utilisateur ou groupe Active Directory

Sur un cluster autonome Windows Server, vous pouvez exécuter un service comme utilisateur ou groupe Active Directory avec une stratégie RunAs. Par défaut, les applications Service Fabric s’exécutent sous le compte qui exécute le processus Fabric.exe. Les applications en cours d’exécution sous différents comptes sont plus sécurisées, même dans un environnement hébergé partagé. Remarque : cette fonctionnalité utilise Active Directory en local au sein de votre domaine et pas Microsoft Entra ID. Vous pouvez également exécuter un service en tant que compte de service administré de groupe (gMSA).

En utilisant un groupe ou un utilisateur de domaine, vous pouvez accéder à d’autres ressources dans le domaine (par exemple, les partages de fichiers) qui disposent d’autorisations.

L’exemple suivant montre un utilisateur Active Directory appelé TestUser avec un mot de passe de domaine chiffré à l’aide d’un certificat nommé MyCert. Vous pouvez utiliser la commande PowerShell Invoke-ServiceFabricEncryptText pour créer le texte de chiffrement du secret. Consultez Gestion des secrets dans des applications Service Fabric pour en savoir plus.

Vous devez déployer la clé privée du certificat pour déchiffrer le mot de passe sur l’ordinateur local à l’aide d’une méthode hors bande (avec Azure Resource Manager dans Azure). Ensuite, lorsque Service Fabric déploie le package de service sur l’ordinateur, il est en mesure de déchiffrer le secret (ainsi que le nom d’utilisateur) et de s’authentifier auprès d’Active Directory pour s’exécuter sous ces informations d’identification.

<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>

Remarque

Si vous appliquez une stratégie Run-As à un service et que le manifeste de service déclare des ressources de point de terminaison avec le protocole HTTP, vous devez également spécifier une SecurityAccessPolicy. Pour plus d’informations, consultez Assigner une stratégie d’accès de sécurité pour des points de terminaison HTTP et HTTPS.

Comme prochaine étape, lisez les articles suivants :