Creare un cluster di Service Fabric usando Azure Resource ManagerCreate a Service Fabric cluster by using Azure Resource Manager

Questo articolo contiene una guida dettagliata che illustra la configurazione di un cluster di Azure Service Fabric sicuro in Azure tramite Azure Resource Manager.This step-by-step guide walks you through setting up a secure Azure Service Fabric cluster in Azure by using Azure Resource Manager. Anche se l'articolo è lungo,We acknowledge that the article is long. a meno che non si conosca già a fondo il contenuto, assicurarsi di seguire con attenzione ogni passaggio.Nevertheless, unless you are already thoroughly familiar with the content, be sure to follow each step carefully.

La guida illustra le procedure seguenti:The guide covers the following procedures:

  • Concetti principali da tenere in considerazione prima di distribuire un cluster di Service Fabric.Key Concepts that you need to be aware of before deploying a Service Fabric cluster.
  • Creazione di un cluster in Azure tramite moduli di Gestione risorse di Service Fabric.Creating a cluster in Azure by using Service Fabric Resource Manager modules.
  • Configurazione di Azure Active Directory (Azure AD) per l'autenticazione degli utenti che eseguono operazioni di gestione nel cluster.Setting up Azure Active Directory (Azure AD) for authenticating users performing management operations on the cluster.
  • Creazione di un modello personalizzato di Azure Resource Manager per il cluster e relativa distribuzione.Authoring a custom Azure Resource Manager template for your cluster and deploying it.

Concetti principali da tenere in considerazioneKey concepts to be aware of

In Azure, Service Fabric impone l'uso di un certificato x509 per la protezione del cluster e dei relativi endpoint.In Azure, Service Fabric mandates that you to use an x509 certificate to secure your cluster and its endpoints. I certificati vengono usati in Service Fabric per fornire l'autenticazione e la crittografia e proteggere i vari aspetti di un cluster e delle sue applicazioni.Certificates are used in Service Fabric to provide authentication and encryption to secure various aspects of a cluster and its applications. Per l'accesso client o l'esecuzione di operazioni di gestione nel cluster, come la distribuzione, l'aggiornamento e l'eliminazione di applicazioni, servizi e dati in essi contenuti, è possibile usare i certificati o le credenziali di Azure Active Directory.For client access/performing management operations on the cluster, including deploying, upgrading, and deleting applications, services, and the data they contain, you can use certificates or Azure Active Directory credentials. L'uso di Azure Active Directory è fortemente consigliato, trattandosi dell'unico modo per impedire la condivisione dei certificati nei client.The use of Azure Active Directory is highly encouraged, since that is the only way to prevent sharing of certificates on your clients. Per altre informazioni sull'uso dei certificati in Service Fabric, vedere Scenari di sicurezza di un cluster di Service Fabric.For more information on how certificates are used in Service Fabric, see Service Fabric cluster security scenarios.

Service Fabric usa certificati X.509 per proteggere un cluster e fornire le funzionalità di sicurezza dell'applicazione.Service Fabric uses X.509 certificates to secure a cluster and provide application security features. Si usa Key Vault per gestire i certificati dei cluster di Service Fabric in Azure.You use Key Vault to manage certificates for Service Fabric clusters in Azure.

Cluster e certificato del server (obbligatorio)Cluster and server certificate (required)

Questi certificati (uno primario ed eventualmente uno secondario) sono necessari per proteggere un cluster e prevenire accessi non autorizzati.These certificates (one primary and optionally a secondary) are required to secure a cluster and prevent unauthorized access to it. Il certificato fornisce protezione del cluster in due modi:It provides cluster security in two ways:

  • Autenticazione del cluster: autentica la comunicazione da nodo a nodo per la federazione di cluster.Cluster authentication: Authenticates node-to-node communication for cluster federation. Solo i nodi che possono dimostrare la propria identità con il certificato possono essere aggiunti al cluster.Only nodes that can prove their identity with this certificate can join the cluster.
  • Autenticazione del server: autentica gli endpoint di gestione del cluster in un client di gestione, in modo che il client di gestione sappia con certezza di comunicare con il cluster reale e di non essere soggetto a un attacco "man in the middle".Server authentication: Authenticates the cluster management endpoints to a management client, so that the management client knows it is talking to the real cluster and not a 'man in the middle'. Questo certificato fornisce anche un certificato SSL per l'API di gestione HTTPS e per Service Fabric Explorer tramite HTTPS.This certificate also provides an SSL for the HTTPS management API and for Service Fabric Explorer over HTTPS.

A tale scopo, il certificato deve soddisfare i requisiti seguenti:To serve these purposes, the certificate must meet the following requirements:

  • Il certificato deve includere una chiave privata.The certificate must contain a private key. In genere questi certificati hanno l'estensione pfx o pem.These certificates typically have extensions .pfx or .pem
  • Il certificato deve essere stato creato per lo scambio di chiave, esportabile in un file con estensione pfx (Personal Information Exchange).The certificate must be created for key exchange, which is exportable to a Personal Information Exchange (.pfx) file.
  • Il nome del soggetto del certificato deve corrispondere al dominio usato per accedere al cluster di Service Fabric.The certificate's subject name must match the domain that you use to access the Service Fabric cluster. Questa corrispondenza è necessaria per fornire un certificato SSL per l'endpoint di gestione HTTPS del cluster e Service Fabric Explorer.This matching is required to provide an SSL for the cluster's HTTPS management endpoint and Service Fabric Explorer. Non è possibile ottenere un certificato SSL da un'autorità di certificazione (CA) per il dominio *.cloudapp.azure.com.You cannot obtain an SSL certificate from a certificate authority (CA) for the *.cloudapp.azure.com domain. È necessario ottenere un nome di dominio personalizzato per il cluster.You must obtain a custom domain name for your cluster. Quando si richiede un certificato da una CA, il nome del soggetto del certificato deve corrispondere al nome di dominio personalizzato usato per il cluster.When you request a certificate from a CA, the certificate's subject name must match the custom domain name that you use for your cluster.

Azure AD consente alle organizzazioni (note come tenant) di gestire l'accesso utenti alle applicazioni.Azure AD enables organizations (known as tenants) to manage user access to applications. Alcune applicazioni sono caratterizzate da un'interfaccia utente di accesso basata sul Web, altre invece da un'esperienza client nativa.Applications are divided into those with a web-based sign-in UI and those with a native client experience. In questo articolo si presuppone che sia già stato creato un tenant.In this article, we assume that you have already created a tenant. In caso contrario, vedere prima di tutto Come ottenere un tenant di Azure Active Directory.If you have not, start by reading How to get an Azure Active Directory tenant.

I cluster di Service Fabric offrono numerosi punti di ingresso alle relative funzionalità di gestione, tra cui Service Fabric Explorer, basato sul Web, e Visual Studio.A Service Fabric cluster offers several entry points to its management functionality, including the web-based Service Fabric Explorer and Visual Studio. Verranno quindi create due applicazioni Azure AD per controllare l'accesso al cluster, un'applicazione Web e un'applicazione nativa.As a result, you create two Azure AD applications to control access to the cluster, one web application and one native application.

Più avanti in questo documento verranno fornite altre informazioni sulla configurazione.More on how to set it up later in the document.

Certificati delle applicazioni (facoltativo)Application certificates (optional)

Per motivi di sicurezza dell'applicazione, è possibile installare nel cluster numerosi certificati aggiuntivi.Any number of additional certificates can be installed on a cluster for application security purposes. Prima di creare il cluster, considerare gli scenari di protezione delle applicazioni che richiedono l'installazione di un certificato sui nodi, ad esempio:Before creating your cluster, consider the application security scenarios that require a certificate to be installed on the nodes, such as:

  • Crittografia e decrittografia dei valori di configurazione dell'applicazione.Encryption and decryption of application configuration values.
  • Crittografia dei dati tra i nodi durante la replica.Encryption of data across nodes during replication.

Il concetto di creazione di cluster sicuri è lo stesso per i cluster sia Linux che Windows.The concept of creating secure clusters is the same, whether they are Linux or Windows clusters.

Certificati di autenticazione client (facoltativo)Client authentication certificates (optional)

Per le operazioni client degli utenti o degli amministratori è possibile specificare un numero qualsiasi di certificati aggiuntivi.Any number of additional certificates can be specified for Admin or user client operations. Per impostazione predefinita, il certificato del cluster ha privilegi "Client amministratore".By default the cluster certificate has admin client privileges. Questi certificati client aggiuntivi non devono essere installati nel cluster, ma devono essere semplicemente specificati come consentiti nella configurazione del cluster; tuttavia, è necessario che siano installati nei computer client per connettersi al cluster ed eseguire tutte le operazioni di gestione.These additional client certificates should not be installed into the cluster, it just needs to be specified as being allowed in the cluster configuration, however, they need to be installed on the client machines to connect to the cluster and perform any management operations.

PrerequisitiPrerequisites

Il concetto di creazione di cluster sicuri è lo stesso per i cluster sia Linux che Windows.The concept of creating secure clusters is the same, whether they are Linux or Windows clusters. Questa guida illustra l'uso di Azure PowerShell o dell'interfaccia della riga di comando di Azure per creare nuovi cluster.This guide covers the use of Azure PowerShell or Azure CLI to create new clusters. Devono essere soddisfatti i prerequisiti seguenti:The prerequisites are either:

Usare il modulo RM di Service Fabric per distribuire un clusterUse Service Fabric RM module to deploy a cluster

In questo documento si usa il modulo RM di Service Fabric di PowerShell e dell'interfaccia della riga di comando per distribuire un cluster. Il modulo di PowerShell o dell'interfaccia della riga di comando consente più scenari,In this document, we will use the Service Fabric RM powershell and CLI module to deploy a cluster, the PowerShell or the CLI module command allows for multiple scenarios. che verranno esaminati di seguito in dettaglio.Let us go through each of the them. Scegliere lo scenario più appropriato per le specifiche esigenze.Pick the scenario that you feel best meets your needs.

  • Creare un nuovo clusterCreate a new cluster
    • con un certificato autofirmato generato dal sistemausing a system generated self signed certificate
    • con un certificato già in proprio possessousing a certificate you already own

È possibile usare un modello di cluster predefinito o già in proprio possessoYou can use a default cluster template or a template that you already have

Creare un nuovo cluster con un certificato autofirmato generato dal sistemaCreate new cluster - using a system generated self signed certificate

Usare il comando seguente per creare un cluster, se si vuole che il sistema generi un certificato autofirmato da usare per la protezione del cluster.Use the following command to create cluster, if you want the system to generate a self-signed certificate and use it to secure your cluster. Questo comando imposta un certificato cluster primario che viene usato per la protezione del cluster e per configurare l'accesso amministratore per l'esecuzione di operazioni di gestione tramite il certificato.This command sets up a primary cluster certificate that is used for cluster security and to set up admin access to perform management operations using that certificate.

Accedere ad Azurelogin to Azure

Connect-AzureRmAccount
Set-AzureRmContext -SubscriptionId <guid>
azure login
az account set --subscription $subscriptionId

Usare il modello predefinito a 5 nodi e 1 tipo di nodo disponibile nel modulo per configurare il clusterUse the default 5 Node 1 node type template that ships in the module to set up the cluster

Usare il comando seguente per creare un cluster rapidamente, specificando i parametri minimi.Use the following command to create a cluster quickly, by specifying minimal parameters

Il modello utilizzato è disponibile tra gli esempi di modelli di Azure Service Fabric: modello di Windows e nel modello UbuntuThe template that is used is available on the Azure Service Fabric template samples : windows template and Ubuntu template

I comandi seguenti consentono di creare cluster di Windows e Linux; è sufficiente specificare il sistema operativo appropriato.The commands below works for creating Windows and Linux clusters, you just need to specify the OS accordingly. I comandi di PowerShell e dell'interfaccia della riga di comando restituiscono inoltre il certificato nella cartella CertificateOutputFolder specificata, tuttavia assicurarsi che la cartella del certificato sia già stata creata.The PowerShell/CLI commands also output the certificate in the specified CertificateOutputFolder; however, make sure certificate folder already created. Il comando accetta anche altri parametri come VM SKU.The command takes in other parameters like VM SKU as well.

Nota

Il comando di PowerShell seguente funziona solo con la versione PowerShell 6.1 per Azure Resource Manager. Per controllare la versione corrente di PowerShell per Azure Resource Manager, eseguire il comando di PowerShell "Get-Module AzureRM". Per aggiornare la versione di PowerShell per Azure Resource Manager, seguire questo collegamento. https://docs.microsoft.com/en-us/powershell/azure/install-azurerm-ps?view=azurermps-6.3.0

$resourceGroupLocation="westus"
$resourceGroupName="mycluster"
$vaultName="myvault"
$vaultResourceGroupName="myvaultrg"
$CertSubjectName="mycluster.westus.cloudapp.azure.com"
$certPassword="Password123!@#" | ConvertTo-SecureString -AsPlainText -Force 
$vmpassword="Password4321!@#" | ConvertTo-SecureString -AsPlainText -Force
$vmuser="myadmin"
$os="WindowsServer2016DatacenterwithContainers"
$certOutputFolder="c:\certificates"

New-AzureRmServiceFabricCluster -ResourceGroupName $resourceGroupName -Location $resourceGroupLocation -CertificateOutputFolder $certOutputFolder -CertificatePassword $certpassword -CertificateSubjectName $CertSubjectName -OS $os -VmPassword $vmpassword -VmUserName $vmuser


```CLI
declare resourceGroupLocation="westus"
declare resourceGroupName="mylinux"
declare vaultResourceGroupName="myvaultrg"
declare vaultName="myvault"
declare CertSubjectName="mylinux.westus.cloudapp.azure.com"
declare vmpassword="Password!1"
declare certpassword="Password!4321"
declare vmuser="myadmin"
declare vmOs="UbuntuServer1604"
declare certOutputFolder="c:\certificates"

az sf cluster create --resource-group $resourceGroupName --location $resourceGroupLocation  \
    --certificate-output-folder $certOutputFolder --certificate-password $certpassword  \
    --vault-name $vaultName --vault-resource-group $resourceGroupName  \
    --template-file $templateFilePath --parameter-file $parametersFilePath --vm-os $vmOs  \
    --vm-password $vmpassword --vm-user-name $vmuser

Usare il modello personalizzato già disponibileUse the custom template that you already have

Se è necessario creare un modello personalizzato specifico per le proprie esigenze, è consigliabile iniziare con uno di quelli disponibili tra gli esempi di modelli di Azure Service Fabric.If you need to author a custom template to suit your needs, it is highly recommended that you start with one of the templates that are available on the Azure Service Fabric template samples. Attenersi alle indicazioni e alle spiegazioni per personalizzare il modello di cluster riportate nella sezione seguente.Follow guidance and explanations to customize your cluster template section below.

Se si dispone già di un modello personalizzato, verificare che tutti e tre i parametri correlati al certificato nel modello e il file dei parametri siano denominati come segue e che i valori siano Null come indicato di seguito.If you already have a custom template, then make sure to double check that all the three certificate related parameters in the template and the parameter file are named as follows and values are null as follows.

   "certificateThumbprint": {
      "value": ""
    },
    "sourceVaultValue": {
      "value": ""
    },
    "certificateUrlValue": {
      "value": ""
    },
$resourceGroupLocation="westus"
$resourceGroupName="mycluster"
$CertSubjectName="mycluster.westus.cloudapp.azure.com"
$certPassword="Password!1" | ConvertTo-SecureString -AsPlainText -Force 
$certOutputFolder="c:\certificates"

$parameterFilePath="c:\mytemplates\mytemplateparm.json"
$templateFilePath="c:\mytemplates\mytemplate.json"

New-AzureRmServiceFabricCluster -ResourceGroupName $resourceGroupName -CertificateOutputFolder $certOutputFolder -CertificatePassword $certpassword -CertificateSubjectName $CertSubjectName -TemplateFile $templateFilePath -ParameterFile $parameterFilePath 

Ecco il comando equivalente dell'interfaccia della riga di comando per eseguire la stessa operazione.Here is the equivalent CLI command to do the same. Modificare i valori nelle istruzioni declare specificando i valori appropriati.Change the values in the declare statements to appropriate values. L'interfaccia della riga di comando supporta tutti gli altri parametri supportati dal precedente comando di PowerShell.CLI supports all the other parameters that the above PowerShell command supports.

declare certPassword=""
declare resourceGroupLocation="westus"
declare resourceGroupName="mylinux"
declare certSubjectName="mylinuxsecure.westus.cloudapp.azure.com"
declare parameterFilePath="c:\mytemplates\linuxtemplateparm.json"
declare templateFilePath="c:\mytemplates\linuxtemplate.json"
declare certOutputFolder="c:\certificates"

az sf cluster create --resource-group $resourceGroupName --location $resourceGroupLocation  \
    --certificate-output-folder $certOutputFolder --certificate-password $certPassword  \
    --certificate-subject-name $certSubjectName \
    --template-file $templateFilePath --parameter-file $parametersFilePath

Creare un nuovo cluster con il certificato acquistato da un'autorità di certificazione o già in proprio possessoCreate new cluster - using the certificate you bought from a CA or you already have

Usare il comando seguente per creare il cluster, se si dispone già di un certificato da usare per la protezione del cluster.Use the following command to create cluster, if you have a certificate that you want to use to secure your cluster with.

Se si tratta di un certificato firmato da un'autorità di certificazione utilizzabile anche per altri scopi, è consigliabile fornire un gruppo di risorse distinto specifico per l'insieme di credenziali delle chiavi.If this is a CA signed certificate that you will end up using for other purposes as well, then it is recommended that you provide a distinct resource group specifically for your key vault. È consigliabile inserire l'insieme di credenziali delle chiavi in un proprio gruppo di risorse.We recommend that you put the key vault into its own resource group. Questa azione consente di rimuovere i gruppi di risorse di calcolo e di archiviazione, incluso il gruppo di risorse contenente il cluster di Service Fabric, senza perdere le chiavi e i segreti.This action lets you remove the compute and storage resource groups, including the resource group that contains your Service Fabric cluster, without losing your keys and secrets. Il gruppo di risorse che contiene l'insieme di credenziali delle chiavi deve essere situato nella stessa area del cluster che lo usa.The resource group that contains your key vault must be in the same region as the cluster that is using it.

Usare il modello predefinito a 5 nodi e 1 tipo di nodo fornito nel moduloUse the default 5 Node 1 node type template that ships in the module

Il modello utilizzato è disponibile tra gli esempi di Azure: modello di Windows e nel modello UbuntuThe template that is used is available on the Azure samples : Windows template and Ubuntu template

$resourceGroupLocation="westus"
$resourceGroupName="mylinux"
$vaultName="myvault"
$vaultResourceGroupName="myvaultrg"
$certPassword="Password!1" | ConvertTo-SecureString -AsPlainText -Force 
$vmpassword=("Password!4321" | ConvertTo-SecureString -AsPlainText -Force) 
$vmuser="myadmin"
$os="WindowsServer2016DatacenterwithContainers"

New-AzureRmServiceFabricCluster -ResourceGroupName $resourceGroupName -Location $resourceGroupLocation -KeyVaultResouceGroupName $vaultResourceGroupName -KeyVaultName $vaultName -CertificateFile C:\MyCertificates\chackocertificate3.pfx -CertificatePassword $certPassword -OS $os -VmPassword $vmpassword -VmUserName $vmuser 
declare vmPassword="Password!1"
declare certPassword="Password!1"
declare vmUser="myadmin"
declare resourceGroupLocation="westus"
declare resourceGroupName="mylinux"
declare vaultResourceGroupName="myvaultrg"
declare vaultName="myvault"
declare certificate-file="c:\certificates\mycert.pem"
declare vmOs="UbuntuServer1604"

az sf cluster create --resource-group $resourceGroupName --location $resourceGroupLocation  \
    --certificate-file $certificate-file --certificate-password $certPassword  \
    --vault-name $vaultName --vault-resource-group $vaultResourceGroupName  \
    --vm-os vmOs \
    --vm-password $vmPassword --vm-user-name $vmUser

Usare il modello personalizzato disponibileUse the custom template that you have

Se è necessario creare un modello personalizzato specifico per le proprie esigenze, è consigliabile iniziare con uno di quelli disponibili tra gli esempi di modelli di Azure Service Fabric.If you need to author a custom template to suit your needs, it is highly recommended that you start with one of the templates that are available on the Azure Service Fabric template samples. Attenersi alle indicazioni e alle spiegazioni per personalizzare il modello di cluster riportate nella sezione seguente.Follow guidance and explanations to customize your cluster template section below.

Se si dispone già di un modello personalizzato, verificare che tutti e tre i parametri correlati al certificato nel modello e il file dei parametri siano denominati come segue e che i valori siano Null come indicato di seguito.If you already have a custom template, then make sure to double check that all the three certificate related parameters in the template and the parameter file are named as follows and values are null as follows.

   "certificateThumbprint": {
      "value": ""
    },
    "sourceVaultValue": {
      "value": ""
    },
    "certificateUrlValue": {
      "value": ""
    },
$resourceGroupLocation="westus"
$resourceGroupName="mylinux"
$vaultName="myvault"
$vaultResourceGroupName="myvaultrg"
$certPassword="Password!1" | ConvertTo-SecureString -AsPlainText -Force 
$os="WindowsServer2016DatacenterwithContainers"
$parameterFilePath="c:\mytemplates\mytemplateparm.json"
$templateFilePath="c:\mytemplates\mytemplate.json"
$certificateFile="C:\MyCertificates\chackonewcertificate3.pem"

New-AzureRmServiceFabricCluster -ResourceGroupName $resourceGroupName -Location $resourceGroupLocation -TemplateFile $templateFilePath -ParameterFile $parameterFilePath -KeyVaultResouceGroupName $vaultResourceGroupName -KeyVaultName $vaultName -CertificateFile $certificateFile -CertificatePassword $certPassword

Ecco il comando equivalente dell'interfaccia della riga di comando per eseguire la stessa operazione.Here is the equivalent CLI command to do the same. Modificare i valori nelle istruzioni declare specificando i valori appropriati.Change the values in the declare statements to appropriate values.

declare certPassword="Password!1"
declare resourceGroupLocation="westus"
declare resourceGroupName="mylinux"
declare vaultResourceGroupName="myvaultrg"
declare vaultName="myvault"
declare parameterFilePath="c:\mytemplates\linuxtemplateparm.json"
declare templateFilePath="c:\mytemplates\linuxtemplate.json"

az sf cluster create --resource-group $resourceGroupName --location $resourceGroupLocation  \
    --certificate-file $certificate-file --certificate-password $password  \
    --vault-name $vaultName --vault-resource-group $vaultResourceGroupName  \
    --template-file $templateFilePath --parameter-file $parametersFilePath 

Usare un puntatore al segreto già caricato nell'insieme di credenziali delle chiaviUse a pointer to the secret you already have uploaded into the key vault

Per usare un insieme di credenziali delle chiavi esistente, è necessario abilitarlo per la distribuzione per consentire al provider di risorse di calcolo di ottenere i certificati e installarli nei nodi del cluster:To use an existing key vault, you must enable it for deployment to allow the compute resource provider to get certificates from it and install it on cluster nodes:

Set-AzureRmKeyVaultAccessPolicy -VaultName 'ContosoKeyVault' -EnabledForDeployment

$parameterFilePath="c:\mytemplates\mytemplate.json"
$templateFilePath="c:\mytemplates\mytemplateparm.json"
$secretID="https://test1.vault.azure.net:443/secrets/testcertificate4/55ec7c4dc61a462bbc645ffc9b4b225f"

New-AzureRmServiceFabricCluster -ResourceGroupName $resourceGroupName -SecretIdentifier $secretId -TemplateFile $templateFilePath -ParameterFile $parameterFilePath 

Ecco il comando equivalente dell'interfaccia della riga di comando per eseguire la stessa operazione.Here is the equivalent CLI command to do the same. Modificare i valori nelle istruzioni declare specificando i valori appropriati.Change the values in the declare statements to appropriate values.

declare $resourceGroupName = "testRG"
declare $parameterFilePath="c:\mytemplates\mytemplate.json"
declare $templateFilePath="c:\mytemplates\mytemplateparm.json"
declare $secertId="https://test1.vault.azure.net:443/secrets/testcertificate4/55ec7c4dc61a462bbc645ffc9b4b225f"

az sf cluster create --resource-group $resourceGroupName --location $resourceGroupLocation  \
    --secret-identifier az $secretID  \
    --template-file $templateFilePath --parameter-file $parametersFilePath 

Configurare Azure Active Directory per l'autenticazione clientSet up Azure Active Directory for client authentication

Azure AD consente alle organizzazioni (note come tenant) di gestire l'accesso utenti alle applicazioni.Azure AD enables organizations (known as tenants) to manage user access to applications. Alcune applicazioni sono caratterizzate da un'interfaccia utente di accesso basata sul Web, altre invece da un'esperienza client nativa.Applications are divided into those with a web-based sign-in UI and those with a native client experience. In questo articolo si presuppone che sia già stato creato un tenant.In this article, we assume that you have already created a tenant. In caso contrario, vedere prima di tutto Come ottenere un tenant di Azure Active Directory.If you have not, start by reading How to get an Azure Active Directory tenant.

I cluster di Service Fabric offrono numerosi punti di ingresso alle relative funzionalità di gestione, tra cui Service Fabric Explorer, basato sul Web, e Visual Studio.A Service Fabric cluster offers several entry points to its management functionality, including the web-based Service Fabric Explorer and Visual Studio. Verranno quindi create due applicazioni Azure AD per controllare l'accesso al cluster, un'applicazione Web e un'applicazione nativa.As a result, you create two Azure AD applications to control access to the cluster, one web application and one native application.

Per semplificare alcuni dei passaggi richiesti per la configurazione di Azure AD con un cluster di Service Fabric è stato creato un set di script di Windows PowerShell.To simplify some of the steps involved in configuring Azure AD with a Service Fabric cluster, we have created a set of Windows PowerShell scripts.

Nota

È necessario completare i passaggi seguenti prima di creare il cluster. Poiché per gli script sono previsti nomi ed endpoint dei cluster, i valori devono essere pianificati e non quelli già creati.

  1. Scaricare gli script nel computer.Download the scripts to your computer.
  2. Fare clic con il pulsante destro del mouse sul file ZIP, scegliere Proprietà, selezionare la casella di controllo Sblocca e quindi fare clic su Applica.Right-click the zip file, select Properties, select the Unblock check box, and then click Apply.
  3. Estrarre il file con estensione zip.Extract the zip file.
  4. Eseguire SetupApplications.ps1 e indicare i parametri TenantId, ClusterName e WebApplicationReplyUrl.Run SetupApplications.ps1, and provide the TenantId, ClusterName, and WebApplicationReplyUrl as parameters. Ad esempio: For example:
.\SetupApplications.ps1 -TenantId '690ec069-8200-4068-9d01-5aaf188e557a' -ClusterName 'mycluster' -WebApplicationReplyUrl 'https://mycluster.westus.cloudapp.azure.com:19080/Explorer/index.html'

È possibile trovare il TenantId eseguendo il comando di PowerShell Get-AzureSubscription.You can find your TenantId by executing the PowerShell command Get-AzureSubscription. Eseguendo questo comando, viene visualizzato il TenantId per ogni sottoscrizione.Executing this command displays the TenantId for every subscription.

ClusterName viene usato come prefisso per le applicazioni Azure AD create dallo script.ClusterName is used to prefix the Azure AD applications that are created by the script. Non è necessario che corrisponda esattamente al nome effettivo del cluster.It does not need to match the actual cluster name exactly. Ha solo lo scopo di facilitare il mapping degli elementi di Azure AD al cluster di Service Fabric con cui vengono usati.It is intended only to make it easier to map Azure AD artifacts to the Service Fabric cluster that they're being used with.

WebApplicationReplyUrl è l'endpoint predefinito che Azure AD restituisce agli utenti dopo che hanno completato l'accesso.WebApplicationReplyUrl is the default endpoint that Azure AD returns to your users after they finish signing in. Impostare questo endpoint come endpoint di Service Fabric Explorer per il cluster, che per impostazione predefinita è:Set this endpoint as the Service Fabric Explorer endpoint for your cluster, which by default is:

https://<cluster_domain>:19080/Explorerhttps://<cluster_domain>:19080/Explorer

Verrà richiesto di accedere a un account con privilegi amministrativi per il tenant Azure AD.You are prompted to sign in to an account that has administrative privileges for the Azure AD tenant. Dopo avere eseguito l'accesso, lo script crea l'applicazione Web e l'applicazione nativa per rappresentare il cluster di Service Fabric.After you sign in, the script creates the web and native applications to represent your Service Fabric cluster. Tra le applicazioni del tenant nel portale di Azure dovrebbero essere visualizzate due nuove voci:If you look at the tenant's applications in the Azure portal, you should see two new entries:

  • ClusterName_ClusterClusterName_Cluster
  • ClusterName_ClientClusterName_Client

È consigliabile tenere aperta la finestra di PowerShell perché, durante la creazione del cluster nella sezione successiva, lo script stamperà il codice JSON richiesto dal modello di Azure Resource Manager.The script prints the JSON required by the Azure Resource Manager template when you create the cluster in the next section, so it's a good idea to keep the PowerShell window open.

"azureActiveDirectory": {
  "tenantId":"<guid>",
  "clusterApplication":"<guid>",
  "clientApplication":"<guid>"
},

Creare un modello di Cluster Resource Manager di Service FabricCreate a Service Fabric cluster resource manager template

Questa sezione è per gli utenti che vogliono creare un modello personalizzato di Resource Manager per cluster di Service Fabric.This section is for users who want to custom author a Service Fabric cluster resource manager template. Dopo avere creato un modello, è comunque possibile usare i moduli di PowerShell o dell'interfaccia della riga di comando per la distribuzione.once you have a template, you can still go back and use the PowerShell or CLI modules to deploy it.

Tra gli esempi di Azure su GitHub sono disponibili alcuni modelli di Resource Manager di esempio.Sample Resource Manager templates are available in the Azure samples on GitHub. Questi modelli possono essere usati come punto di partenza per il modello del cluster.These templates can be used as a starting point for your cluster template.

Creare il modello di Azure Resource ManagerCreate the Resource Manager template

Questa guida usa il modello di esempio di un cluster protetto a 5 nodi e i relativi parametri.This guide uses the 5-node secure cluster example template and template parameters. Scaricare azuredeploy.json e azuredeploy.parameters.json sul computer e aprire entrambi i file in un editor di testo.Download azuredeploy.json and azuredeploy.parameters.json to your computer and open both files in your favorite text editor.

Aggiungere certificatiAdd certificates

I certificati vengono aggiunti a un modello di Resource Manager per cluster facendo riferimento all'insieme di credenziali delle chiavi che contiene le chiavi del certificato.You add certificates to a cluster resource manager template by referencing the key vault that contains the certificate keys. Aggiungere i parametri e i valori dell'insieme di credenziali delle chiavi in un file di parametri del modello di Resource Manager (azuredeploy.parameters.json).Add those key-vault parameters and values in a Resource Manager template parameters file (azuredeploy.parameters.json).

Aggiungere tutti i certificati all'elemento osProfile del set di scalabilità di macchine virtualiAdd all certificates to the virtual machine scale set osProfile

Ogni certificato che viene installato nel cluster deve essere configurato nella sezione osProfile della risorsa del set di scalabilità (Microsoft.Compute/virtualMachineScaleSets).Every certificate that's installed in the cluster must be configured in the osProfile section of the scale set resource (Microsoft.Compute/virtualMachineScaleSets). Questa azione indica al provider di risorse di installare il certificato nelle macchine virtuali,This action instructs the resource provider to install the certificate on the VMs. includendo sia il certificato del cluster che eventuali certificati di sicurezza dell'applicazione che si intende usare per le applicazioni:This installation includes both the cluster certificate and any application security certificates that you plan to use for your applications:

{
  "apiVersion": "[variables('vmssApiVersion')]",
  "type": "Microsoft.Compute/virtualMachineScaleSets",
  ...
  "properties": {
    ...
    "osProfile": {
      ...
      "secrets": [
        {
          "sourceVault": {
            "id": "[parameters('sourceVaultValue')]"
          },
          "vaultCertificates": [
            {
              "certificateStore": "[parameters('clusterCertificateStorevalue')]",
              "certificateUrl": "[parameters('clusterCertificateUrlValue')]"
            },
            {
              "certificateStore": "[parameters('applicationCertificateStorevalue')",
              "certificateUrl": "[parameters('applicationCertificateUrlValue')]"
            },
            ...
          ]
        }
      ]
    }
  }
}

Configurare il certificato del cluster di Service FabricConfigure the Service Fabric cluster certificate

Il certificato di autenticazione del cluster deve essere configurato sia nella risorsa del cluster di Service Fabric (Microsoft.ServiceFabric/clusters) che nell'estensione di Service Fabric per i set di scalabilità di macchine virtuali nella risorsa del set di scalabilità di macchine virtuali.The cluster authentication certificate must be configured in both the Service Fabric cluster resource (Microsoft.ServiceFabric/clusters) and the Service Fabric extension for virtual machine scale sets in the virtual machine scale set resource. Questa disposizione consente al provider di risorse di Service Fabric di configurarlo per l'uso dell'autenticazione del cluster e del server per gli endpoint di gestione.This arrangement allows the Service Fabric resource provider to configure it for use for cluster authentication and server authentication for management endpoints.

Aggiungere le informazioni sul certificato alla risorsa del set di scalabilità di macchine virtuali:Add the certificate information the Virtual machine scale set resource:
{
  "apiVersion": "[variables('vmssApiVersion')]",
  "type": "Microsoft.Compute/virtualMachineScaleSets",
  ...
  "properties": {
    ...
    "virtualMachineProfile": {
      "extensionProfile": {
        "extensions": [
          {
            "name": "[concat('ServiceFabricNodeVmExt','_vmNodeType0Name')]",
            "properties": {
              ...
              "settings": {
                ...
                "certificate": {
                  "commonNames": ["[parameters('certificateCommonName')]"],
                  "x509StoreName": "[parameters('clusterCertificateStoreValue')]"
                },
                ...
              }
            }
          }
        ]
      }
    }
  }
}
Aggiungere le informazioni sul certificato alla risorsa del cluster di Service Fabric:Add the certificate information to the Service Fabric cluster resource:
{
  "apiVersion": "2018-02-01",
  "type": "Microsoft.ServiceFabric/clusters",
  "name": "[parameters('clusterName')]",
  "location": "[parameters('clusterLocation')]",
  "dependsOn": [
    "[concat('Microsoft.Storage/storageAccounts/', variables('supportLogStorageAccountName'))]"
  ],
  "properties": {
    "certificateCommonNames": {
        "commonNames": [
        {
            "certificateCommonName": "[parameters('certificateCommonName')]",
            "certificateIssuerThumbprint": ""
        }
        ],
        "x509StoreName": "[parameters('certificateStoreValue')]"
    },
    ...
  }
}

Aggiungere la configurazione di Azure AD per l'uso di Azure AD per l'accesso clientAdd Azure AD configuration to use Azure AD for client access

La configurazione di Azure AD viene aggiunta a un modello di Resource Manager per cluster facendo riferimento all'insieme di credenziali delle chiavi contenente le chiavi del certificato.You add the Azure AD configuration to a cluster Resource Manager template by referencing the key vault that contains the certificate keys. Aggiungere i parametri e i valori di Azure AD in un file di parametri del modello di Resource Manager (azuredeploy.parameters.json).Add those Azure AD parameters and values in a Resource Manager template parameters file (azuredeploy.parameters.json).

{
  "apiVersion": "2018-02-01",
  "type": "Microsoft.ServiceFabric/clusters",
  "name": "[parameters('clusterName')]",
  ...
  "properties": {
    "certificateCommonNames": {
        "commonNames": [
        {
            "certificateCommonName": "[parameters('certificateCommonName')]",
            "certificateIssuerThumbprint": ""
        }
        ],
        "x509StoreName": "[parameters('certificateStoreValue')]"
    },
    ...
    "azureActiveDirectory": {
      "tenantId": "[parameters('aadTenantId')]",
      "clusterApplication": "[parameters('aadClusterApplicationId')]",
      "clientApplication": "[parameters('aadClientApplicationId')]"
    },
    ...
  }
}

Compilare il file dei parametri con i valoriPopulate the parameter file with the values

Infine, usare i valori di output dei comandi di PowerShell per Azure AD e dell'insieme di credenziali delle chiavi per compilare il file dei parametri.Finally, use the output values from the key vault and Azure AD PowerShell commands to populate the parameters file.

Se si prevede di usare i moduli RM di PowerShell di Azure Service Fabric, non è necessario compilare le informazioni sul certificato del cluster.If you plan to use the Azure service fabric RM PowerShell modules, then you do not need to populate the cluster certificate information. Se si vuole che il sistema generi il certificato autofirmato per la sicurezza del cluster, mantenere i valori null.If you want the system to generate the self signed certificate for cluster security you, just keep them as null.

Nota

Se si vuole che i moduli RM selezionino e compilino i valori dei parametri vuoti, i nomi dei parametri devono corrispondere a quelli riportati di seguito.

"clusterCertificateThumbprint": {
    "value": ""
},
"certificateCommonName": {
    "value": ""
},
"clusterCertificateUrlValue": {
    "value": ""
},
"sourceVaultvalue": {
    "value": ""
},

Se si usano certificati dell'applicazione o un cluster esistente caricato nell'insieme di credenziali delle chiavi, è necessario ottenere queste informazioni e specificarle nel file.If you are using application certs or are using an existing cluster that you have uploaded to the key vault, you need to get this information and populate it.

I moduli RM non hanno la capacità di generare la configurazione di Azure AD automaticamente, pertanto se si prevede di usare Azure AD per l'accesso client, è necessario compilarla.The RM modules do not have the ability to generate the Azure AD configuration for you, so if you plan to use the Azure AD for client access, you need to populate it.

{
    "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        ...
        "clusterCertificateStoreValue": {
            "value": "My"
        },
        "clusterCertificateThumbprint": {
            "value": "<thumbprint>"
        },
        "clusterCertificateUrlValue": {
            "value": "https://myvault.vault.azure.net:443/secrets/myclustercert/4d087088df974e869f1c0978cb100e47"
        },
        "applicationCertificateStorevalue": {
            "value": "My"
        },
        "applicationCertificateUrlValue": {
            "value": "https://myvault.vault.azure.net:443/secrets/myapplicationcert/2e035058ae274f869c4d0348ca100f08"
        },
        "sourceVaultvalue": {
            "value": "/subscriptions/<guid>/resourceGroups/mycluster-keyvault/providers/Microsoft.KeyVault/vaults/myvault"
        },
        "aadTenantId": {
            "value": "<guid>"
        },
        "aadClusterApplicationId": {
            "value": "<guid>"
        },
        "aadClientApplicationId": {
            "value": "<guid>"
        },
        ...
    }
}

Testare il modelloTest your template

Usare il comando PowerShell seguente per testare il modello di Resource Manager con un file di parametri:Use the following PowerShell command to test your Resource Manager template with a parameter file:

Test-AzureRmResourceGroupDeployment -ResourceGroupName "myresourcegroup" -TemplateFile .\azuredeploy.json -TemplateParameterFile .\azuredeploy.parameters.json

Nel caso in cui si verifichino problemi e vengano visualizzati messaggi di difficile interpretazione, usare "-Debug" come opzione.In case you run into issues and get cryptic messages, then use "-Debug" as an option.

Test-AzureRmResourceGroupDeployment -ResourceGroupName "myresourcegroup" -TemplateFile .\azuredeploy.json -TemplateParameterFile .\azuredeploy.parameters.json -Debug

Il diagramma seguente illustra i punti in cui la configurazione dell'insieme di credenziali delle chiavi e di Azure AD rientra nel modello di Resource Manager.The following diagram illustrates where your key vault and Azure AD configuration fit into your Resource Manager template.

Mappa di dipendenza di Resource Manager

Crittografare i dischi collegati al nodo del cluster di Windows o alle istanze di macchina virtualeEncrypting the disks attached to your windows cluster node/virtual machine instances

Per la crittografia dei dischi collegati ai nodi, ovvero l'unità del sistema operativo e altri dischi gestiti, si sfrutta Crittografia dischi di Azure.For encrypting the disks (OS drive and other managed disks) attached to your nodes, we leverage the Azure Disk Encryption. Crittografia dischi di Azure è una nuova funzionalità che consente di crittografare i dischi delle macchine virtuali Windows.Azure Disk Encryption is a new capability that helps you encrypt your Windows virtual machine disks. Crittografia dischi di Azure sfrutta la funzionalità standard di settore BitLocker di Windows per fornire la crittografia del volume per il volume del sistema operativo.Azure Disk Encryption leverages the industry standard BitLocker feature of Windows to provide volume encryption for the OS volume. La soluzione è integrata con Azure Key Vault per consentire di controllare e gestire le chiavi di crittografia dei dischi e i segreti nella sottoscrizione di Key Vault.The solution is integrated with Azure Key Vault to help you control and manage the disk-encryption keys and secrets in your key vault subscription. Questa soluzione assicura anche che tutti i dati nei dischi delle macchine virtuali vengano crittografati quando inattivi in Archiviazione di Azure.The solution also ensures that all data on the virtual machine disks are encrypted at rest in your Azure storage.

Crittografare i dischi collegati al nodo del cluster di Linux o alle istanze di macchina virtualeEncrypting the disks attached to your Linux cluster node/virtual machine instances

Per la crittografia dei dischi collegati ai nodi, ovvero l'unità dati e altri dischi gestiti, si sfrutta Crittografia dischi di Azure.For encrypting the disks (Data drive and other managed disks) attached to your nodes, we leverage the Azure Disk Encryption. Crittografia dischi di Azure è una nuova funzionalità che consente di crittografare i dischi delle macchine virtuali Linux.Azure Disk Encryption is a new capability that helps you encrypt your Linux virtual machine disks. Crittografia dischi di Azure sfrutta la funzionalità standard di settore DM-Crypt di Linux per fornire la crittografia del volume per i dischi dati.Azure Disk Encryption leverages the industry standard DM-Crypt feature of Linux to provide volume encryption for the data disks. La soluzione è integrata con Azure Key Vault per consentire di controllare e gestire le chiavi di crittografia dei dischi e i segreti nella sottoscrizione di Key Vault.The solution is integrated with Azure Key Vault to help you control and manage the disk-encryption keys and secrets in your key vault subscription. Questa soluzione assicura anche che tutti i dati nei dischi delle macchine virtuali vengano crittografati quando inattivi in Archiviazione di Azure.The solution also ensures that all data on the virtual machine disks are encrypted at rest in your Azure storage.

Creare il cluster usando il modello di risorsa di AzureCreate the cluster using Azure resource template

È ora possibile distribuire il cluster attenendosi alla procedura descritta in precedenza in questo documento o, se il file di parametri contiene valori, è possibile creare il cluster usando direttamente la distribuzione del modello di risorsa di Azure.You can now deploy you cluster using the steps outlined earlier in the document, or if you have the values in the parameter file populated, then you are now ready to create the cluster by using Azure resource template deployment directly.

New-AzureRmResourceGroupDeployment -ResourceGroupName "myresourcegroup" -TemplateFile .\azuredeploy.json -TemplateParameterFile .\azuredeploy.parameters.json

Nel caso in cui si verifichino problemi e vengano visualizzati messaggi di difficile interpretazione, usare "-Debug" come opzione.In case you run into issues and get cryptic messages, then use "-Debug" as an option.

Assegnare utenti ai ruoliAssign users to roles

Dopo aver creato le applicazioni per rappresentare il cluster, assegnare gli utenti ai ruoli supportati da Service Fabric: sola lettura e amministratore. È possibile assegnare i ruoli usando il portale di Azure.After you have created the applications to represent your cluster, assign your users to the roles supported by Service Fabric: read-only and admin. You can assign the roles by using the Azure portal.

  1. Nel portale di Azure selezionare il tenant nell'angolo in alto a destra.In the Azure portal, select your tenant on the top-right corner.

    Pulsante per la selezione del tenant

  2. Selezionare Azure Active Directory nella scheda a sinistra e quindi selezionare "Applicazioni aziendali".Select Azure Active Directory on the left tab and then select "Enterprise applications".
  3. Selezionare "Tutte le applicazioni" e quindi individuare e selezionare l'applicazione Web, che ha un nome analogo a myTestCluster_Cluster.Select "All applications", and then find and select the web application, which has a name like myTestCluster_Cluster.
  4. Fare clic sulla scheda Utenti e gruppi.Click the Users and groups tab.

    Scheda Utenti e gruppi

  5. Fare clic sul pulsante Aggiungi utente nella nuova pagina, selezionare un utente e il ruolo da assegnare e quindi fare clic sul pulsante Seleziona nella parte inferiore della pagina.Click the Add user button on the new page, select a user and the role to assign, and then click the Select button at the bottom of the page.

    Pagina di assegnazione di utenti ai ruoli

  6. Fare clic sul pulsante Assegna nella parte inferiore della pagina.Click the Assign button at the bottom of the page.

    Conferma dell'aggiunta di un'assegnazione

Nota

Per altre informazioni sui ruoli in Service Fabric, vedere Controllo degli accessi in base al ruolo per i client di Service Fabric.

Risoluzione dei problemi di configurazione di Azure Active DirectoryTroubleshooting help in setting up Azure Active Directory

La configurazione di Azure AD e il suo utilizzo possono comportare difficoltà, pertanto di seguito verranno fornite alcune indicazioni per risolvere gli eventuali problemi.Setting up Azure AD and using it can be challenging, so here are some pointers on what you can do to debug the issue.

Service Fabric Explorer richiede di selezionare un certificatoService Fabric Explorer prompts you to select a certificate

ProblemaProblem

Dopo avere eseguito l'accesso ad Azure AD in Service Fabric Explorer, il browser torna alla home page, ma un messaggio chiede di selezionare un certificato.After you sign in successfully to Azure AD in Service Fabric Explorer, the browser returns to the home page but a message prompts you to select a certificate.

Finestra di dialogo del certificato di SFX

MotivoReason

All'utente non è assegnato un ruolo nell'applicazione cluster Azure AD.The user isn’t assigned a role in the Azure AD cluster application. Di conseguenza, l'autenticazione di Azure AD non riesce nel cluster di Service Fabric.Thus, Azure AD authentication fails on Service Fabric cluster. Service Fabric Explorer ritorna all'autenticazione del certificato.Service Fabric Explorer falls back to certificate authentication.

SoluzioneSolution

Seguire le istruzioni per la configurazione di Azure AD e assegnare i ruoli utente.Follow the instructions for setting up Azure AD, and assign user roles. È anche consigliabile attivare "Assegnazione utente obbligatoria per l'accesso all'app", come in SetupApplications.ps1.Also, we recommend that you turn on “User assignment required to access app,” as SetupApplications.ps1 does.

La connessione a PowerShell non riesce con un errore: "Le credenziali specificate non sono valide"Connection with PowerShell fails with an error: "The specified credentials are invalid"

ProblemaProblem

Quando si usa PowerShell per connettersi al cluster con la modalità di sicurezza "AzureActiveDirectory", eseguito l'accesso ad Azure AD, la connessione ha esito negativo con un errore: "Le credenziali specificate non sono valide".When you use PowerShell to connect to the cluster by using “AzureActiveDirectory” security mode, after you sign in successfully to Azure AD, the connection fails with an error: "The specified credentials are invalid."

SoluzioneSolution

Questa soluzione è identica a quella precedente.This solution is the same as the preceding one.

Service Fabric Explorer restituisce un errore durante l'accesso: "AADSTS50011"Service Fabric Explorer returns a failure when you sign in: "AADSTS50011"

ProblemaProblem

Quando si prova a eseguire l'accesso ad Azure AD in Service Fabric Explorer, la pagina restituisce l'errore AADSTS50011, che indica che l'<URL> dell'indirizzo di risposta non corrisponde agli indirizzi configurati per l'applicazione: <GUID>.When you try to sign in to Azure AD in Service Fabric Explorer, the page returns a failure: "AADSTS50011: The reply address <url> does not match the reply addresses configured for the application: <guid>."

Indirizzo di risposta di SFX non corrispondente

MotivoReason

L'applicazione cluster (Web) che rappresenta Service Fabric Explorer prova a eseguire l'autenticazione per Azure AD e come parte della richiesta indica l'URL di reindirizzamento restituito.The cluster (web) application that represents Service Fabric Explorer attempts to authenticate against Azure AD, and as part of the request it provides the redirect return URL. L'URL non è presente nell'elenco degli URL DI RISPOSTA dell'applicazione Azure AD.But the URL is not listed in the Azure AD application REPLY URL list.

SoluzioneSolution

Selezionare "Registrazioni per l'app" nella pagina di Azure Active Directory, selezionare l'applicazione cluster e quindi fare clic sul pulsante URL di risposta.Select "App registrations" in AAD page, select your cluster application, and then select the Reply URLs button. Nella pagina URL di risposta aggiungere l'URL di Service Fabric Explorer all'elenco o sostituire una delle voci dell'elenco.On "Reply URLs" page, add the URL of Service Fabric Explorer to the list or replace one of the items in the list. Al termine, salvare la modifica.When you have finished, save your change.

URL di risposta dell'applicazione Web

Connettere il cluster usando l'autenticazione di Azure AD tramite PowerShellConnect the cluster by using Azure AD authentication via PowerShell

Per connettere il cluster di Service Fabric, usare il comando di PowerShell di esempio seguente:To connect the Service Fabric cluster, use the following PowerShell command example:

Connect-ServiceFabricCluster -ConnectionEndpoint <endpoint> -KeepAliveIntervalInSec 10 -AzureActiveDirectory -ServerCertThumbprint <thumbprint>

Per informazioni sul cmdlet Connect-ServiceFabricCluster, vedere Connect-ServiceFabricCluster.To learn about the Connect-ServiceFabricCluster cmdlet, see Connect-ServiceFabricCluster.

È possibile usare di nuovo lo stesso tenant di Azure AD in più cluster?Can I reuse the same Azure AD tenant in multiple clusters?

Sì.Yes. Ricordarsi però di aggiungere l'URL di Service Fabric Explorer all'applicazione cluster (Web).But remember to add the URL of Service Fabric Explorer to your cluster (web) application. In caso contrario, Service Fabric Explorer non funzionerà.Otherwise, Service Fabric Explorer doesn’t work.

Perché è ancora necessario un certificato del server se Azure AD è abilitato?Why do I still need a server certificate while Azure AD is enabled?

FabricClient e FabricGateway eseguono un'autenticazione reciproca.FabricClient and FabricGateway perform a mutual authentication. Durante l'autenticazione di Azure AD, l'integrazione di Azure AD consente di assegnare un'identità del client al server e il certificato del server viene usato per verificare l'identità del server.During Azure AD authentication, Azure AD integration provides a client identity to the server, and the server certificate is used to verify the server identity. Per altre informazioni sui certificati di Service Fabric, vedere Certificati X.509 e Service Fabric.For more information about Service Fabric certificates, see X.509 certificates and Service Fabric.

Passaggi successiviNext steps

A questo punto, è stato creato un cluster con Azure Active Directory che fornisce l'autenticazione per la gestione.At this point, you have a secure cluster with Azure Active Directory providing management authentication. Successivamente, connettersi al cluster e scoprire come gestire i segreti delle applicazioni.Next, connect to your cluster and learn how to manage application secrets.