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
- Een Azure Data Explorer-cluster en -database. Maak een cluster en database.
- Database Beheer machtigingen voor de Azure Data Explorer-database.
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.
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.
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 vancluster
.
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:
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.
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.