SecurityCredentials.LoadFrom Método

Definição

Criar uma instância SecurityCredentials do objeto do arquivo de configuração de serviço

public static System.Fabric.SecurityCredentials LoadFrom (System.Fabric.CodePackageActivationContext codePackageActivationContext, string configPackageName, string sectionName);
static member LoadFrom : System.Fabric.CodePackageActivationContext * string * string -> System.Fabric.SecurityCredentials
Public Shared Function LoadFrom (codePackageActivationContext As CodePackageActivationContext, configPackageName As String, sectionName As String) As SecurityCredentials

Parâmetros

codePackageActivationContext
CodePackageActivationContext

O contexto CodePackageActivationContextde ativação do pacote de código atual.

configPackageName
String

O nome do pacote de configuração atual.

sectionName
String

A seção dentro do arquivo de configuração que define todas as configurações de segurança.

Retornos

As credenciais de segurança.

Comentários

O arquivo de configuração de configuração (settings.xml) dentro da pasta de configuração de serviço deve conter todas as configurações de segurança necessárias para criar SecurityCredentials o objeto e passar para o CreateReplicator(IStateProvider, ReplicatorSettings) método . Normalmente, o ônus está no autor do serviço para ler o arquivo settings.xml, analisar os valores e construir adequadamente o SecurityCredentials objeto.

Com o método auxiliar atual, o autor do serviço pode ignorar o processo acima.

Veja a seguir os nomes de parâmetro que devem ser fornecidos na configuração de serviço "settings.xml", para serem reconhecíveis pela malha do Windows para executar a análise acima automaticamente:

  1. CredentialType– tipo de credenciais a serem usadas para proteger o canal de comunicação: X509 (credenciais de certificado X509) ou Windows (credenciais do Windows exigem o active directory)

CredentialType=X509

  1. StoreLocation-Store local para localizar o certificado: CurrentUser ou LocalMachine

  2. StoreName-name do repositório de certificados em que o certificado deve ser pesquisado

  3. FindType-Identifies o tipo de valor fornecido por no parâmetro FindValue: FindBySubjectName ou FindByThumbPrint

  4. FindValue-Search destino para localizar o certificado

  5. AllowedCommonNames-A lista separada por vírgulas de nomes comuns de certificado/nomes dns. Essa lista deve incluir todos os certificados usados pelos replicadores, ela é usada para validar o certificado de entrada.

  6. IssuerThumbprints-Uma lista separada por vírgulas de impressões digitais do certificado do emissor. Quando especificado, o certificado de entrada é validado se ele é emitido por uma das entradas na lista, além da validação de cadeia.

  7. ApplicationIssuerStore/[IssuerCommonName]-Uma lista separada por vírgulas de nomes de repositório em que o certificado do emissor correspondente a IssuerCommonName pode ser encontrado. Quando especificado, o certificado de entrada é validado se ele é emitido por uma das entradas na lista, além da validação de cadeia.

  8. RemoteCertThumbprints-Uma lista separada por vírgulas de impressões digitais do certificado. Essa lista deve incluir todos os certificados usados pelos replicadores, ela é usada para validar o certificado de entrada.

  9. ProtectionLevel-Indicates como os dados são protegidos: Sign ou EncryptAndSign ou None.

CredentialType=Windows

  1. ServicePrincipalName-Service nome principal registrado para o serviço. Pode estar vazio se os processos de host de serviço/ator forem executados como uma conta de computador (por exemplo: NetworkService, LocalSystem etc.)

  2. WindowsIdentities-Uma lista separada por vírgulas de identidades do Windows de todos os processos de host de serviço/ator.

  3. ProtectionLevel-Indicates como os dados são protegidos: Sign ou EncryptAndSign ou None.

Exemplo de snippet de configuração X509

<Section Name="SecurityConfig">
<Parameter Name="CredentialType" Value="X509" />
<Parameter Name="FindType" Value="FindByThumbprint" />
<Parameter Name="FindValue" Value="FB 9E A6 D4 AD D0 4B 08 BC 29 E1 EE 9C 91 E5 4E 8F 1E 08 96" />
<Parameter Name="StoreLocation" Value="LocalMachine" />
<Parameter Name="StoreName" Value="My" />
<Parameter Name="ProtectionLevel" Value="EncryptAndSign" />
<Parameter Name="AllowedCommonNames" Value="My-Test-SAN1-Alice,My-Test-SAN1-Bob" />
<Parameter Name="ApplicationIssuerStore/WinFabric-Test-TA-CA" Value="Root" />
</Section>

Exemplo de snippet de configuração do Windows 1: todos os processos de host de serviço/ator são executados como NetworkService ou LocalSystem.

<Section Name="SecurityConfig">
<Parameter Name="CredentialType" Value="Windows" />
<Parameter Name="ServicePrincipalName" Value="" />
<!--This machine group contains all machines in a cluster-->
<Parameter Name="WindowsIdentities" Value="redmond\ClusterMachineGroup" />
<Parameter Name="ProtectionLevel" Value="EncryptAndSign" />
</Section>

Exemplo de snippet de configuração do Windows 1: todos os processos de host de serviço/ator são executados como uma conta de serviço gerenciado de grupo.

<Section Name="SecurityConfig">
<Parameter Name="CredentialType" Value="Windows" />
<Parameter Name="ServicePrincipalName" Value="servicefabric/cluster.microsoft.com" />
<--All actor/service host processes run as redmond\GroupManagedServiceAccount-->
<Parameter Name="WindowsIdentities" Value="redmond\GroupManagedServiceAccount" />
<Parameter Name="ProtectionLevel" Value="EncryptAndSign" />
</Section>

Aplica-se a