Distribuire un'applicazione di Service Fabric con un'identità gestita User-Assigned
Per distribuire un'applicazione di Service Fabric con identità gestita, l'applicazione deve essere distribuita tramite Azure Resource Manager, in genere con un modello di Resource Manager di Azure. Per altre informazioni su come distribuire l'applicazione Service Fabric tramite Azure Resource Manager, vedere Gestire applicazioni e servizi come risorse di Azure Resource Manager.
Nota
Le applicazioni non distribuite come risorsa di Azure non possono avere identità gestite.
La distribuzione di applicazioni di Service Fabric con Identità gestita è supportata con la versione "2019-06-01-preview"
dell'API . È anche possibile usare la stessa versione API per il tipo di applicazione, la versione del tipo di applicazione e le risorse del servizio.
identità User-Assigned
Per abilitare l'applicazione con identità User-Assigned, aggiungere prima la proprietà identity alla risorsa dell'applicazione con tipo userAssigned e le identità assegnate dall'utente a cui si fa riferimento. Aggiungere quindi una sezione managedIdentities all'interno della sezione proprietà per la risorsa dell'applicazione che contiene un elenco di nomi descrittivi al mapping principalId per ogni identità assegnata dall'utente . Per altre informazioni sulle identità assegnate dall'utente, vedere Creare, elencare o eliminare un'identità gestita assegnata dall'utente.
Modello di applicazione
Per abilitare l'applicazione con identità assegnata dall'utente, aggiungere prima la proprietà identity alla risorsa dell'applicazione con tipo userAssigned e le identità assegnate dall'utente a cui si fa riferimento, quindi aggiungere un oggetto managedIdentities all'interno della sezione delle proprietà che contiene un elenco di nomi descrittivi per il mapping principalId per ogni identità assegnata dall'utente.
{
"apiVersion": "2019-06-01-preview",
"type": "Microsoft.ServiceFabric/clusters/applications",
"name": "[concat(parameters('clusterName'), '/', parameters('applicationName'))]",
"location": "[resourceGroup().location]",
"dependsOn": [
"[concat('Microsoft.ServiceFabric/clusters/', parameters('clusterName'), '/applicationTypes/', parameters('applicationTypeName'), '/versions/', parameters('applicationTypeVersion'))]",
"[resourceId('Microsoft.ManagedIdentity/userAssignedIdentities/', parameters('userAssignedIdentityName'))]"
],
"identity": {
"type" : "userAssigned",
"userAssignedIdentities": {
"[resourceId('Microsoft.ManagedIdentity/userAssignedIdentities/', parameters('userAssignedIdentityName'))]": {}
}
},
"properties": {
"typeName": "[parameters('applicationTypeName')]",
"typeVersion": "[parameters('applicationTypeVersion')]",
"parameters": {
},
"managedIdentities": [
{
"name" : "[parameters('userAssignedIdentityName')]",
"principalId" : "[reference(resourceId('Microsoft.ManagedIdentity/userAssignedIdentities/', parameters('userAssignedIdentityName')), '2018-11-30').principalId]"
}
]
}
}
Nell'esempio precedente il nome della risorsa dell'identità assegnata dall'utente viene usato come nome descrittivo dell'identità gestita per l'applicazione. Gli esempi seguenti presuppongono che il nome descrittivo effettivo sia "AdminUser".
Pacchetto dell'applicazione
Per ogni identità definita nella
managedIdentities
sezione nel modello di Resource Manager di Azure, aggiungere un<ManagedIdentity>
tag nel manifesto dell'applicazione nella sezione Entità. L'attributoName
deve corrispondere allaname
proprietà definita nellamanagedIdentities
sezione.ApplicationManifest.xml
<Principals> <ManagedIdentities> <ManagedIdentity Name="AdminUser" /> </ManagedIdentities> </Principals>
Nella sezione ServiceManifestImport aggiungere un oggetto IdentityBindingPolicy per il servizio che usa l'identità gestita. Questo criterio esegue il mapping dell'identità
AdminUser
a un nome di identità specifico del servizio che deve essere aggiunto nel manifesto del servizio in un secondo momento.ApplicationManifest.xml
<ServiceManifestImport> <Policies> <IdentityBindingPolicy ServiceIdentityRef="WebAdmin" ApplicationIdentityRef="AdminUser" /> </Policies> </ServiceManifestImport>
Aggiornare il manifesto del servizio per aggiungere un managedIdentity all'interno della sezione Resources con il nome corrispondente all'oggetto
ServiceIdentityRef
IdentityBindingPolicy
nel manifesto dell'applicazione:ServiceManifest.xml
<Resources> ... <ManagedIdentities DefaultIdentity="WebAdmin"> <ManagedIdentity Name="WebAdmin" /> </ManagedIdentities> </Resources>
Passaggi successivi
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per