Proteggere un cluster autonomo in Windows usando i certificati X.509Secure a standalone cluster on Windows by using X.509 certificates

Questo articolo descrive come proteggere la comunicazione tra i vari nodi del cluster di Windows autonomo.This article describes how to secure communication between the various nodes of your standalone Windows cluster. Descrive inoltre come autenticare i client che si connettono a questo cluster usando i certificati X.509.It also describes how to authenticate clients that connect to this cluster by using X.509 certificates. Questa autenticazione garantisce che solo gli utenti autorizzati possano accedere al cluster e alle applicazioni distribuite ed eseguire attività di gestione.Authentication ensures that only authorized users can access the cluster and the deployed applications and perform management tasks. La sicurezza basata su certificati deve essere abilitata nel cluster durante la creazione del cluster.Certificate security should be enabled on the cluster when the cluster is created.

Per altre informazioni sulla sicurezza del cluster da nodo a nodo e da client a nodo e sul controllo degli accessi in base al ruolo, vedere Scenari di sicurezza di un cluster di Service Fabric.For more information on cluster security, such as node-to-node security, client-to-node security, and role-based access control, see Cluster security scenarios.

Certificati necessariWhich certificates do you need?

Per iniziare, scaricare il pacchetto Service Fabric per Windows Server in uno dei nodi del cluster.To start with, download the Service Fabric for Windows Server package to one of the nodes in your cluster. Nel pacchetto scaricato è incluso un file ClusterConfig.X509.MultiMachine.json.In the downloaded package, you find a ClusterConfig.X509.MultiMachine.json file. Aprire il file ed esaminare la sezione security sotto la sezione properties:Open the file, and review the section for security under the properties section:

"security": {
    "metadata": "The Credential type X509 indicates this cluster is secured by using X509 certificates. The thumbprint format is d5 ec 42 3b 79 cb e5 07 fd 83 59 3c 56 b9 d5 31 24 25 42 64.",
    "ClusterCredentialType": "X509",
    "ServerCredentialType": "X509",
    "CertificateInformation": {
        "ClusterCertificate": {
            "Thumbprint": "[Thumbprint]",
            "ThumbprintSecondary": "[Thumbprint]",
            "X509StoreName": "My"
        },        
        "ClusterCertificateCommonNames": {
            "CommonNames": [
            {
                "CertificateCommonName": "[CertificateCommonName]",
                "CertificateIssuerThumbprint": "[Thumbprint1,Thumbprint2,Thumbprint3,...]"
            }
            ],
            "X509StoreName": "My"
        },
        "ServerCertificate": {
            "Thumbprint": "[Thumbprint]",
            "ThumbprintSecondary": "[Thumbprint]",
            "X509StoreName": "My"
        },
        "ServerCertificateCommonNames": {
            "CommonNames": [
            {
                "CertificateCommonName": "[CertificateCommonName]",
                "CertificateIssuerThumbprint": "[Thumbprint1,Thumbprint2,Thumbprint3,...]"
            }
            ],
            "X509StoreName": "My"
        },
        "ClientCertificateThumbprints": [
            {
                "CertificateThumbprint": "[Thumbprint]",
                "IsAdmin": false
            },
            {
                "CertificateThumbprint": "[Thumbprint]",
                "IsAdmin": true
            }
        ],
        "ClientCertificateCommonNames": [
            {
                "CertificateCommonName": "[CertificateCommonName]",
                "CertificateIssuerThumbprint": "[Thumbprint]",
                "IsAdmin": true
            }
        ],
        "ReverseProxyCertificate": {
            "Thumbprint": "[Thumbprint]",
            "ThumbprintSecondary": "[Thumbprint]",
            "X509StoreName": "My"
        },
        "ReverseProxyCertificateCommonNames": {
            "CommonNames": [
                {
                "CertificateCommonName": "[CertificateCommonName]"
                }
            ],
            "X509StoreName": "My"
        }
    }
},

Questa sezione descrive i certificati necessari per proteggere il cluster Windows autonomo.This section describes the certificates that you need to secure your standalone Windows cluster. Se si specifica un certificato di cluster, impostare il valore di ClusterCredentialType su X509.If you specify a cluster certificate, set the value of ClusterCredentialType to X509. Per specificare un certificato del server per le connessioni esterne, impostare il valore della proprietà ServerCredentialType su X509.If you specify a server certificate for outside connections, set the ServerCredentialType to X509. Benché non sia obbligatorio, è consigliabile disporre di entrambi questi certificati per un cluster adeguatamente protetto.Although not mandatory, we recommend that you have both of these certificates for a properly secured cluster. Se si impostano questi valori su X509, sarà inoltre necessario specificare i certificati corrispondenti o Service Fabric genererà un'eccezione.If you set these values to X509, you also must specify the corresponding certificates or Service Fabric throws an exception. In alcuni scenari può essere preferibile specificare solo ClientCertificateThumbprints o ReverseProxyCertificate.In some scenarios, you might want to specify only the ClientCertificateThumbprints or the ReverseProxyCertificate. In questi scenari non è necessario impostare ClusterCredentialType o ServerCredentialType su X509.In those scenarios, you don't need to set ClusterCredentialType or ServerCredentialType to X509.

Nota

Un' identificazione personale è l'identità primaria di un certificato.A thumbprint is the primary identity of a certificate. Per trovare l'identificazione personale dei certificati creati dall'utente, vedere Procedura: recuperare l'identificazione personale di un certificato.To find out the thumbprint of the certificates that you create, see Retrieve a thumbprint of a certificate.

La tabella seguente include un elenco dei certificati necessari per la configurazione del cluster:The following table lists the certificates that you need on your cluster setup:

Impostazione CertificateInformationCertificateInformation setting DescrizioneDescription
ClusterCertificateClusterCertificate Consigliato per un ambiente di test.Recommended for a test environment. Questo certificato è necessario per proteggere la comunicazione tra i nodi di un cluster.This certificate is required to secure the communication between the nodes on a cluster. È possibile usare due diversi certificati, uno primario e uno secondario per l'aggiornamento.You can use two different certificates, a primary and a secondary, for upgrade. Impostare l'identificazione personale del certificato primario nella sezione Identificazione personale e quella del certificato secondario nelle variabili ThumbprintSecondary.Set the thumbprint of the primary certificate in the Thumbprint section and that of the secondary in the ThumbprintSecondary variables.
ClusterCertificateCommonNamesClusterCertificateCommonNames Consigliato per un ambiente di produzione.Recommended for a production environment. Questo certificato è necessario per proteggere la comunicazione tra i nodi di un cluster.This certificate is required to secure the communication between the nodes on a cluster. È possibile usare uno o due nomi comuni del certificato del cluster.You can use one or two cluster certificate common names. CertificateIssuerThumbprint corrisponde all'identificazione personale dell'autorità emittente del certificato.The CertificateIssuerThumbprint corresponds to the thumbprint of the issuer of this certificate. È possibile specificare più di un'identificazione personale dell'autorità emittente se si usa più di un certificato con lo stesso nome comune.If more than one certificate with the same common name is used, you can specify multiple issuer thumbprints.
ServerCertificateServerCertificate Consigliato per un ambiente di test.Recommended for a test environment. Questo certificato viene presentato al client quando tenta di connettersi al cluster.This certificate is presented to the client when it tries to connect to this cluster. Per praticità, è possibile scegliere di usare lo stesso certificato per ClusterCertificate e ServerCertificate.For convenience, you can choose to use the same certificate for ClusterCertificate and ServerCertificate. È possibile usare due diversi certificati del server, uno primario e uno secondario per l'aggiornamento.You can use two different server certificates, a primary and a secondary, for upgrade. Impostare l'identificazione personale del certificato primario nella sezione Identificazione personale e quella del certificato secondario nelle variabili ThumbprintSecondary.Set the thumbprint of the primary certificate in the Thumbprint section and that of the secondary in the ThumbprintSecondary variables.
ServerCertificateCommonNamesServerCertificateCommonNames Consigliato per un ambiente di produzione.Recommended for a production environment. Questo certificato viene presentato al client quando tenta di connettersi al cluster.This certificate is presented to the client when it tries to connect to this cluster. CertificateIssuerThumbprint corrisponde all'identificazione personale dell'autorità emittente del certificato.The CertificateIssuerThumbprint corresponds to the thumbprint of the issuer of this certificate. È possibile specificare più di un'identificazione personale dell'autorità emittente se si usa più di un certificato con lo stesso nome comune.If more than one certificate with the same common name is used, you can specify multiple issuer thumbprints. Per praticità, è possibile scegliere di usare lo stesso certificato per ClusterCertificateCommonNames e ServerCertificateCommonNames.For convenience, you can choose to use the same certificate for ClusterCertificateCommonNames and ServerCertificateCommonNames. È possibile usare uno o due nomi comuni del certificato del server.You can use one or two server certificate common names.
ClientCertificateThumbprintsClientCertificateThumbprints Installare questo set di certificati nei client autenticati.Install this set of certificates on the authenticated clients. È possibile avere diversi certificati client installati nei computer a cui si vuole consentire l'accesso al cluster.You can have a number of different client certificates installed on the machines that you want to allow access to the cluster. Impostare l'identificazione personale di ogni certificato nella variabile CertificateThumbprint.Set the thumbprint of each certificate in the CertificateThumbprint variable. Se si imposta IsAdmin su true, il client in cui è installato questo certificato può eseguire attività di gestione degli amministratori sul cluster.If you set IsAdmin to true, the client with this certificate installed on it can do administrator management activities on the cluster. Se IsAdmin è false, il client con questo certificato può eseguire solo le azioni consentite con diritti di accesso utente, in genere di sola lettura.If IsAdmin is false, the client with this certificate can perform the actions only allowed for user-access rights, typically read-only. Per altre informazioni sui ruoli, vedere Controllo degli accessi in base al ruolo.For more information on roles, see Role-Based Access Control (RBAC).
ClientCertificateCommonNamesClientCertificateCommonNames Impostare il nome comune del primo certificato client per CertificateCommonName.Set the common name of the first client certificate for the CertificateCommonName. CertificateIssuerThumbprint è l'identificazione personale dell'autorità emittente del certificato.The CertificateIssuerThumbprint is the thumbprint for the issuer of this certificate. Per altre informazioni sui nomi comuni e sull'autorità emittente, vedere Utilizzo dei certificati.To learn more about common names and the issuer, see Work with certificates.
ReverseProxyCertificateReverseProxyCertificate Consigliato per un ambiente di test.Recommended for a test environment. Si tratta di un certificato facoltativo che è possibile specificare se si vuole proteggere il proxy inverso.This optional certificate can be specified if you want to secure your reverse proxy. Se si usa questo certificato, assicurarsi che reverseProxyEndpointPort sia impostato in nodeTypes.Make sure that reverseProxyEndpointPort is set in nodeTypes if you use this certificate.
ReverseProxyCertificateCommonNamesReverseProxyCertificateCommonNames Consigliato per un ambiente di produzione.Recommended for a production environment. Si tratta di un certificato facoltativo che è possibile specificare se si vuole proteggere il proxy inverso.This optional certificate can be specified if you want to secure your reverse proxy. Se si usa questo certificato, assicurarsi che reverseProxyEndpointPort sia impostato in nodeTypes.Make sure that reverseProxyEndpointPort is set in nodeTypes if you use this certificate.

Ecco un esempio di una configurazione cluster in cui sono stati specificati certificati cluster, server e client.Here is an example cluster configuration where the cluster, server, and client certificates have been provided. Si noti che per i certificati del cluster/server/reverseProxy non è consentito configurare insieme l'identificazione personale e il nome comune per lo stesso tipo di certificato.For cluster/server/reverseProxy certificates, the thumbprint and the common name can't be configured together for the same certificate type.

{
   "name": "SampleCluster",
   "clusterConfigurationVersion": "1.0.0",
   "apiVersion": "2016-09-26",
   "nodes": [{
       "nodeName": "vm0",
       "metadata": "Replace the localhost below with valid IP address or FQDN",
       "iPAddress": "10.7.0.5",
       "nodeTypeRef": "NodeType0",
       "faultDomain": "fd:/dc1/r0",
       "upgradeDomain": "UD0"
   }, {
       "nodeName": "vm1",
       "metadata": "Replace the localhost with valid IP address or FQDN",
       "iPAddress": "10.7.0.4",
       "nodeTypeRef": "NodeType0",
       "faultDomain": "fd:/dc1/r1",
       "upgradeDomain": "UD1"
   }, {
       "nodeName": "vm2",
       "iPAddress": "10.7.0.6",
       "metadata": "Replace the localhost with valid IP address or FQDN",
       "nodeTypeRef": "NodeType0",
       "faultDomain": "fd:/dc1/r2",
       "upgradeDomain": "UD2"
   }],
   "properties": {
       "diagnosticsStore": {
       "metadata":  "Please replace the diagnostics store with an actual file share accessible from all cluster machines.",
       "dataDeletionAgeInDays": "7",
       "storeType": "FileShare",
       "IsEncrypted": "false",
       "connectionstring": "c:\\ProgramData\\SF\\DiagnosticsStore"
       }
       "security": {
           "metadata": "The Credential type X509 indicates this cluster is secured by using X509 certificates. The thumbprint format is d5 ec 42 3b 79 cb e5 07 fd 83 59 3c 56 b9 d5 31 24 25 42 64.",
           "ClusterCredentialType": "X509",
           "ServerCredentialType": "X509",
           "CertificateInformation": {
               "ClusterCertificateCommonNames": {
                 "CommonNames": [
                   {
                     "CertificateCommonName": "myClusterCertCommonName",
                     "CertificateIssuerThumbprint": "7c fc 91 97 13 66 8d 9f a8 ee 71 2b a2 f4 37 62 00 03 49 0d"
                   }
                 ],
                 "X509StoreName": "My"
               },
               "ServerCertificateCommonNames": {
                 "CommonNames": [
                   {
                     "CertificateCommonName": "myServerCertCommonName",
                     "CertificateIssuerThumbprint": "7c fc 91 97 13 16 8d ff a8 ee 71 2b a2 f4 62 62 00 03 49 0d"
                   }
                 ],
                 "X509StoreName": "My"
               },
               "ClientCertificateThumbprints": [{
                   "CertificateThumbprint": "c4 c18 8e aa a8 58 77 98 65 f8 61 4a 0d da 4c 13 c5 a1 37 6e",
                   "IsAdmin": false
               }, {
                   "CertificateThumbprint": "71 de 04 46 7c 9e d0 54 4d 02 10 98 bc d4 4c 71 e1 83 41 4e",
                   "IsAdmin": true
               }]
           }
       },
       "reliabilityLevel": "Bronze",
       "nodeTypes": [{
           "name": "NodeType0",
           "clientConnectionEndpointPort": "19000",
           "clusterConnectionEndpointPort": "19001",
           "leaseDriverEndpointPort": "19002",
           "serviceConnectionEndpointPort": "19003",
           "httpGatewayEndpointPort": "19080",
           "applicationPorts": {
               "startPort": "20001",
               "endPort": "20031"
           },
           "ephemeralPorts": {
               "startPort": "20032",
               "endPort": "20062"
           },
           "isPrimary": true
       }
        ],
       "fabricSettings": [{
           "name": "Setup",
           "parameters": [{
               "name": "FabricDataRoot",
               "value": "C:\\ProgramData\\SF"
           }, {
               "name": "FabricLogRoot",
               "value": "C:\\ProgramData\\SF\\Log"
           }]
       }]
   }
}

Rollover dei certificatiCertificate rollover

Quando si usa il nome comune del certificato al posto dell'identificazione personale, il rollover del certificato non richiede l'aggiornamento della configurazione del cluster.When you use a certificate common name instead of a thumbprint, certificate rollover doesn't require a cluster configuration upgrade. Per gli aggiornamenti dell'identificazione personale dell'autorità di certificazione, verificare che ci sia un'intersezione tra il nuovo elenco di identificazione personale e l'elenco precedente.For issuer thumbprint upgrades, make sure that the new thumbprint list intersects with the old list. Sarà necessario innanzitutto eseguire un aggiornamento della configurazione con la nuova identificazione personale dell'autorità di certificazione e quindi installare i nuovi certificati (sia il certificato cluster/server che i certificati dell'autorità di certificazione) nell'archivio.You first have to do a config upgrade with the new issuer thumbprints, and then install the new certificates (both cluster/server certificate and issuer certificates) in the store. Mantenere il vecchio certificato dell'autorità di certificazione nell'archivio certificati per almeno due ore dopo aver installato il nuovo certificato dell'autorità di certificazione.Keep the old issuer certificate in the certificate store for at least two hours after you install the new issuer certificate.

Acquisire i certificati X.509Acquire the X.509 certificates

Per proteggere la comunicazione nel cluster, è prima necessario ottenere i certificati X.509 per i nodi del cluster.To secure communication within the cluster, you first need to obtain X.509 certificates for your cluster nodes. Per limitare inoltre la connessione al cluster a computer o utenti autorizzati, è necessario ottenere e installare i certificati per i computer client.Additionally, to limit connection to this cluster to authorized machines/users, you need to obtain and install certificates for the client machines.

Per proteggere i cluster che eseguono carichi di lavoro di produzione, è necessario usare un certificato X.509 firmato da un' Autorità di certificazione (CA).For clusters that are running production workloads, use a certificate authority (CA)-signed X.509 certificate to secure the cluster. Per altre informazioni su come ottenere questi certificati, vedere Procedura: ottenere un certificato (WCF).For more information on how to obtain these certificates, see How to obtain a certificate.

Per i cluster usati solo a scopo di test, si può scegliere di usare un certificato autofirmato.For clusters that you use for test purposes, you can choose to use a self-signed certificate.

Facoltativo: creare un certificato autofirmatoOptional: Create a self-signed certificate

Un modo per creare un certificato autofirmato che possa essere protetto correttamente consiste nell'usare lo script CertSetup.ps1 della cartella Service Fabric SDK nella directory C:\Programmi\Microsoft SDKs\Service Fabric\ClusterSetup\Secure.One way to create a self-signed certificate that can be secured correctly is to use the CertSetup.ps1 script in the Service Fabric SDK folder in the directory C:\Program Files\Microsoft SDKs\Service Fabric\ClusterSetup\Secure. Modificare questo file per cambiare il nome predefinito del certificatoEdit this file to change the default name of the certificate. (individuare il valore CN=ServiceFabricDevClusterCert). Eseguire questo script come .\CertSetup.ps1 -Install.(Look for the value CN=ServiceFabricDevClusterCert.) Run this script as .\CertSetup.ps1 -Install.

Esportare ora il certificato in un file con estensione pfx con una password protetta.Now export the certificate to a .pfx file with a protected password. Ottenere per prima cosa l'identificazione personale del certificato.First, get the thumbprint of the certificate.

  1. Dal menu Start eseguire Gestisci i certificati computer.From the Start menu, run Manage computer certificates.

  2. Passare alla cartella Computer locale\Personale e cercare il certificato appena creato.Go to the Local Computer\Personal folder, and find the certificate you created.

  3. Fare doppio clic sul certificato per aprirlo, selezionare la scheda Dettagli e quindi scorrere verso il basso fino al campo Identificazione personale.Double-click the certificate to open it, select the Details tab, and scroll down to the Thumbprint field.

  4. Rimuovere gli spazi e copiare il valore dell'identificazione personale nel comando PowerShell di seguito.Remove the spaces, and copy the thumbprint value into the following PowerShell command.

  5. Modificare il valore String in una password sicura idonea a proteggerlo ed eseguire quanto segue in PowerShell:Change the String value to a suitable secure password to protect it, and run the following in PowerShell:

    $pswd = ConvertTo-SecureString -String "1234" -Force –AsPlainText
    Get-ChildItem -Path cert:\localMachine\my\<Thumbprint> | Export-PfxCertificate -FilePath C:\mypfx.pfx -Password $pswd
    
  6. Per visualizzare i dettagli di un certificato installato nel computer, eseguire il comando PowerShell seguente:To see the details of a certificate installed on the machine, run the following PowerShell command:

    $cert = Get-Item Cert:\LocalMachine\My\<Thumbprint>
    Write-Host $cert.ToString($true)
    

In alternativa, se si dispone di una sottoscrizione di Azure, seguire i passaggi in creare un cluster di Service Fabric usando Gestione risorse di Azure.Alternatively, if you have an Azure subscription, follow the steps in Create a Service Fabric cluster by using Azure Resource Manager.

Installare i certificatiInstall the certificates

Dopo aver ottenuto i certificati, è possibile installarli nei nodi del cluster.After you have certificates, you can install them on the cluster nodes. È necessario che nei nodi sia già installata la versione più recente di Windows PowerShell 3.x.Your nodes need to have the latest Windows PowerShell 3.x installed on them. È necessario ripetere questi passaggi in ogni nodo, sia per i certificati cluster e server che per gli eventuali certificati secondari.Repeat these steps on each node for both cluster and server certificates and any secondary certificates.

  1. Copiare i file con estensione pfx nel nodo.Copy the .pfx file or files to the node.

  2. Aprire una finestra di PowerShell come amministratore e immettere i comandi seguenti.Open a PowerShell window as an administrator, and enter the following commands. Sostituire $pswd con la password usata per creare il certificato.Replace $pswd with the password that you used to create this certificate. Sostituire $PfxFilePath con il percorso completo del file con estensione pfx copiato nel nodo.Replace $PfxFilePath with the full path of the .pfx copied to this node.

    $pswd = "1234"
    $PfxFilePath ="C:\mypfx.pfx"
    Import-PfxCertificate -Exportable -CertStoreLocation Cert:\LocalMachine\My -FilePath $PfxFilePath -Password (ConvertTo-SecureString -String $pswd -AsPlainText -Force)
    
  3. Impostare ora il controllo di accesso per questo certificato in modo che possa essere usato dal processo di Service Fabric, eseguito con l'account Servizio di rete, con lo script seguente.Now set the access control on this certificate so that the Service Fabric process, which runs under the Network Service account, can use it by running the following script. Specificare l'identificazione personale del certificato e NETWORK SERVICE come account del servizio.Provide the thumbprint of the certificate and NETWORK SERVICE for the service account. È possibile controllare che gli ACL per il certificato siano corretti aprendo il certificato in Start > Gestisci i certificati computer ed esaminando Tutte le attività > Gestisci chiavi private.You can check that the ACLs on the certificate are correct by opening the certificate in Start > Manage computer certificates and looking at All Tasks > Manage Private Keys.

    param
    (
    [Parameter(Position=1, Mandatory=$true)]
    [ValidateNotNullOrEmpty()]
    [string]$pfxThumbPrint,
    
    [Parameter(Position=2, Mandatory=$true)]
    [ValidateNotNullOrEmpty()]
    [string]$serviceAccount
    )
    
    $cert = Get-ChildItem -Path cert:\LocalMachine\My | Where-Object -FilterScript { $PSItem.ThumbPrint -eq $pfxThumbPrint; }
    
    # Specify the user, the permissions, and the permission type
    $permission = "$($serviceAccount)","FullControl","Allow"
    $accessRule = New-Object -TypeName System.Security.AccessControl.FileSystemAccessRule -ArgumentList $permission
    
    # Location of the machine-related keys
    $keyPath = Join-Path -Path $env:ProgramData -ChildPath "\Microsoft\Crypto\RSA\MachineKeys"
    $keyName = $cert.PrivateKey.CspKeyContainerInfo.UniqueKeyContainerName
    $keyFullPath = Join-Path -Path $keyPath -ChildPath $keyName
    
    # Get the current ACL of the private key
    $acl = (Get-Item $keyFullPath).GetAccessControl('Access')
    
    # Add the new ACE to the ACL of the private key
    $acl.SetAccessRule($accessRule)
    
    # Write back the new ACL
    Set-Acl -Path $keyFullPath -AclObject $acl -ErrorAction Stop
    
    # Observe the access rights currently assigned to this certificate
    get-acl $keyFullPath| fl
    
  4. Ripetere i passaggi precedenti per ogni certificato del server.Repeat the previous steps for each server certificate. Questa procedura può essere usata anche per installare i certificati client nei computer a cui si vuole consentire l'accesso al cluster.You also can use these steps to install the client certificates on the machines that you want to allow access to the cluster.

Creare il cluster sicuroCreate the secure cluster

Dopo aver configurato la sezione security del file ClusterConfig.X509.MultiMachine.json, passare alla sezione Creare il cluster per configurare i nodi e creare il cluster autonomo.After you configure the security section of the ClusterConfig.X509.MultiMachine.json file, you can proceed to the Create the cluster section to configure the nodes and create the standalone cluster. Ricordarsi di usare il file ClusterConfig.X509.MultiMachine.json mentre si crea il cluster.Remember to use the ClusterConfig.X509.MultiMachine.json file while you create the cluster. Ad esempio, il comando può essere simile al seguente:For example, your command might look like the following:

.\CreateServiceFabricCluster.ps1 -ClusterConfigFilePath .\ClusterConfig.X509.MultiMachine.json

Quando il cluster Windows autonomo sicuro è in esecuzione e sono stati configurati i client autenticati per la connessione al cluster, seguire la procedura riportata nella sezione Connessione a un cluster mediante PowerShell per stabilire la connessione.After you have the secure standalone Windows cluster successfully running and have set up the authenticated clients to connect to it, follow the steps in the section Connect to a cluster using PowerShell to connect to it. Ad esempio: For example:

$ConnectArgs = @{  ConnectionEndpoint = '10.7.0.5:19000';  X509Credential = $True;  StoreLocation = 'LocalMachine';  StoreName = "MY";  ServerCertThumbprint = "057b9544a6f2733e0c8d3a60013a58948213f551";  FindType = 'FindByThumbprint';  FindValue = "057b9544a6f2733e0c8d3a60013a58948213f551"   }
Connect-ServiceFabricCluster $ConnectArgs

È quindi possibile eseguire altri comandi di PowerShell per usare questo cluster.You can then run other PowerShell commands to work with this cluster. È possibile, ad esempio, usare il comando Get-ServiceFabricNode per visualizzare un elenco di nodi nel cluster protetto.For example, you can run Get-ServiceFabricNode to show a list of nodes on this secure cluster.

Per rimuovere il cluster, connettersi al nodo del cluster in cui è stato scaricato il pacchetto di Service Fabric, aprire una riga di comando e passare alla cartella del pacchetto.To remove the cluster, connect to the node on the cluster where you downloaded the Service Fabric package, open a command line, and go to the package folder. Eseguire ora il comando seguente:Now run the following command:

.\RemoveServiceFabricCluster.ps1 -ClusterConfigFilePath .\ClusterConfig.X509.MultiMachine.json

Nota

La configurazione non corretta del certificato può impedire la visualizzazione del cluster durante la distribuzione.Incorrect certificate configuration might prevent the cluster from coming up during deployment. Per diagnosticare automaticamente i problemi di sicurezza, consultare il gruppo di Visualizzatore eventi Registri applicazioni e servizi > Microsoft Service Fabric.To self-diagnose security issues, look in the Event Viewer group Applications and Services Logs > Microsoft-Service Fabric.