Delen via


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:

  1. Meld u aan bij de Azure Portal met een account dat is gekoppeld aan het Azure-abonnement dat uw cluster bevat.

  2. Navigeer naar uw cluster en selecteer Identiteit.

  3. Selecteer het juiste identiteitstype, het systeem of de gebruiker die is toegewezen en kopieer vervolgens de object-id van de vereiste identiteit.

Schermopname van de overzichtspagina, met de id van het door het systeem beheerde identiteitsobject

Machtigingen verlenen aan de beheerde identiteit

  1. Navigeer in de Azure Portal naar het opslagaccount met de gegevens die u wilt opnemen.

  2. Selecteer Access Control en selecteer vervolgens +Roltoewijzing toevoegen>.

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

Schermopname van de pagina Roltoewijzing toevoegen, met de door het systeem toegewezen rol voor opname met behulp van beheerde identiteiten

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.