Sdílet prostřednictvím


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:

  1. 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.

  2. 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 apiVersion2021-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:

Chyba nasazení webu Azure Portal zobrazující klienta s ID objektu nebo aplikace SFRP, které nemá oprávnění k provádění aktivit správy identit

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.

Vlastnosti přiřazení role pro poskytovatele prostředků Service Fabric na spravované identitě přiřazené uživatelem zobrazené na webu Azure Portal

Další kroky