Dela via


Bevilja ett Service Fabric-program åtkomst till Azure-resurser i ett Service Fabric-kluster

Innan ett program kan använda sin hanterade identitet för att få åtkomst till andra resurser beviljar du behörighet till den identiteten på den skyddade Azure-resurs som används. Att bevilja behörigheter är vanligtvis en hanteringsåtgärd på kontrollplanet för Azure-tjänsten som äger den skyddade resurs som dirigeras av Azure Resource Manager. Den tjänsten tillämpar alla tillämpliga rollbaserade åtkomstkontroller.

Den exakta sekvensen av steg beror på vilken typ av Azure-resurs som används och vilket språk och vilken klient som används för att bevilja behörigheter. Den här artikeln förutsätter en användartilldelad identitet som tilldelats programmet och innehåller flera exempel. I dokumentationen för respektive Azure-tjänster finns uppdaterade anvisningar om hur du beviljar behörigheter.

Bevilja åtkomst till Azure Storage

Du kan använda Service Fabric-programmets hanterade identitet, som är användartilldelad i det här fallet, för att hämta data från en Azure-lagringsblob. Ge identiteten de behörigheter som krävs i Azure Portal med hjälp av följande steg:

  1. Gå till lagringskontot.
  2. Välj länken Åtkomstkontroll (IAM) i den vänstra panelen.
  3. (Valfritt) Kontrollera befintlig åtkomst: välj Systemtilldelad eller Användartilldelad hanterad identitet i sökkontrollen. Välj lämplig identitet i den efterföljande resultatlistan.
  4. Välj Lägg till>rolltilldelning överst på sidan för att lägga till en ny rolltilldelning för programmets identitet.
  5. Under Roll går du till listrutan och väljer Lagringsblobdataläsare.
  6. I nästa listruta under Tilldela åtkomst till väljer du Användartilldelad hanterad identitet.
  7. Kontrollera sedan att rätt prenumeration visas i listrutan Prenumeration och ange sedan Resursgrupp till Alla resursgrupper.
  8. Under Välj väljer du den UAI som motsvarar Service Fabric-programmet och väljer sedan Spara.

Stöd för systemtilldelade hanterade Service Fabric-identiteter inkluderar inte integrering i Azure Portal. Om ditt program använder en systemtilldelad identitet letar du reda på klient-ID:t för programmets identitet och upprepar sedan stegen ovan men väljer alternativet Microsoft Entra-användare, grupp eller tjänstens huvudnamn i sökkontrollen.

Bevilja åtkomst till Azure Key Vault

På samma sätt som vid åtkomst till lagring kan du använda den hanterade identiteten för ett Service Fabric-program för att få åtkomst till ett Azure Key Vault. Stegen för att bevilja åtkomst i Azure Portal liknar stegen ovan.

I följande exempel visas hur du beviljar åtkomst till ett valv med hjälp av en malldistribution. Lägg till kodfragmenten nedan som en annan post under elementet resources i mallen. Exemplet visar åtkomstbeviljande för både användartilldelade respektive systemtilldelade identitetstyper. Välj tillämpligt.

    # under 'variables':
  "variables": {
        "userAssignedIdentityResourceId" : "[resourceId('Microsoft.ManagedIdentity/userAssignedIdentities/', parameters('userAssignedIdentityName'))]",
    }
    # under 'resources':
    {
        "type": "Microsoft.KeyVault/vaults/accessPolicies",
        "name": "[concat(parameters('keyVaultName'), '/add')]",
        "apiVersion": "2018-02-14",
        "properties": {
            "accessPolicies": [
                {
                    "tenantId": "[reference(variables('userAssignedIdentityResourceId'), '2018-11-30').tenantId]",
                    "objectId": "[reference(variables('userAssignedIdentityResourceId'), '2018-11-30').principalId]",
                    "dependsOn": [
                        "[variables('userAssignedIdentityResourceId')]"
                    ],
                    "permissions": {
                        "keys":         ["get", "list"],
                        "secrets":      ["get", "list"],
                        "certificates": ["get", "list"]
                    }
                }
            ]
        }
    },

För systemtilldelade hanterade identiteter

    # under 'variables':
  "variables": {
        "sfAppSystemAssignedIdentityResourceId": "[concat(resourceId('Microsoft.ServiceFabric/managedClusters/applications/', parameters('clusterName'), parameters('applicationName')), '/providers/Microsoft.ManagedIdentity/Identities/default')]"
    }
    # under 'resources':
    {
        "type": "Microsoft.KeyVault/vaults/accessPolicies",
        "name": "[concat(parameters('keyVaultName'), '/add')]",
        "apiVersion": "2018-02-14",
        "properties": {
            "accessPolicies": [
            {
                    "name": "[concat(parameters('clusterName'), '/', parameters('applicationName'))]",
                    "tenantId": "[reference(variables('sfAppSystemAssignedIdentityResourceId'), '2018-11-30').tenantId]",
                    "objectId": "[reference(variables('sfAppSystemAssignedIdentityResourceId'), '2018-11-30').principalId]",
                    "dependsOn": [
                        "[variables('sfAppSystemAssignedIdentityResourceId')]"
                    ],
                    "permissions": {
                        "secrets": [
                            "get",
                            "list"
                        ],
                        "certificates": 
                        [
                            "get", 
                            "list"
                        ]
                    }
            },
        ]
        }
    }

Mer information finns i Valv – Uppdatera åtkomstprincip.

Nästa steg