Nasazení aplikace Service Fabric se spravovanou identitou přiřazenou uživatelem
Pokud chcete nasadit aplikaci Service Fabric se spravovanou identitou, musí být aplikace nasazená prostřednictvím Azure Resource Manageru, obvykle pomocí šablony Azure Resource Manageru. Další informace o nasazení aplikace Service Fabric prostřednictvím Azure Resource Manageru najdete v tématu Správa aplikací a služeb jako prostředků Azure Resource Manageru.
Poznámka:
Aplikace, které nejsou nasazené jako prostředek Azure, nemůžou mít spravované identity.
Nasazení aplikace Service Fabric se spravovanou identitou se podporuje ve verzi "2019-06-01-preview"
rozhraní API. Stejnou verzi rozhraní API můžete použít také pro typ aplikace, verzi aplikace a prostředky služby.
Identita přiřazená uživatelem
Pokud chcete povolit aplikaci s identitou přiřazenou uživatelem, nejprve přidejte vlastnost identity do prostředku aplikace s typem userAssigned a odkazovanými identitami přiřazenými uživatelem. Potom do oddílu vlastností pro prostředek aplikace přidejte oddíl managedIdentities, který obsahuje seznam popisných názvů na mapování principalId pro každou identitu přiřazenou uživatelem. Další informace o identitách přiřazených uživatelem najdete v tématu Vytvoření, výpis nebo odstranění spravované identity přiřazené uživatelem.
Šablona aplikace
Chcete-li povolit aplikaci s identitou přiřazenou uživatelem, nejprve přidejte vlastnost identity do prostředku aplikace s typem userAssigned a odkazované identity přiřazené uživatelem a pak přidejte objekt managedIdentities v části vlastností , který obsahuje seznam popisného názvu na mapování principalId pro každou z identit přiřazených uživatelem.
{
"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]"
}
]
}
}
V příkladu nad názvem prostředku identity přiřazené uživatelem se používá jako popisný název spravované identity pro aplikaci. Následující příklady předpokládají, že skutečný popisný název je AdminUser.
Balíček aplikace
Pro každou identitu definovanou v oddílu
managedIdentities
v šabloně Azure Resource Manageru přidejte<ManagedIdentity>
značku v manifestu aplikace v části Objekty zabezpečení. AtributName
musí odpovídatname
vlastnosti definované v oddílumanagedIdentities
.ApplicationManifest.xml
<Principals> <ManagedIdentities> <ManagedIdentity Name="AdminUser" /> </ManagedIdentities> </Principals>
V části ServiceManifestImport přidejte IdentituBindingPolicy pro službu, která používá spravovanou identitu. Tato zásada mapuje
AdminUser
identitu na název identity specifické pro službu, který je potřeba přidat do manifestu služby později.ApplicationManifest.xml
<ServiceManifestImport> <Policies> <IdentityBindingPolicy ServiceIdentityRef="WebAdmin" ApplicationIdentityRef="AdminUser" /> </Policies> </ServiceManifestImport>
Aktualizujte manifest služby tak, aby v části Resources přidal managedIdentity název odpovídající
ServiceIdentityRef
názvu vIdentityBindingPolicy
manifestu aplikace:ServiceManifest.xml
<Resources> ... <ManagedIdentities DefaultIdentity="WebAdmin"> <ManagedIdentity Name="WebAdmin" /> </ManagedIdentities> </Resources>