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. Pokud chcete začít, přečtěte si 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í.
Poznámka:
Důvěryhodné obejití nemůže využívat spravované identity přiřazené uživatelem. Může využívat pouze spravované identity přiřazené systémem pro připojení ke službě Azure Storage a Azure Key Vault.
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:
- Generování spravované identity pomocí PowerShellu
- Generování spravované identity pomocí rozhraní REST API
- Generování spravované identity pomocí šablony Azure Resource Manageru
- Generování spravované identity pomocí sady SDK
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.
- 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.
Vyberte Řízení přístupu (IAM) .
Vyberte Přidat>Přidat přiřazení role.
Na kartě Členové vyberte Spravovaná identita a pak vyberte Vybrat členy.
Vyberte své předplatné Azure.
V části Spravovaná identita přiřazená systémem vyberte Datová továrna 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.
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.
Související obsah
Podívejte se na následující témata, která představují, kdy a jak používat spravovanou identitu:
- Ukládání přihlašovacích údajů ve službě Azure Key Vault
- Kopírování dat z/do Azure Data Lake Store pomocí spravovaných identit pro ověřování prostředků Azure
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.