Felügyelt identitás az Azure Synapse-hez
Ez a cikk segít megérteni a felügyelt identitást (korábbi nevén felügyeltszolgáltatás-identitás/MSI) és az Azure Synapse működését.
Feljegyzés
Javasoljuk, hogy az Azure Az PowerShell modult használja az Azure-ral való interakcióhoz. Az első lépésekhez tekintse meg az Azure PowerShell telepítését ismertető szakaszt. Az Az PowerShell-modulra történő migrálás részleteiről lásd: Az Azure PowerShell migrálása az AzureRM modulból az Az modulba.
Áttekintés
A felügyelt identitások nem igénylik a hitelesítő adatok kezelését. A felügyelt identitások biztosítják az identitást a szolgáltatáspéldánynak, amikor olyan erőforrásokhoz csatlakozik, amely támogatja a Microsoft Entra-hitelesítést. A szolgáltatás például felügyelt identitással férhet hozzá az olyan erőforrásokhoz, mint az Azure Key Vault, ahol az adatgazdák biztonságosan tárolhatják a hitelesítő adatokat, vagy hozzáférhetnek a tárfiókokhoz. A szolgáltatás felügyelt identitást használ a Microsoft Entra-tokenek lekéréséhez.
A támogatott felügyelt identitások kétféleképpen használhatók:
- Rendszer által hozzárendelt: A felügyelt identitásokat közvetlenül egy szolgáltatáspéldányon engedélyezheti. Ha engedélyezi a rendszer által hozzárendelt felügyelt identitást a szolgáltatás létrehozása során, a Microsoft Entra létrehoz egy identitást, amely az adott szolgáltatáspéldány életciklusához van társítva. A rendszer működése alapján csak az adott Azure-erőforrás használhatja ezt az identitást ahhoz, hogy tokeneket kérjen le a Microsoft Entra ID-ből. Így az erőforrás törlésekor az Azure automatikusan törli az Ön identitását. Az Azure Synapse Analytics használatához létre kell hozni egy rendszer által hozzárendelt felügyelt identitást a Synapse-munkaterülettel együtt.
- Felhasználó által hozzárendelt: Önálló Azure-erőforrásként is létrehozhat felügyelt identitást. Létrehozhat egy felhasználó által hozzárendelt felügyelt identitást, és hozzárendelheti azt a Synapse-munkaterület egy vagy több példányához. A felhasználó által hozzárendelt felügyelt identitásokban az identitást az azt használó erőforrásoktól elkülönítve kezeli a rendszer.
A felügyelt identitás az alábbi előnyöket nyújtja:
- Tárolja a hitelesítő adatokat az Azure Key Vaultban, amely esetben felügyelt identitást használ az Azure Key Vault-hitelesítéshez.
- Felügyelt identitásalapú hitelesítéssel érheti el az adattárakat vagy számításokat, beleértve az Azure Blob Storage-t, az Azure Data Explorert, az 1. generációs Azure Data Lake Storage-t, az Azure Data Lake Storage Gen2-t, az Azure SQL Database-t, a felügyelt Azure SQL-példányt, az Azure Synapse Analyticset, a REST-et, a Databricks-tevékenységet, a webes tevékenységet stb. A részletekért tekintse meg az összekötő és a tevékenység cikkeit.
- A felügyelt identitás az Azure Key Vaultban tárolt ügyfél által kezelt kulccsal titkosítja/fejti vissza az adatokat és a metaadatokat, dupla titkosítást biztosítva.
Rendszer által hozzárendelt felügyelt identitás
Feljegyzés
A rendszer által hozzárendelt felügyelt identitást máshol a dokumentációban és a Synapse Studio felhasználói felületén is "felügyelt identitásnak" is nevezik a visszamenőleges kompatibilitás érdekében. Kifejezetten megemlítjük a "felhasználó által hozzárendelt felügyelt identitást" a hivatkozáskor.
Rendszer által hozzárendelt felügyelt identitás létrehozása
A rendszer által hozzárendelt felügyelt identitás a következőképpen jön létre:
- Ha Synapse-munkaterületet hoz létre az Azure Portalon vagy a PowerShell-lel, a felügyelt identitás mindig automatikusan létrejön.
- Amikor SDK-n keresztül hoz létre munkaterületet, a felügyelt identitás csak akkor jön létre, ha identitás = új ManagedIdentity értéket ad meg a Synapse-munkaterület objektumában létrehozáshoz." Lásd a .NET gyorsútmutató – Adat-előállító létrehozása című témakört.
- A Synapse-munkaterület REST API-val történő létrehozásakor a felügyelt identitás csak akkor jön létre, ha megadja az "identitás" szakaszt a kérelem törzsében. Tekintse meg a példát a REST rövid útmutatójában – data factory létrehozása.
Ha úgy találja, hogy a szolgáltatáspéldány nem rendelkezik felügyelt identitással a felügyelt identitás lekérése után, explicit módon létrehozhat egyet úgy, hogy programozott módon frissíti az identitás kezdeményezőjével:
- Felügyelt identitás létrehozása a PowerShell használatával
- Felügyelt identitás létrehozása REST API használatával
- Felügyelt identitás létrehozása Azure Resource Manager-sablonnal
- Felügyelt identitás létrehozása az SDK használatával
Feljegyzés
- A felügyelt identitás nem módosítható. A már felügyelt identitással rendelkező szolgáltatáspéldány frissítése nem lesz hatással, és a felügyelt identitás változatlan marad.
- Ha olyan szolgáltatáspéldányt frissít, amely már rendelkezik felügyelt identitással anélkül, hogy meg nem adja az "identity" paramétert a gyárban vagy a munkaterület objektumaiban, vagy nem adja meg az "identitás" szakaszt a REST-kérelem törzsében, hibaüzenet jelenik meg.
- Szolgáltatáspéldány törlésekor a társított felügyelt identitás is törlődik.
Rendszer által hozzárendelt felügyelt identitás létrehozása a PowerShell használatával
Hívja meg a New-AzSynapseWorkspace parancsot, majd megjelenik az újonnan létrehozott "Identity" mezők:
PS C:\> $creds = New-Object System.Management.Automation.PSCredential ("ContosoUser", $password)
PS C:\> New-AzSynapseWorkspace -ResourceGroupName <resourceGroupName> -Name <workspaceName> -Location <region> -DefaultDataLakeStorageAccountName <storageAccountName> -DefaultDataLakeStorageFileSystem <fileSystemName> -SqlAdministratorLoginCredential $creds
DefaultDataLakeStorage : Microsoft.Azure.Commands.Synapse.Models.PSDataLakeStorageAccountDetails
ProvisioningState : Succeeded
SqlAdministratorLogin : ContosoUser
VirtualNetworkProfile :
Identity : Microsoft.Azure.Commands.Synapse.Models.PSManagedIdentity
ManagedVirtualNetwork :
PrivateEndpointConnections : {}
WorkspaceUID : <workspaceUid>
ExtraProperties : {[WorkspaceType, Normal], [IsScopeEnabled, False]}
ManagedVirtualNetworkSettings :
Encryption : Microsoft.Azure.Commands.Synapse.Models.PSEncryptionDetails
WorkspaceRepositoryConfiguration :
Tags :
TagsTable :
Location : <region>
Id : /subscriptions/<subsID>/resourceGroups/<resourceGroupName>/providers/
Microsoft.Synapse/workspaces/<workspaceName>
Name : <workspaceName>
Type : Microsoft.Synapse/workspaces
Rendszer által hozzárendelt felügyelt identitás létrehozása a REST API használatával
Feljegyzés
Ha olyan szolgáltatáspéldányt próbál frissíteni, amely már rendelkezik felügyelt identitással anélkül, hogy megadja az identitásparamétert a munkaterület objektumában, vagy megad egy identitásszakaszt a REST-kérelem törzsében, hibaüzenet jelenik meg.
Hívja meg az alábbi API-t a kérelem törzsének "identity" szakaszával:
PATCH https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Synapse/workspaces/{workspaceName}?api-version=2018-06-01
Kérelem törzse: add "identity": { "type": "SystemAssigned" }.
{
"name": "<workspaceName>",
"location": "<region>",
"properties": {},
"identity": {
"type": "SystemAssigned"
}
}
Válasz: a rendszer automatikusan létrehozza a felügyelt identitást, és ennek megfelelően kitölti az "identitás" szakaszt.
{
"name": "<workspaceName>",
"tags": {},
"properties": {
"provisioningState": "Succeeded",
"loggingStorageAccountKey": "**********",
"createTime": "2021-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.Synapse/workspaces/<workspaceName>",
"type": "Microsoft.Synapse/workspaces",
"location": "<region>"
}
Rendszer által hozzárendelt felügyelt identitás létrehozása Azure Resource Manager-sablonnal
Sablon: add "identity": { "type": "SystemAssigned" }.
{
"contentVersion": "1.0.0.0",
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"resources": [{
"name": "<workspaceName>",
"apiVersion": "2018-06-01",
"type": "Microsoft.Synapse/workspaces",
"location": "<region>",
"identity": {
"type": "SystemAssigned"
}
}]
}
Rendszer által hozzárendelt felügyelt identitás létrehozása az SDK használatával
Workspace workspace = new Workspace
{
Identity = new ManagedIdentity
{
Type = ResourceIdentityType.SystemAssigned
},
DefaultDataLakeStorage = new DataLakeStorageAccountDetails
{
AccountUrl = <defaultDataLakeStorageAccountUrl>,
Filesystem = <DefaultDataLakeStorageFilesystem>
},
SqlAdministratorLogin = <SqlAdministratorLoginCredentialUserName>
SqlAdministratorLoginPassword = <SqlAdministratorLoginCredentialPassword>,
Location = <region>
};
client.Workspaces.CreateOrUpdate(resourceGroupName, workspaceName, workspace);
Rendszer által hozzárendelt felügyelt identitás lekérése
A felügyelt identitást lekérheti az Azure Portalról vagy programozott módon. A következő szakaszok néhány mintát mutatnak.
Tipp.
Ha nem látja a felügyelt identitást, hozzon létre felügyelt identitást a szolgáltatáspéldány frissítésével.
Rendszer által hozzárendelt felügyelt identitás lekérése az Azure Portal használatával
A felügyelt identitással kapcsolatos információkat az Azure Portalról –> a Synapse-munkaterületről –> tulajdonságokból találhatja meg.
- Felügyelt identitásobjektum azonosítója
A felügyelt identitásadatok a felügyelt identitáshitelesítést támogató társított szolgáltatás létrehozásakor is megjelennek, például az Azure Blob, az Azure Data Lake Storage, az Azure Key Vault stb.
Az engedélyek megadásához kövesse az alábbi lépéseket. A részletes lépésekért tekintse meg az Azure-szerepköröknek az Azure Portalon történő hozzárendelését ismertető cikket.
Válassza a Hozzáférés-vezérlés (IAM) lehetőséget.
Válassza a Szerepkör-hozzárendelés hozzáadása lehetőséget>.
A Tagok lapon válassza a Felügyelt identitás, majd a Tagok kijelölése lehetőséget.
Válassza ki az Azure-előfizetését.
A Rendszer által hozzárendelt felügyelt identitás területen válassza a Synapse-munkaterületet, majd válasszon egy munkaterületet. Az objektumazonosítót vagy a munkaterület nevét (felügyelt identitás neveként) is használhatja az identitás megkereséséhez. A felügyelt identitás alkalmazásazonosítójának lekéréséhez használja a PowerShellt.
A szerepkör hozzárendeléséhez a Felülvizsgálat + hozzárendelés lapon válassza a Felülvizsgálat + hozzárendelés lehetőséget.
Rendszer által hozzárendelt felügyelt identitás lekérése a PowerShell használatával
A rendszer visszaadja a felügyelt identitás egyszerű azonosítóját és bérlőazonosítóját, amikor egy adott szolgáltatáspéldányt kap az alábbiak szerint. Hozzáférés biztosítása a PrincipalId használatával:
PS C:\> (Get-AzSynapseWorkspace -ResourceGroupName <resourceGroupName> -Name <workspaceName>).Identity
IdentityType PrincipalId TenantId
------------ ----------- --------
SystemAssigned cadadb30-XXXX-XXXX-XXXX-ef3500e2ff05 72f988bf-XXXX-XXXX-XXXX-2d7cd011db47
Az alkalmazásazonosítót az egyszerű azonosító fölé másolva, majd a Microsoft Entra ID parancs alatt futtatva szerezheti be paraméterként az egyszerű azonosítót.
PS C:\> Get-AzADServicePrincipal -ObjectId cadadb30-XXXX-XXXX-XXXX-ef3500e2ff05
ServicePrincipalNames : {76f668b3-XXXX-XXXX-XXXX-1b3348c75e02, https://identity.azure.net/P86P8g6nt1QxfPJx22om8MOooMf/Ag0Qf/nnREppHkU=}
ApplicationId : 76f668b3-XXXX-XXXX-XXXX-1b3348c75e02
DisplayName : <workspaceName>
Id : cadadb30-XXXX-XXXX-XXXX-ef3500e2ff05
Type : ServicePrincipal
Felügyelt identitás lekérése REST API használatával
A rendszer visszaadja a felügyelt identitás egyszerű azonosítóját és bérlőazonosítóját, amikor egy adott szolgáltatáspéldányt kap az alábbiak szerint.
Az alábbi API meghívása a kérelemben:
GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Synapse/workspaces/{workspaceName}?api-version=2018-06-01
Válasz: A válasz az alábbi példában látható módon jelenik meg. Az "identitás" szakasz ennek megfelelően van kitöltve.
{
"properties": {
"defaultDataLakeStorage": {
"accountUrl": "https://exampledatalakeaccount.dfs.core.windows.net",
"filesystem": "examplefilesystem"
},
"encryption": {
"doubleEncryptionEnabled": false
},
"provisioningState": "Succeeded",
"connectivityEndpoints": {
"web": "https://web.azuresynapse.net?workspace=%2fsubscriptions%2{subscriptionId}%2fresourceGroups%2f{resourceGroupName}%2fproviders%2fMicrosoft.Synapse%2fworkspaces%2f{workspaceName}",
"dev": "https://{workspaceName}.dev.azuresynapse.net",
"sqlOnDemand": "{workspaceName}-ondemand.sql.azuresynapse.net",
"sql": "{workspaceName}.sql.azuresynapse.net"
},
"managedResourceGroupName": "synapseworkspace-managedrg-f77f7cf2-XXXX-XXXX-XXXX-c4cb7ac3cf4f",
"sqlAdministratorLogin": "sqladminuser",
"privateEndpointConnections": [],
"workspaceUID": "e56f5773-XXXX-XXXX-XXXX-a0dc107af9ea",
"extraProperties": {
"WorkspaceType": "Normal",
"IsScopeEnabled": false
},
"publicNetworkAccess": "Enabled",
"cspWorkspaceAdminProperties": {
"initialWorkspaceAdminObjectId": "3746a407-XXXX-XXXX-XXXX-842b6cf1fbcc"
},
"trustedServiceBypassEnabled": false
},
"type": "Microsoft.Synapse/workspaces",
"id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Synapse/workspaces/{workspaceName}",
"location": "eastus",
"name": "{workspaceName}",
"identity": {
"type": "SystemAssigned",
"tenantId": "72f988bf-XXXX-XXXX-XXXX-2d7cd011db47",
"principalId": "cadadb30-XXXX-XXXX-XXXX-ef3500e2ff05"
},
"tags": {}
}
Tipp.
A felügyelt identitás ARM-sablonból való lekéréséhez adjon hozzá egy kimeneti szakaszt az ARM JSON-ban:
{
"outputs":{
"managedIdentityObjectId":{
"type":"string",
"value":"[reference(resourceId('Microsoft.Synapse/workspaces', parameters('<workspaceName>')), '2018-06-01', 'Full').identity.principalId]"
}
}
}
Azure Synapse Spark-jegyzetfüzetek végrehajtása rendszer által hozzárendelt felügyelt identitással
A Synapse Spark-jegyzetfüzetek egyszerűen végrehajthatók a rendszer által hozzárendelt felügyelt identitással (vagy munkaterület által felügyelt identitással) a futtatás felügyelt identitásként való engedélyezésével a Munkamenet konfigurálása menüből. A Munkaterület által felügyelt identitással rendelkező Spark-jegyzetfüzetek végrehajtásához a felhasználóknak az alábbi RBAC-szerepkörökkel kell rendelkezniük:
- Synapse Compute Operator a munkaterületen vagy a kiválasztott Spark-készletben
- Synapse Credential User a munkaterület felügyelt identitásán
Feljegyzés
A Synapse-jegyzetfüzetek és a Spark-feladatdefiníciók csak a rendszer által hozzárendelt felügyelt identitás használatát támogatják a társított szolgáltatásokon és az mssparkutils API-kon keresztül. Az MSAL és más hitelesítési kódtárak nem használhatják a rendszer által hozzárendelt felügyelt identitást. Ehelyett létrehozhat egy szolgáltatásnevet, és tárolhatja a hitelesítő adatokat a Key Vaultban.
Felhasználó által hozzárendelt felügyelt identitás
A Microsoft Entra ID-ban létrehozhat, törölhet, kezelhet felhasználó által hozzárendelt felügyelt identitásokat. További részletekért lásd: Szerepkör létrehozása, listázása, törlése vagy hozzárendelése egy felhasználó által hozzárendelt felügyelt identitáshoz az Azure Portal használatával.
A felhasználó által hozzárendelt felügyelt identitás használatához először létre kell hoznia hitelesítő adatokat a UAMI szolgáltatáspéldányában.
Feljegyzés
A Felhasználó által hozzárendelt felügyelt identitás jelenleg nem támogatott a Synapse-jegyzetfüzetekben és a Spark-feladatdefiníciókban.
Következő lépések
- Hitelesítő adatok létrehozása.
Tekintse meg a következő témaköröket, amelyek bemutatják, hogy mikor és hogyan használható a felügyelt identitás:
- A hitelesítő adatok tárolása az Azure Key Vaultban.
- Adatok másolása az Azure Data Lake Store-ba felügyelt identitások használatával az Azure-erőforrások hitelesítéséhez.
Tekintse meg az Azure-erőforrások felügyelt identitásainak áttekintését az Azure-erőforrások felügyelt identitásainak hátteréről, amelyeken az Azure Synapse felügyelt identitása alapul.