Bereitstellen einer Service Fabric-Anwendung mit einer systemseitig zugewiesenen verwalteten Identität
Hinweis
Die Aktivierung der Identität für eine vorhandene App, die zunächst mithilfe von Azure-Cmdlets bereitgestellt wurde, wird nicht unterstützt.
Um auf das Feature für verwaltete Identitäten für Azure Service Fabric-Anwendungen zugreifen zu können, müssen Sie zunächst den Tokendienst für verwaltete Identitäten im Cluster aktivieren. Dieser Dienst ist für die Authentifizierung von Service Fabric-Anwendungen anhand ihrer verwalteten Identitäten und für den Abruf von Zugriffstoken in deren Auftrag zuständig. Nachdem der Dienst aktiviert wurde, wird er in Service Fabric Explorer im Abschnitt System im linken Bereich unter dem Namen fabric:/System/ManagedIdentityTokenService neben anderen Systemdiensten angezeigt.
Hinweis
Die Bereitstellung von Service Fabric-Anwendungen mit verwalteten Identitäten wird ab der API-Version "2019-06-01-preview"
unterstützt. Sie können auch die gleiche API-Version für den Anwendungstyp, die Anwendungstypversion und die Dienstressourcen verwenden. Die unterstützte Mindestversion der Service Fabric-Runtime ist 6.5 CU2. Zusätzlich sollte die Build-/Paketumgebung auch über das Service Fabric .NET-SDK mit CU2 oder höher verfügen
Systemseitig zugewiesene verwaltete Identität
Anwendungsvorlage
Wenn Sie eine Anwendung mit einer systemseitig zugewiesenen verwalteten Identität aktivieren möchten, fügen Sie der Anwendungsressource die Eigenschaft identity mit dem Typ systemAssigned hinzu, wie im folgenden Beispiel zu sehen:
{
"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'))]"
],
"identity": {
"type" : "systemAssigned"
},
"properties": {
"typeName": "[parameters('applicationTypeName')]",
"typeVersion": "[parameters('applicationTypeVersion')]",
"parameters": {
}
}
}
Diese Eigenschaft deklariert (gegenüber Azure Resource Manager sowie gegenüber dem Anbieter der verwalteten Identität bzw. dem Service Fabric-Ressourcenanbieter), dass diese Ressource über eine implizite verwaltete Identität (vom Typ system assigned
) verfügen soll.
Anwendungs- und Dienstpaket
Aktualisieren Sie das Anwendungsmanifest, um im Abschnitt Principals ein Element vom Typ ManagedIdentity mit einem einzelnen Eintrag hinzuzufügen, wie im Anschluss zu sehen:
ApplicationManifest.xml
<Principals> <ManagedIdentities> <ManagedIdentity Name="SystemAssigned" /> </ManagedIdentities> </Principals>
Dadurch wird die der Anwendung zugewiesene Identität als Ressource einem Anzeigenamen zugeordnet, um die weitere Zuweisung zu den Diensten zu ermöglichen, aus denen sich die Anwendung zusammensetzt.
Fügen Sie im Abschnitt ServiceManifestImport für den Dienst, dem die verwaltete Identität zugewiesen wird, ein Element vom Typ IdentityBindingPolicy hinzu, wie hier gezeigt:
ApplicationManifest.xml
<ServiceManifestImport> <Policies> <IdentityBindingPolicy ServiceIdentityRef="WebAdmin" ApplicationIdentityRef="SystemAssigned" /> </Policies> </ServiceManifestImport>
Dieses Element weist die Identität der Anwendung dem Dienst zu. Ohne diese Zuweisung kann der Dienst nicht auf die Identität der Anwendung zugreifen. Im obigen Codeausschnitt wird die Identität
SystemAssigned
(reserviertes Schlüsselwort) der Definition des Diensts unter dem AnzeigenamenWebAdmin
zugeordnet.Aktualisieren Sie das Dienstmanifest, um im Abschnitt Resources ein Element vom Typ ManagedIdentity hinzuzufügen, dessen Name dem Wert der Einstellung
ServiceIdentityRef
aus der DefinitionIdentityBindingPolicy
im Anwendungsmanifest entspricht:ServiceManifest.xml
<Resources> ... <ManagedIdentities DefaultIdentity="WebAdmin"> <ManagedIdentity Name="WebAdmin" /> </ManagedIdentities> </Resources>
Dies ist die gleiche Zuordnung einer Identität zu einem Dienst, die oben beschrieben wurde, diesmal allerdings aus der Perspektive der Dienstdefinition. Auf die Identität wird hier anhand ihres im Anwendungsmanifest deklarierten Anzeigenamens (
WebAdmin
) verwiesen.
Nächste Schritte
- Machen Sie sich mit der Unterstützung der verwalteten Identität in Azure Service Fabric vertraut.
- Bereitstellen eines neuen Azure Service Fabric-Clusters mit Unterstützung verwalteter Identitäten
- Aktivieren von verwalteten Identitäten in einem vorhandenen Azure Service Fabric-Cluster
- Nutzen der verwalteten Identität einer Service Fabric-Anwendung aus dem Quellcode
- Bereitstellen einer Azure Service Fabric-Anwendung mit einer benutzerseitig zugewiesenen verwalteten Identität
- Gewähren des Zugriffs auf andere Azure-Ressourcen für eine Azure Service Fabric-Anwendung