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:

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.

Shows the Azure portal with the system-managed identity object ID for a Synapse workspace.

  • 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.

  1. Válassza a Hozzáférés-vezérlés (IAM) lehetőséget.

  2. Válassza a Szerepkör-hozzárendelés hozzáadása lehetőséget>.

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

  3. A Tagok lapon válassza a Felügyelt identitás, majd a Tagok kijelölése lehetőséget.

  4. Válassza ki az Azure-előfizetését.

  5. 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.

  6. 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

synapse-run-as-msi-1

synapse-run-as-msi-2

synapse-run-as-msi-3

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

Tekintse meg a következő témaköröket, amelyek bemutatják, hogy mikor és hogyan használható a felügyelt identitás:

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.