Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Varje nodtyp i ett Service Fabric-hanterat kluster backas upp av en VM-skalningsuppsättning. Om du vill tillåta att hanterade identiteter används med en hanterad klusternodtyp har en egenskap vmManagedIdentity lagts till i nodtypdefinitioner som innehåller en lista över identiteter som kan användas, userAssignedIdentities. Funktionen speglar hur hanterade identiteter kan användas i icke-hanterade kluster, till exempel att använda en hanterad identitet med tillägget för vm-skalningsuppsättningar i Azure Key Vault.
Ett exempel på en Service Fabric-hanterad klusterdistribution som använder hanterad identitet på en nodtyp finns i dessa mallar. Exemplet har två mallar:
Hanterad identitet och rolltilldelning: Mall för att skapa den hanterade identiteten och rolltilldelningen så att Service Fabric RP kan tilldela identiteten till det hanterade klustrets VM-skalningsuppsättning. Detta bör bara distribueras en gång innan du använder den hanterade identiteten på nodtypresursen.
Hanterat kluster och nodtyp: Mall för det hanterade service fabric-klustret och nodtypresurserna med den hanterade identitet som skapades tidigare.
Anmärkning
Endast användartilldelade identiteter stöds för närvarande för den här funktionen.
Anmärkning
Se Konfigurera och använda program med hanterad identitet i ett Service Fabric-hanterat kluster för programkonfiguration.
Förutsättningar
Innan du börjar:
- Om du inte har någon Azure-prenumeration skapar du ett kostnadsfritt konto innan du börjar.
- Om du planerar att använda PowerShell installerar du Azure CLI för att köra CLI-referenskommandon.
1. Skapa identitets- och rolltilldelning
Skapa en användartilldelad hanterad identitet
En användartilldelad hanterad identitet kan definieras i resursavsnittet i en Arm-mall (Azure Resource Manager) för skapande vid distribution:
{
"type": "Microsoft.ManagedIdentity/userAssignedIdentities",
"name": "[parameters('userAssignedIdentityName')]",
"apiVersion": "2023-01-31",
"location": "[resourceGroup().location]"
}
eller skapas via PowerShell:
New-AzResourceGroup -Name <managedIdentityRGName> -Location <location>
New-AzUserAssignedIdentity -ResourceGroupName <managedIdentityRGName> -Name <userAssignedIdentityName>
Lägga till en rolltilldelning med Service Fabric-resursprovidern
Lägg till en rolltilldelning till den hanterade identiteten med Service Fabric-resursleverantörsappen. Med den här tilldelningen kan Service Fabric-resursprovidern tilldela identiteten, som skapades i föregående steg, till det hanterade klustrets VM-skalningsuppsättning. Det här är en engångsåtgärd
Hämta tjänstens huvudnamn för Service Fabric Resource Provider-programmet:
Login-AzAccount
Select-AzSubscription -SubscriptionId <SubId>
Get-AzADServicePrincipal -DisplayName "Azure Service Fabric Resource Provider"
Anmärkning
Kontrollera att du har rätt prenumeration, huvud-ID:t ändras om prenumerationen finns i en annan klientorganisation.
ServicePrincipalNames : {00001111-aaaa-2222-bbbb-3333cccc4444}
ApplicationId : 00001111-aaaa-2222-bbbb-3333cccc4444
ObjectType : ServicePrincipal
DisplayName : Azure Service Fabric Resource Provider
Id : 00000000-0000-0000-0000-000000000000
Använd ID:t för föregående utdata som principalId och rolldefinitions-ID:t nedan som roleDefinitionId i förekommande fall i mallen eller PowerShell-kommandot:
| Rolldefinitionens namn | ID för rolldefinition |
|---|---|
| Hanterad identitetsoperator | f1a07417-d97a-45cb-824c-7a7467783830 |
Den här rolltilldelningen kan definieras i resursavsnittsmallen med hjälp av huvudnamns-ID och rolldefinitions-ID:
{
"type": "Microsoft.Authorization/roleAssignments",
"apiVersion": "2022-04-01",
"name": "[parameters('vmIdentityRoleNameGuid')]",
"scope": "[concat('Microsoft.ManagedIdentity/userAssignedIdentities', '/', parameters('userAssignedIdentityName'))]",
"dependsOn": [
"[concat('Microsoft.ManagedIdentity/userAssignedIdentities/', parameters('userAssignedIdentityName'))]"
],
"properties": {
"roleDefinitionId": "[resourceId('Microsoft.Authorization/roleDefinitions', 'f1a07417-d97a-45cb-824c-7a7467783830')]",
"principalId": "<Service Fabric Resource Provider ID>"
}
}
Anmärkning
vmIdentityRoleNameGuid ska vara ett giltigt GUID. Om du distribuerar samma mall igen, inklusive den här rolltilldelningen, kontrollerar du att GUID:t är samma som det som ursprungligen användes eller tar bort den här resursen eftersom den bara behöver skapas en gång.
eller skapas via PowerShell med huvud-ID och rolldefinitionsnamn:
New-AzRoleAssignment -PrincipalId "<Service Fabric Resource Provider ID>" -RoleDefinitionName "Managed Identity Operator" -Scope "/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<userAssignedIdentityName>"
Distribuera hanterad identitet och rolltilldelning.
Kör cmdleten New-AzResourceGroupDeployment för att skapa den hanterade identiteten och lägg till rolltilldelningen:
New-AzResourceGroupDeployment -ResourceGroupName <managedIdentityRGName> -TemplateFile ".\MangedIdentityAndSfrpRoleAssignment.json" -TemplateParameterFile ".\MangedIdentityAndSfrpRoleAssignment.Parameters.json" -Verbose
2. Tilldela identitet till nodtypresursen
Lägga till egenskaper för hanterad identitet i nodtypsdefinition
Lägg slutligen till vmManagedIdentity egenskaperna och userAssignedIdentities i det hanterade klustrets nodtypsdefinition med det fullständiga resurs-ID:t för identiteten som skapades i det första steget. Se till att använda 2021-05-01 eller senare för apiVersion.
{
"type": "Microsoft.ServiceFabric/managedClusters/nodeTypes",
"apiVersion": "2022-01-01",
"properties": {
"isPrimary": true,
"vmInstanceCount": 5,
"dataDiskSizeGB": 100,
"vmSize": "Standard_D2_v2",
"vmImagePublisher": "MicrosoftWindowsServer",
"vmImageOffer": "WindowsServer",
"vmImageSku": "2019-Datacenter",
"vmImageVersion": "latest",
"vmManagedIdentity": {
"userAssignedIdentities": [
"[parameters('userAssignedIdentityResourceId')]"
]
}
}
}
Distribuera nodtypresursen som tilldelar identiteten
Kör New-AzResourceGroupDeployment-cmdleten för att distribuera mallen för hanterade Service Fabric-kluster som tilldelar den hanterade identiteten till nodtypresursen.
New-AzResourceGroupDeployment -ResourceGroupName <sfmcRGName> -TemplateFile ".\SfmcVmMangedIdentity.json" -TemplateParameterFile ".\SfmcVmMangedIdentity.Parameters.json" -Verbose
Efter distributionen har den skapade hanterade identiteten lagts till i den avsedda nodtypens VM-skalningsuppsättning och kan användas som förväntat, precis som i alla icke-hanterade kluster.
Felsökning
Felaktig tilldelning av en roll kommer att resultera i följande felmeddelande vid distributionen:
Se till att rolltilldelningen har skapats framgångsrikt med rollen "Hanterad identitetsoperator". Rolltilldelningen finns på Azure-portalen under åtkomstkontroll av den hanterade identitetsresursen enligt nedan.