Dodawanie tożsamości zarządzanej do typu węzła klastra zarządzanego usługi Service Fabric
Każdy typ węzła w klastrze zarządzanym usługi Service Fabric jest wspierany przez zestaw skalowania maszyn wirtualnych. Aby umożliwić używanie tożsamości zarządzanych z typem węzła klastra zarządzanego, właściwość vmManagedIdentity
została dodana do definicji typów węzłów zawierających listę tożsamości, które mogą być używane, userAssignedIdentities
. Funkcja odzwierciedla sposób używania tożsamości zarządzanych w klastrach niezarządzanych, takich jak używanie tożsamości zarządzanej z rozszerzeniem zestawu skalowania maszyn wirtualnych platformy Azure Key Vault.
Aby zapoznać się z przykładem wdrożenia klastra zarządzanego usługi Service Fabric, które korzysta z tożsamości zarządzanej w typie węzła, zobacz te szablony. Przykład zawiera dwa szablony:
Tożsamość zarządzana i przypisanie roli: szablon umożliwiający utworzenie tożsamości zarządzanej i przypisania roli w celu umożliwienia dostawcy usługi Service Fabric przypisywania tożsamości do zestawu skalowania maszyn wirtualnych klastra zarządzanego. Należy je wdrożyć tylko raz przed użyciem tożsamości zarządzanej w zasobie typu węzła.
Typ klastra zarządzanego i węzła: szablon dla klastra zarządzanego usługi Service Fabric i zasobów typu węzła przy użyciu utworzonej wcześniej tożsamości zarządzanej.
Uwaga
W przypadku tej funkcji są obecnie obsługiwane tylko tożsamości przypisane przez użytkownika.
Uwaga
Aby uzyskać informacje na temat konfiguracji aplikacji, zobacz Konfigurowanie i używanie aplikacji z tożsamością zarządzaną w klastrze zarządzanym usługi Service Fabric .
Wymagania wstępne
Przed rozpoczęciem:
- Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.
- Jeśli planujesz używać programu PowerShell, zainstaluj interfejs wiersza polecenia platformy Azure, aby uruchomić polecenia referencyjne interfejsu wiersza polecenia.
1. Tworzenie tożsamości i przypisania roli
Tworzenie tożsamości zarządzanej przypisanej przez użytkownika
Tożsamość zarządzana przypisana przez użytkownika można zdefiniować w sekcji zasobów szablonu usługi Azure Resource Manager (ARM) do tworzenia podczas wdrażania:
{
"type": "Microsoft.ManagedIdentity/userAssignedIdentities",
"name": "[parameters('userAssignedIdentityName')]",
"apiVersion": "2023-01-31",
"location": "[resourceGroup().location]"
}
lub utworzony za pomocą programu PowerShell:
New-AzResourceGroup -Name <managedIdentityRGName> -Location <location>
New-AzUserAssignedIdentity -ResourceGroupName <managedIdentityRGName> -Name <userAssignedIdentityName>
Dodawanie przypisania roli za pomocą dostawcy zasobów usługi Service Fabric
Dodaj przypisanie roli do tożsamości zarządzanej za pomocą aplikacji dostawcy zasobów usługi Service Fabric. To przypisanie umożliwia dostawcy zasobów usługi Service Fabric przypisanie tożsamości utworzonej w poprzednim kroku do zestawu skalowania maszyn wirtualnych klastra zarządzanego. Jest to jednorazowa akcja
Pobierz jednostkę usługi dla aplikacji dostawcy zasobów usługi Service Fabric:
Login-AzAccount
Select-AzSubscription -SubscriptionId <SubId>
Get-AzADServicePrincipal -DisplayName "Azure Service Fabric Resource Provider"
Uwaga
Upewnij się, że jesteś w prawidłowej subskrypcji, identyfikator podmiotu zabezpieczeń zmieni się, jeśli subskrypcja znajduje się w innej dzierżawie.
ServicePrincipalNames : {74cb6831-0dbb-4be1-8206-fd4df301cdc2}
ApplicationId : 74cb6831-0dbb-4be1-8206-fd4df301cdc2
ObjectType : ServicePrincipal
DisplayName : Azure Service Fabric Resource Provider
Id : 00000000-0000-0000-0000-000000000000
Użyj identyfikatora poprzednich danych wyjściowych jako principalId i identyfikatora definicji roli jako roleDefinitionId , jeśli ma to zastosowanie w szablonie lub poleceniu programu PowerShell:
Nazwa definicji roli | Identyfikator definicji roli |
---|---|
Operator tożsamości zarządzanej | f1a07417-d97a-45cb-824c-7a7467783830 |
To przypisanie roli można zdefiniować w szablonie sekcji zasobów przy użyciu identyfikatora podmiotu zabezpieczeń i identyfikatora definicji roli:
{
"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>"
}
}
Uwaga
vmIdentityRoleNameGuid powinien być prawidłowym identyfikatorem GUID. Jeśli ponownie wdrożysz ten sam szablon, w tym to przypisanie roli, upewnij się, że identyfikator GUID jest taki sam jak pierwotnie używany lub usuń ten zasób, ponieważ należy go utworzyć tylko raz.
lub utworzony za pomocą programu PowerShell przy użyciu identyfikatora podmiotu zabezpieczeń i nazwy definicji roli:
New-AzRoleAssignment -PrincipalId "<Service Fabric Resource Provider ID>" -RoleDefinitionName "Managed Identity Operator" -Scope "/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<userAssignedIdentityName>"
Wdrażanie tożsamości zarządzanej i przypisania roli.
Uruchom polecenie cmdlet New-AzResourceGroupDeployment, aby utworzyć tożsamość zarządzaną i dodać przypisanie roli:
New-AzResourceGroupDeployment -ResourceGroupName <managedIdentityRGName> -TemplateFile ".\MangedIdentityAndSfrpRoleAssignment.json" -TemplateParameterFile ".\MangedIdentityAndSfrpRoleAssignment.Parameters.json" -Verbose
2. Przypisywanie tożsamości do zasobu typu węzła
Dodawanie właściwości tożsamości zarządzanej do definicji typu węzła
Na koniec dodaj vmManagedIdentity
właściwości i userAssignedIdentities
do definicji typu węzła klastra zarządzanego z pełnym identyfikatorem zasobu tożsamości utworzonej w pierwszym kroku. Pamiętaj, aby użyć polecenia 2021-05-01 lub nowszego dla polecenia 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')]"
]
}
}
}
Wdrażanie zasobu typu węzła, który przypisuje tożsamość
Uruchom polecenie cmdlet New-AzResourceGroupDeployment, aby wdrożyć szablon klastrów zarządzanych usługi Service Fabric, który przypisuje tożsamość zarządzaną do zasobu typu węzła.
New-AzResourceGroupDeployment -ResourceGroupName <sfmcRGName> -TemplateFile ".\SfmcVmMangedIdentity.json" -TemplateParameterFile ".\SfmcVmMangedIdentity.Parameters.json" -Verbose
Po wdrożeniu utworzona tożsamość zarządzana została dodana do zestawu skalowania maszyn wirtualnych określonego typu węzła i może być używana zgodnie z oczekiwaniami, podobnie jak w przypadku każdego klastra niezarządzanego.
Rozwiązywanie problemów
Błąd poprawnego dodania przypisania roli zostanie spełniony z powodu następującego błędu podczas wdrażania:
W takim przypadku upewnij się, że przypisanie roli zostało utworzone pomyślnie z rolą "Operator tożsamości zarządzanej". Przypisanie roli można znaleźć na Azure Portal pod kontrolą dostępu zasobu tożsamości zarządzanej, jak pokazano poniżej.
Następne kroki
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla