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 podporován škálovací sadou virtuálních počítačů. Aby bylo možné používat spravované identity s typem uzlu spravovaného clusteru, byla do definic typů uzlů přidána vlastnost vmManagedIdentity obsahující seznam identit, které se dají použít, userAssignedIdentities. Funkce odráží způsob použití spravovaných identit v nespravované clustery, 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 umožňující poskytovateli prostředků Service Fabric přiřadit identitu ke škálovací sadě virtuálních počítačů spravovaného clusteru. Před použitím spravované identity v prostředku typu uzlu by se měl nasadit jenom jednou.

  2. Typ spravovaného clusteru a 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 jsou v současné době podporovány pouze identity přiřazené uživatelem.

Požadavky

Než začnete:

  • Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet před tím, než začnete.
  • 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 resources šablony Azure Resource Manager (ARM) pro vytvoření při nasazení:

{
  "type": "Microsoft.ManagedIdentity/userAssignedIdentities",
  "name": "[parameters('userAssignedIdentityName')]",
  "apiVersion": "2023-01-31",
  "location": "[resourceGroup().location]"
}

nebo vytvořené prostřednictvím PowerShellu:

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 Poskytovatele prostředků Service Fabric. 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 níže jako roleDefinitionId , pokud je to možné v šabloně nebo příkazu PowerShellu:

Název definice role ID definice role
Operátor spravované identity f1a07417-d97a-45cb-824c-7a7467783830

Toto přiřazení role je možné definovat v šabloně oddílu resources 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 je identifikátor GUID stejný jako původně použitý, nebo odeberte tento prostředek, protože stačí 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 přidejte vmManagedIdentity vlastnosti a userAssignedIdentities do definice typu uzlu spravovaného clusteru s úplným ID prostředku identity vytvořené v prvním kroku. Nezapomeňte použít 2021-05-01 nebo novější pro 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')]"
      ]
    }
  }
}

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í potíží

K selhání správného přidání přiřazení role dojde při nasazení k následující chybě:

Azure Portal chyba nasazení 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 pomocí role Operátor spravované identity. Přiřazení role najdete na Azure Portal v rámci řízení přístupu k prostředku spravované identity, jak je znázorněno níže.

Vlastnosti přiřazení rolí pro poskytovatele prostředků Service Fabric u spravované identity přiřazené uživatelem zobrazené v Azure Portal

Další kroky