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 Resource Manager を使用します)。 これで、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 エンドポイントのセキュリティ アクセス ポリシーを割り当てるをご覧ください。
次の手順については、次の記事を参照してください。