Compartir a través de


SecurityCredentials.LoadFrom Método

Definición

Creación de instancias SecurityCredentials de objeto a partir del archivo de configuración del servicio

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

Contexto de activación CodePackageActivationContextdel paquete de código actual.

configPackageName
String

Nombre del paquete de configuración actual.

sectionName
String

La sección del archivo de configuración que define todas las opciones de seguridad.

Devoluciones

Credenciales de seguridad.

Comentarios

El archivo de configuración (settings.xml) dentro de la carpeta de configuración del servicio debe contener todas las opciones de seguridad necesarias para crear SecurityCredentials el objeto y pasar al CreateReplicator(IStateProvider, ReplicatorSettings) método . Normalmente, la onus está en el autor del servicio para leer el archivo settings.xml, analizar los valores y construir correctamente el SecurityCredentials objeto.

Con el método auxiliar actual, el autor del servicio puede omitir el proceso anterior.

A continuación se muestran los nombres de parámetro que se deben proporcionar en la configuración del servicio "settings.xml", para que Windows Fabric pueda reconocerlo para realizar el análisis anterior automáticamente:

  1. CredentialType: tipo de credenciales que se usarán para proteger el canal de comunicación: X509 (credenciales de certificado X509) o Windows (credenciales de Windows, requiere Active Directory)

CredentialType=X509

  1. StoreLocation-Store ubicación para buscar el certificado: CurrentUser o LocalMachine

  2. StoreName-name del almacén de certificados donde se debe buscar el certificado

  3. FindType-Identifies el tipo de valor proporcionado por en el parámetro FindValue: FindBySubjectName o FindByThumbPrint

  4. FindValue-Search destino para buscar el certificado

  5. AllowedCommonNames-A lista separada por comas de nombres comunes o nombres dns del certificado. Esta lista debe incluir todos los certificados usados por los replicadores, que se usa para validar el certificado entrante.

  6. IssuerThumbprints-A lista separada por comas de huellas digitales del certificado del emisor. Cuando se especifica, el certificado entrante se valida si se emite mediante una de las entradas de la lista, además de la validación de la cadena.

  7. ApplicationIssuerStore/[IssuerCommonName]-Una lista separada por comas de nombres de almacén donde se puede encontrar el certificado de emisor correspondiente a IssuerCommonName. Cuando se especifica, el certificado entrante se valida si se emite mediante una de las entradas de la lista, además de la validación de la cadena.

  8. RemoteCertThumbprints-A lista separada por comas de huellas digitales de certificado. Esta lista debe incluir todos los certificados usados por los replicadores, que se usa para validar el certificado entrante.

  9. ProtectionLevel-Indicates cómo se protegen los datos: Sign o EncryptAndSign o None.

CredentialType=Windows

  1. ServicePrincipalName-Service nombre de entidad de seguridad registrado para el servicio. Puede estar vacío si los procesos de host de servicio o actor se ejecutan como una cuenta de equipo (por ejemplo, NetworkService, LocalSystem, etc.).

  2. WindowsIdentities-A lista separada por comas de identidades de Windows de todos los procesos de host de servicio o actor.

  3. ProtectionLevel-Indicates cómo se protegen los datos: Sign o EncryptAndSign o None.

Ejemplo de fragmento de código de configuración 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>

Ejemplo de fragmento de código de configuración de Windows 1: todos los procesos de host de servicio o actor se ejecutan como NetworkService o 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>

Ejemplo de fragmento de código de configuración de Windows 1: todos los procesos de host de servicio o actor se ejecutan como una cuenta de servicio administrada 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>

Se aplica a