Přidání spravované identity do typu uzlu spravovaného clusteru Service Fabric
Každý typ uzlu ve spravovaném clusteru Service Fabric je zajištěn škálovací sadou virtuálních počítačů. Aby bylo možné používat spravované identity s typem uzlu spravovaného clusteru, byla vlastnost vmManagedIdentity
přidána do definic typu uzlu obsahující seznam identit, které lze použít. userAssignedIdentities
Funkce odráží způsob použití spravovaných identit v nespravovatelných clusterech, jako je použití spravované identity s rozšířením škálovací sady virtuálních počítačů azure Key Vault.
Příklad nasazení spravovaného clusteru Service Fabric, které využívá spravovanou identitu na typu uzlu, najdete v těchto šablonách. Příklad obsahuje dvě šablony:
Spravovaná identita a přiřazení role: Šablona pro vytvoření spravované identity a přiřazení role, aby poskytovatel prostředků Service Fabric přiřadil identitu ke škálovací sadě virtuálních počítačů spravovaného clusteru. To by se mělo nasadit jenom jednou před použitím spravované identity v prostředku typu uzlu.
Spravovaný cluster a typ uzlu: Šablona pro prostředky spravovaného clusteru a typu uzlu Service Fabric pomocí spravované identity vytvořené dříve.
Poznámka:
Pro tuto funkci se v současné době podporují pouze identity přiřazené uživatelem.
Poznámka:
Viz Konfigurace a používání aplikací se spravovanou identitou ve spravovaném clusteru Service Fabric pro konfiguraci aplikace.
Požadavky
Než začnete:
- Pokud ještě nemáte předplatné Azure, vytvořte si napřed bezplatný účet.
- Pokud máte v úmyslu používat PowerShell, nainstalujte Azure CLI a spusťte referenční příkazy rozhraní příkazového řádku.
1. Vytvoření identity a přiřazení role
Vytvoření spravované identity přiřazené uživatelem
Spravovanou identitu přiřazenou uživatelem je možné definovat v části prostředků šablony Azure Resource Manageru (ARM) pro vytvoření při nasazení:
{
"type": "Microsoft.ManagedIdentity/userAssignedIdentities",
"name": "[parameters('userAssignedIdentityName')]",
"apiVersion": "2023-01-31",
"location": "[resourceGroup().location]"
}
nebo vytvořený přes PowerShell:
New-AzResourceGroup -Name <managedIdentityRGName> -Location <location>
New-AzUserAssignedIdentity -ResourceGroupName <managedIdentityRGName> -Name <userAssignedIdentityName>
Přidání přiřazení role pomocí poskytovatele prostředků Service Fabric
Přidejte přiřazení role ke spravované identitě pomocí aplikace Service Fabric Resource Provider. Toto přiřazení umožňuje poskytovateli prostředků Service Fabric přiřadit identitu vytvořenou v předchozím kroku ke škálovací sadě virtuálních počítačů spravovaného clusteru. Jedná se o jednorázovou akci.
Získání instančního objektu pro aplikaci Poskytovatele prostředků Service Fabric:
Login-AzAccount
Select-AzSubscription -SubscriptionId <SubId>
Get-AzADServicePrincipal -DisplayName "Azure Service Fabric Resource Provider"
Poznámka:
Ujistěte se, že jste ve správném předplatném, ID objektu zabezpečení se změní, pokud je předplatné v jiném tenantovi.
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
Použijte ID předchozího výstupu jako principalId a ID definice role bellow jako roleDefinitionId, pokud je to možné u šablony nebo příkazu PowerShellu:
Název definice role | ID definice role |
---|---|
Operátor spravovaných identit | f1a07417-d97a-45cb-824c-7a7467783830 |
Toto přiřazení role lze definovat v šabloně oddílu prostředků pomocí ID objektu zabezpečení a ID definice role:
{
"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>"
}
}
Poznámka:
VmIdentityRoleNameGuid by měl být platný identifikátor GUID. Pokud znovu nasadíte stejnou šablonu včetně tohoto přiřazení role, ujistěte se, že identifikátor GUID je stejný jako identifikátor GUID, který byl původně použit, nebo odeberte tento prostředek, protože je potřeba ho vytvořit jenom jednou.
nebo vytvořené prostřednictvím PowerShellu pomocí ID objektu zabezpečení a názvu definice role:
New-AzRoleAssignment -PrincipalId "<Service Fabric Resource Provider ID>" -RoleDefinitionName "Managed Identity Operator" -Scope "/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<userAssignedIdentityName>"
Nasaďte spravovanou identitu a přiřazení role.
Spuštěním rutiny New-AzResourceGroupDeployment vytvořte spravovanou identitu a přidejte přiřazení role:
New-AzResourceGroupDeployment -ResourceGroupName <managedIdentityRGName> -TemplateFile ".\MangedIdentityAndSfrpRoleAssignment.json" -TemplateParameterFile ".\MangedIdentityAndSfrpRoleAssignment.Parameters.json" -Verbose
2. Přiřazení identity k prostředku typu uzlu
Přidání vlastností spravované identity do definice typu uzlu
Nakonec do definice typu uzlu spravovaného clusteru přidejte vmManagedIdentity
vlastnosti userAssignedIdentities
s úplným ID prostředku identity vytvořené v prvním kroku. Nezapomeňte pro verzi apiVersion
2021-05-01 nebo novější použít .
{
"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')]"
]
}
}
}
Nasazení prostředku typu uzlu s přiřazením identity
Spuštěním rutiny New-AzResourceGroupDeployment nasaďte šablonu spravovaných clusterů Service Fabric, která přiřadí spravovanou identitu prostředku typu uzlu.
New-AzResourceGroupDeployment -ResourceGroupName <sfmcRGName> -TemplateFile ".\SfmcVmMangedIdentity.json" -TemplateParameterFile ".\SfmcVmMangedIdentity.Parameters.json" -Verbose
Po nasazení se vytvořená spravovaná identita přidá do škálovací sady virtuálních počítačů určeného typu uzlu a dá se použít podle očekávání, stejně jako v jakémkoli nespravovaném clusteru.
Řešení problému
Selhání správného přidání přiřazení role bude při nasazení splněno s následující chybou:
V takovém případě se ujistěte, že se přiřazení role úspěšně vytvořilo s rolí "Operátor spravované identity". Přiřazení role najdete na webu Azure Portal pod řízením přístupu k prostředku spravované identity, jak je znázorněno níže.