Blobs in wachtrij plaatsen voor opname met behulp van verificatie van beheerde identiteit
Wanneer u blobs in de wachtrij plaatst voor opname vanuit uw eigen opslagaccounts, kunt u beheerde identiteiten gebruiken als alternatief voor SAS-tokens (Shared Access Signature) en verificatiemethoden voor gedeelde sleutels . Beheerde identiteiten zijn een veiligere manier om gegevens op te nemen, omdat u hiervoor de SAS-tokens of gedeelde sleutels van uw klant niet hoeft te delen met de service. In plaats daarvan wordt een beheerde identiteit toegewezen aan uw cluster en krijgt u leesmachtigingen voor het opslagaccount dat wordt gebruikt voor het opnemen van gegevens. U kunt deze machtigingen op elk gewenst moment intrekken.
Notitie
- Deze verificatiemethode is alleen van toepassing op Azure-blobs en Azure Data Lake-bestanden die zich bevinden in opslagaccounts die eigendom zijn van de klant. Dit geldt niet voor lokale bestanden die zijn geĆ¼pload met behulp van de Kusto SDK.
- Alleen opname in wachtrij wordt ondersteund. Inline-opname in Kusto-querytaal en directe opname met behulp van SDK-API's worden niet ondersteund.
Een beheerde identiteit toewijzen aan uw cluster
Volg Overzicht van beheerde identiteiten om een door het systeem of door de gebruiker toegewezen beheerde identiteit toe te voegen aan uw cluster. Als aan uw cluster al de gewenste beheerde identiteit is toegewezen, kopieert u de object-id met behulp van de volgende stappen:
Meld u aan bij de Azure Portal met een account dat is gekoppeld aan het Azure-abonnement dat uw cluster bevat.
Navigeer naar uw cluster en selecteer Identiteit.
Selecteer het juiste identiteitstype, het systeem of de gebruiker die is toegewezen en kopieer vervolgens de object-id van de vereiste identiteit.
Machtigingen verlenen aan de beheerde identiteit
Navigeer in de Azure Portal naar het opslagaccount met de gegevens die u wilt opnemen.
Selecteer Access Control en selecteer vervolgens +Roltoewijzing toevoegen>.
Ververleent de beheerde identiteit Storage Blob-gegevenslezer of Inzender voor opslagblobgegevens als u de bronoptie DeleteSourceOnSuccess wilt gebruiken, machtigingen voor het opslagaccount.
Belangrijk
Het verlenen van machtigingen voor eigenaar of inzender is niet voldoende en leidt ertoe dat de opname mislukt.
Het beleid voor beheerde identiteit instellen in Azure Data Explorer
Als u de beheerde identiteit wilt gebruiken om gegevens op te nemen in uw cluster, moet u de NativeIngestion
gebruiksoptie voor de geselecteerde beheerde identiteit toestaan. Systeemeigen opname verwijst naar de mogelijkheid om een SDK te gebruiken voor opname van een externe bron. Zie Clientbibliotheken voor meer informatie over de beschikbare SDK's.
Het beleid voor beheerde identiteiten voor gebruik kan worden gedefinieerd op cluster- of databaseniveau van het doelcluster.
Voer de volgende opdracht uit om het beleid op databaseniveau toe te passen:
.alter-merge database <database name> policy managed_identity "[ { 'ObjectId' : '<managed_identity_id>', 'AllowedUsages' : 'NativeIngestion' }]"
Voer de volgende opdracht uit om het beleid op clusterniveau toe te passen:
.alter-merge cluster policy managed_identity "[ { 'ObjectId' : '<managed_identity_id>', 'AllowedUsages' : 'NativeIngestion' }]"
Vervang door <managed_identity_id>
de object-id van de vereiste beheerde identiteit.
Notitie
U moet de All Database Admin
machtiging voor het cluster hebben om het beleid voor beheerde identiteiten te bewerken.
Blobs in de wachtrij plaatsen voor opname met een beheerde identiteit met behulp van kusto SDK
Wanneer u gegevens opneemt met behulp van een Kusto SDK, genereert u uw blob-URI met behulp van verificatie van beheerde identiteit door toe te voegen aan ;managed_identity={objectId}
de niet-geautoriseerde blob-URI. Als u gegevens opneemt met behulp van de door het systeem toegewezen beheerde identiteit van uw cluster, kunt u toevoegen ;managed_identity=system
aan de blob-URI.
Belangrijk
U moet een opnameclient in de wachtrij gebruiken. Het gebruik van beheerde identiteiten met directe opname of inline-opname in Kusto-querytaal wordt niet ondersteund.
Hier volgen voorbeelden van blob-URI's voor door het systeem en de gebruiker toegewezen beheerde identiteiten.
- Door het systeem toegewezen:
https://demosa.blob.core.windows.net/test/export.csv;managed_identity=system
- Aan de gebruiker toegewezen:
https://demosa.blob.core.windows.net/test/export.csv;managed_identity=6a5820b9-fdf6-4cc4-81b9-b416b444fd6d
Belangrijk
- Wanneer u beheerde identiteiten gebruikt om gegevens op te nemen met de C#-SDK, moet u een blobgrootte opgeven in
BlobSourceOptions
. Als de grootte niet is ingesteld, probeert de SDK de blobgrootte in te vullen door toegang te krijgen tot het opslagaccount, wat resulteert in een fout. - De grootteparameter moet de onbewerkte (niet-gecomprimeerde) gegevensgrootte zijn en niet noodzakelijkerwijs de blobgrootte.
- Als u de grootte niet weet op het moment van opname, kunt u een waarde van nul (0) opgeven. De service probeert de grootte te detecteren met behulp van de beheerde identiteit voor verificatie.