Spravovaná identita pro Azure Data Factory

PLATÍ PRO: Azure Data Factory Azure Synapse Analytics

Tip

Vyzkoušejte si službu Data Factory v Microsoft Fabric, řešení pro analýzy typu all-in-one pro podniky. Microsoft Fabric zahrnuje všechno od přesunu dat až po datové vědy, analýzy v reálném čase, business intelligence a vytváření sestav. Přečtěte si, jak začít používat novou zkušební verzi zdarma.

Tento článek vám pomůže porozumět spravované identitě (dříve označované jako Identita spravované služby nebo MSI) a jak funguje ve službě Azure Data Factory.

Poznámka:

Při práci s Azure doporučujeme používat modul Azure Az PowerShellu. Začněte tím, že si projdete téma Instalace Azure PowerShellu. Informace o tom, jak migrovat na modul Az PowerShell, najdete v tématu Migrace Azure PowerShellu z AzureRM na Az.

Přehled

Spravované identity eliminují potřebu spravovat tyto přihlašovací údaje. Spravované identity poskytují identitu pro danou instanci služby při připojování k prostředkům, které podporují ověřování Microsoft Entra. Služba může spravovanou identitu používat například pro přístup k prostředkům, jako je Azure Key Vault, kde můžou správci dat bezpečně ukládat přihlašovací údaje nebo přistupovat k účtům úložiště. Služba používá spravovanou identitu k získávání tokenů Microsoft Entra.

Existují dva typy podporovaných spravovaných identit:

  • Přiřazená systémem: Spravovanou identitu můžete povolit přímo v instanci služby. Když během vytváření služby povolíte spravovanou identitu přiřazenou systémem, vytvoří se identita v Microsoft Entra, která bude svázaná s životním cyklem dané instance služby. Z podstaty této identity vyplývá, že ji může k vyžadování tokenů z Microsoft Entra ID používat pouze daný prostředek Azure. Takže když je tento prostředek odstraněn, Azure identitu automaticky odstraní.
  • Přiřazená uživatelem: Spravovanou identitu můžete vytvořit také jako samostatný prostředek Azure. Můžete vytvořit spravovanou identitu přiřazenou uživatelem a přiřadit ji k jedné nebo více instancím datové továrny. Spravované identity přiřazené uživatelem se spravují odděleně od prostředků, které ji používají.

Spravovaná identita poskytuje tyto výhody:

  • Uložení přihlašovacích údajů v trezoru Azure Key Vault. V tomto případě se spravovaná identita používá k ověřování přes Azure Key Vault.
  • Přístup k úložištím dat nebo výpočetním prostředkům s využitím ověření na základě spravované identity. Týká se služeb Azure Blob Storage, Azure Data Explorer, Azure Data Lake Storage Gen1, Azure Data Lake Storage Gen2, Azure SQL Database, Azure SQL Managed Instance, Azure Synapse Analytics, REST, aktivit Databricks, webových aktivit a dalších. Podrobnosti najdete v článcích o konektorech a aktivitách.
  • Spravovaná identita se také používá k šifrování/dešifrování dat a metadat pomocí klíče spravovaného zákazníkem uloženého v trezoru Azure Key Vault a poskytuje dvojité šifrování.

Spravovaná identita přiřazená systémem

Poznámka:

Spravovaná identita přiřazená systémem se také označuje jako spravovaná identita jinde v dokumentaci a v sadě Data Factory Studio pro účely zpětné kompatibility. Při odkazech na ni explicitně zmíníme spravovanou identitu přiřazenou uživatelem.

Generování spravované identity přiřazené systémem

Spravovaná identita přiřazená systémem se vygeneruje takto:

  • Při vytváření datové továrny prostřednictvím webu Azure Portal nebo PowerShellu se spravovaná identita vždy vytvoří automaticky.
  • Při vytváření datové továrny prostřednictvím sady SDK se spravovaná identita vytvoří pouze v případě, že v objektu továrny pro vytvoření zadáte "Identity = new FactoryIdentity()". Podívejte se na příklad v rychlém startu .NET – Vytvoření datové továrny.
  • Při vytváření datové továrny prostřednictvím rozhraní REST API se spravovaná identita vytvoří jenom v případě, že v textu požadavku zadáte část Identita. Podívejte se na příklad v rychlém startu REST – vytvoření datové továrny.

Pokud zjistíte, že vaše instance služby nemá přidruženou spravovanou identitu přidruženou k následující instrukci spravované identity , můžete ji explicitně vygenerovat tak, že ji aktualizujete pomocí iniciátoru identity prostřednictvím kódu programu:

Poznámka:

  • Spravovanou identitu nelze upravit. Aktualizace instance služby, která už má spravovanou identitu, nebude mít žádný vliv a spravovaná identita se zachová beze změny.
  • Pokud aktualizujete instanci služby, která už má spravovanou identitu bez zadání parametru identity v objektech továrny nebo bez zadání oddílu identity v textu požadavku REST, zobrazí se chyba.
  • Když odstraníte instanci služby, odstraní se také přidružená spravovaná identita.

Generování spravované identity přiřazené systémem pomocí PowerShellu

Volání příkazu Set-AzDataFactoryV2 a nově vygenerovaná pole Identita:

PS C:\> Set-AzDataFactoryV2 -ResourceGroupName <resourceGroupName> -Name <dataFactoryName> -Location <region>

DataFactoryName   : ADFV2DemoFactory
DataFactoryId     : /subscriptions/<subsID>/resourceGroups/<resourceGroupName>/providers/Microsoft.DataFactory/factories/ADFV2DemoFactory
ResourceGroupName : <resourceGroupName>
Location          : East US
Tags              : {}
Identity          : Microsoft.Azure.Management.DataFactory.Models.FactoryIdentity
ProvisioningState : Succeeded

Generování spravované identity přiřazené systémem pomocí rozhraní REST API

Poznámka:

Pokud se pokusíte aktualizovat instanci služby, která už má spravovanou identitu bez zadání parametru identity v objektu továrny nebo poskytnutí oddílu identity v textu požadavku REST, zobrazí se chyba.

V textu požadavku zavolejte níže uvedené rozhraní API s částí Identity:

PATCH https://management.azure.com/subscriptions/<subsID>/resourceGroups/<resourceGroupName>/providers/Microsoft.DataFactory/factories/<data factory name>?api-version=2018-06-01

Text požadavku: add "identity": { "type": "SystemAssigned" }.

{
    "name": "<dataFactoryName>",
    "location": "<region>",
    "properties": {},
    "identity": {
        "type": "SystemAssigned"
    }
}

Odpověď: Spravovaná identita se vytvoří automaticky a odpovídajícím způsobem se vyplní oddíl "identita".

{
    "name": "<dataFactoryName>",
    "tags": {},
    "properties": {
        "provisioningState": "Succeeded",
        "loggingStorageAccountKey": "**********",
        "createTime": "2017-09-26T04:10:01.1135678Z",
        "version": "2018-06-01"
    },
    "identity": {
        "type": "SystemAssigned",
        "principalId": "765ad4ab-XXXX-XXXX-XXXX-51ed985819dc",
        "tenantId": "72f988bf-XXXX-XXXX-XXXX-2d7cd011db47"
    },
    "id": "/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.DataFactory/factories/<dataFactoryName>",
    "type": "Microsoft.DataFactory/factories",
    "location": "<region>"
}

Generování spravované identity přiřazené systémem pomocí šablony Azure Resource Manageru

Šablona: add "identity": { "type": "SystemAssigned" }.

{
    "contentVersion": "1.0.0.0",
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "resources": [{
        "name": "<dataFactoryName>",
        "apiVersion": "2018-06-01",
        "type": "Microsoft.DataFactory/factories",
        "location": "<region>",
        "identity": {
            "type": "SystemAssigned"
        }
    }]
}

Generování spravované identity přiřazené systémem pomocí sady SDK

Volání funkce create_or_update pomocí Identity=new FactoryIdentity(). Ukázkový kód pomocí .NET:

Factory dataFactory = new Factory
{
    Location = <region>,
    Identity = new FactoryIdentity()
};
client.Factories.CreateOrUpdate(resourceGroup, dataFactoryName, dataFactory);

Načtení spravované identity přiřazené systémem

Spravovanou identitu můžete načíst z webu Azure Portal nebo programově. V následujících částech jsou uvedeny některé ukázky.

Tip

Pokud spravovanou identitu nevidíte, vygenerujte spravovanou identitu aktualizací instance služby.

Načtení spravované identity přiřazené systémem pomocí webu Azure Portal

Informace o spravované identitě najdete na webu Azure Portal –> vaše datová továrna –> Vlastnosti.

Shows the Azure portal with the system-managed identity object ID and Identity Tenant for an Azure Data Factory.

  • ID objektu spravované identity
  • Tenant spravované identity

Informace o spravované identitě se také zobrazí při vytváření propojené služby, která podporuje ověřování spravovaných identit, jako je Azure Blob, Azure Data Lake Storage, Azure Key Vault atd.

Pokud chcete udělit oprávnění, postupujte podle těchto kroků. Podrobný postup najdete v tématu Přiřazování rolí Azure s využitím webu Azure Portal.

  1. Vyberte Řízení přístupu (IAM) .

  2. Vyberte Přidat>Přidat přiřazení role.

    Screenshot that shows Access control (IAM) page with Add role assignment menu open.

  3. Na kartě Členové vyberte Spravovaná identita a pak vyberte Vybrat členy.

  4. Vyberte své předplatné Azure.

  5. V části Spravovaná identita přiřazená systémem vyberte Data Factory a pak vyberte datovou továrnu. K vyhledání této identity můžete také použít ID objektu nebo název datové továrny (jako název spravované identity). K získání ID aplikace spravované identity použijte PowerShell.

  6. Na kartě Zkontrolovat a přiřadit vyberte možnost Zkontrolovat a přiřadit a přiřaďte roli.

Načtení spravované identity přiřazené systémem pomocí PowerShellu

ID objektu zabezpečení spravované identity a ID tenanta se vrátí, když získáte konkrétní instanci služby následujícím způsobem. Pomocí PrincipalId udělte přístup:

PS C:\> (Get-AzDataFactoryV2 -ResourceGroupName <resourceGroupName> -Name <dataFactoryName>).Identity

PrincipalId                          TenantId
-----------                          --------
765ad4ab-XXXX-XXXX-XXXX-51ed985819dc 72f988bf-XXXX-XXXX-XXXX-2d7cd011db47

ID aplikace můžete získat zkopírováním výše uvedeného ID objektu zabezpečení a spuštěním pod příkazem Microsoft Entra ID s ID objektu zabezpečení jako parametrem.

PS C:\> Get-AzADServicePrincipal -ObjectId 765ad4ab-XXXX-XXXX-XXXX-51ed985819dc

ServicePrincipalNames : {76f668b3-XXXX-XXXX-XXXX-1b3348c75e02, https://identity.azure.net/P86P8g6nt1QxfPJx22om8MOooMf/Ag0Qf/nnREppHkU=}
ApplicationId         : 76f668b3-XXXX-XXXX-XXXX-1b3348c75e02
DisplayName           : ADFV2DemoFactory
Id                    : 765ad4ab-XXXX-XXXX-XXXX-51ed985819dc
Type                  : ServicePrincipal

Načtení spravované identity pomocí rozhraní REST API

ID objektu zabezpečení spravované identity a ID tenanta se vrátí, když získáte konkrétní instanci služby následujícím způsobem.

Volání následujícího rozhraní API v požadavku:

GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}?api-version=2018-06-01

Odpověď: Dostanete odpověď, jak je znázorněno v následujícím příkladu. Oddíl "identita" se odpovídajícím způsobem naplní.

{
    "name":"<dataFactoryName>",
    "identity":{
        "type":"SystemAssigned",
        "principalId":"554cff9e-XXXX-XXXX-XXXX-90c7d9ff2ead",
        "tenantId":"72f988bf-XXXX-XXXX-XXXX-2d7cd011db47"
    },
    "id":"/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.DataFactory/factories/<dataFactoryName>",
    "type":"Microsoft.DataFactory/factories",
    "properties":{
        "provisioningState":"Succeeded",
        "createTime":"2020-02-12T02:22:50.2384387Z",
        "version":"2018-06-01",
        "factoryStatistics":{
            "totalResourceCount":0,
            "maxAllowedResourceCount":0,
            "factorySizeInGbUnits":0,
            "maxAllowedFactorySizeInGbUnits":0
        }
    },
    "eTag":"\"03006b40-XXXX-XXXX-XXXX-5e43617a0000\"",
    "location":"<region>",
    "tags":{

    }
}

Tip

Pokud chcete načíst spravovanou identitu ze šablony ARM, přidejte do JSON ARM oddíl s výstupy :

{
    "outputs":{
        "managedIdentityObjectId":{
            "type":"string",
            "value":"[reference(resourceId('Microsoft.DataFactory/factories', parameters('<dataFactoryName>')), '2018-06-01', 'Full').identity.principalId]"
        }
    }
}

Spravovaná identita přiřazená uživatelem

Spravované identity přiřazené uživatelem můžete vytvářet, odstraňovat a spravovat v Microsoft Entra ID. Další podrobnosti najdete v tématu Vytvoření, výpis, odstranění nebo přiřazení role spravované identitě přiřazené uživatelem pomocí webu Azure Portal.

Pokud chcete použít spravovanou identitu přiřazenou uživatelem, musíte nejprve vytvořit přihlašovací údaje ve vaší instanci služby pro UAMI.

Podívejte se na následující témata, která představují, kdy a jak používat spravovanou identitu:

Další informace o spravovaných identitách pro prostředky Azure najdete v tématu Přehled spravovaných identit pro prostředky Azure, na kterých je založená spravovaná identita ve službě Azure Data Factory.

Viz Omezení spravovaných identit, která platí také pro spravované identity ve službě Azure Data Factory.