Delen via


Externe tabellen met beheerde identiteiten verifiëren

Een externe tabel is een schema-entiteit die verwijst naar gegevens die zijn opgeslagen buiten de Azure Data Explorer-database. Externe tabellen kunnen worden gedefinieerd om te verwijzen naar gegevens in Azure Storage of SQL Server en ondersteunen verschillende verificatiemethoden.

In dit artikel leert u hoe u een externe tabel maakt die wordt geverifieerd met een beheerde identiteit.

Vereisten

1 - Een beheerde identiteit configureren voor gebruik met externe tabellen

Er zijn twee typen beheerde identiteit:

  • Door het systeem toegewezen: een door het systeem toegewezen identiteit is verbonden met uw cluster en wordt verwijderd wanneer het cluster wordt verwijderd. Er is slechts één door het systeem toegewezen identiteit per cluster toegestaan.

  • Door de gebruiker toegewezen: een door de gebruiker toegewezen beheerde identiteit is een zelfstandige Azure-resource. Meerdere door de gebruiker toegewezen identiteiten kunnen worden toegewezen aan uw cluster.

Selecteer een van de volgende tabbladen om het gewenste type beheerde identiteit in te stellen.

  1. Volg de stappen voor Het toevoegen van een door de gebruiker toegewezen identiteit aan uw cluster en sla de object-id (principal) op voor later gebruik.

  2. Voer de volgende .alter-merge policy uit managed_identity opdracht. Met deze opdracht stelt u een beleid voor beheerde identiteit in op het cluster waarmee de beheerde identiteit kan worden gebruikt met externe tabellen. Vervang door <objectId> de object-id (principal) uit de vorige stap.

    .alter-merge cluster policy managed_identity ```[
        {
          "ObjectId": "<objectId>",
          "AllowedUsages": "ExternalTable"
        }
    ]```
    

    Notitie

    Als u het beleid voor een specifieke database wilt instellen, gebruikt database <DatabaseName> u in plaats van cluster.

2 - De beheerde identiteit externe resourcemachtigingen verlenen

De beheerde identiteit moet machtigingen hebben voor de externe resource om te kunnen verifiëren.

Selecteer het tabblad voor het relevante type externe resource en wijs de vereiste machtigingen toe.

In de volgende tabel ziet u de vereiste machtigingen per externe resource. Als u gegevens uit de externe resource wilt importeren of er query's op wilt uitvoeren, verleent u de beheerde identiteit leesmachtigingen. Als u gegevens wilt exporteren naar de externe resource, verleent u de beheerde identiteit schrijfmachtigingen.

Extern gegevensarchief Leesmachtigingen Schrijfmachtigingen De machtigingen verlenen
Azure Blob Storage Lezer voor opslagblobgegevens Inzender voor Storage Blob-gegevens Een Azure-rol toewijzen
Data Lake Storage Gen2 Lezer voor opslagblobgegevens Inzender voor Storage Blob-gegevens Een Azure-rol toewijzen
Data Lake Storage Gen1 Lezer Inzender Een Azure-rol toewijzen

3 - Een externe tabel maken

Er zijn twee typen externe tabellen die ondersteuning bieden voor verificatie met beheerde identiteiten: externe Azure Storage-tabellen en SQL Server externe tabellen.

Selecteer een van de volgende tabbladen om een Azure Storage- of SQL Server externe tabel in te stellen.

Voer de volgende stappen uit om een externe Azure Storage-tabel te maken:

  1. Maak een verbindingsreeks op basis van de opslagsjablonen verbindingsreeks. Deze tekenreeks geeft de resource aan die moet worden geopend en de bijbehorende verificatiegegevens. Geef de verificatiemethode voor beheerde identiteit op.

  2. Voer de externe tabel .create of .alter uit om de tabel te maken. Gebruik de verbindingsreeks uit de vorige stap als het argument storageConnectionString.

Voorbeeld

Met de volgende opdracht maakt u MyExternalTable die verwijst naar gegevens in CSV-indeling in mycontainer van mystorageaccount in Azure Blob Storage. De tabel heeft twee kolommen, één voor een geheel getal x en één voor een tekenreeks s. De verbindingsreeks eindigt met ;managed_identity=system, wat aangeeft dat een door het systeem toegewezen beheerde identiteit moet worden gebruikt voor verificatie om toegang te krijgen tot het gegevensarchief.

.create external table MyExternalTable (x:int, s:string) kind=storage dataformat=csv 
( 
    h@'https://mystorageaccount.blob.core.windows.net/mycontainer;managed_identity=system' 
)

Notitie

Als u wilt verifiëren met een door de gebruiker toegewezen beheerde identiteit, vervangt u door system de object-id van de beheerde identiteit.