Delen via


Sleutel voor gebruikersdelegatie ophalen

De Get User Delegation Key bewerking haalt een sleutel op die kan worden gebruikt voor het ondertekenen van een SAS voor gebruikersdelegatie (Shared Access Signature). Een SAS voor gebruikersdelegering verleent toegang tot Azure Blob Storage resources met behulp van Microsoft Entra referenties. De Get User Delegation Key bewerking is beschikbaar in versie 2018-11-09 en hoger.

Aanvraag

Maak de Get User Delegation Key als volgt. HTTPS is vereist. Vervang myaccount door de naam van uw opslagaccount.

AANVRAAG-URI voor POST-methode HTTP-versie
https://myaccount.blob.core.windows.net/?restype=service&comp=userdelegationkey HTTP/1.1

Aanvraag voor geƫmuleerde opslagservice

Wanneer u een aanvraag indient bij de lokale opslagservice, geeft u de lokale hostnaam en blobopslagpoort op als 127.0.0.1:10000, gevolgd door de naam van het lokale opslagaccount:

AANVRAAG-URI voor POST-methode HTTP-versie
http://127.0.0.1:10000/devstoreaccount1/?restype=service&comp=userdelegationkey HTTP/1.1

Zie Use the Azurite emulator for local Azure Storage development (De Azurite-emulator gebruiken voor lokale Azure Storage-ontwikkeling) voor meer informatie.

URI-parameters

De volgende aanvullende parameters kunnen worden opgegeven voor de aanvraag-URI.

Parameter Beschrijving
timeout Optioneel. De timeout parameter wordt uitgedrukt in seconden. Zie Time-outs instellen voor Blob Storage-bewerkingen voor meer informatie.

Aanvraagheaders

In de volgende tabel worden vereiste en optionele aanvraagheaders beschreven.

Aanvraagheader Beschrijving
Authorization Vereist. Hiermee geeft u het autorisatieschema op. Alleen autorisatie met Microsoft Entra ID wordt ondersteund. Zie Autoriseren met Microsoft Entra ID voor meer informatie.
x-ms-version Vereist voor alle geautoriseerde aanvragen. Zie Versiebeheer voor de Azure Storage-services voor meer informatie.
x-ms-client-request-id Optioneel. Biedt een door de client gegenereerde, ondoorzichtige waarde met een limiet van 1 kibibyte (KiB) die wordt vastgelegd in de logboeken wanneer logboekregistratie is geconfigureerd. We raden u ten zeerste aan deze header te gebruiken om activiteiten aan de clientzijde te correleren met aanvragen die de server ontvangt. Zie Azure Blob Storage bewaken voor meer informatie.

Aanvraagbody

De indeling van de aanvraagbody is als volgt:

<?xml version="1.0" encoding="utf-8"?>  
<KeyInfo>  
    <Start>String, formatted ISO Date</Start>
    <Expiry>String, formatted ISO Date </Expiry>
</KeyInfo>  

De elementen van de aanvraagbody worden beschreven in de volgende tabel:

Element Beschrijving
Begin Vereist. De begintijd voor de SAS voor gebruikersdelegatie, in ISO-datumnotatie. Het moet een geldige datum en tijd zijn binnen zeven dagen na de huidige datum.
Vervaldatum Vereist. De verlooptijd van de SAS voor gebruikersdelegatie, in ISO-datumnotatie. Het moet een geldige datum en tijd zijn binnen zeven dagen na de huidige datum.

Antwoord

Het antwoord bevat een HTTP-statuscode en een set antwoordheaders.

Statuscode

Een geslaagde bewerking retourneert statuscode 200 (OK).

Zie Status- en foutcodes voor meer informatie over statuscodes.

Antwoordheaders

Het antwoord voor deze bewerking bevat de volgende headers. Het antwoord kan ook extra standaard-HTTP-headers bevatten. Alle standaardheaders voldoen aan de HTTP/1.1-protocolspecificatie.

Antwoordheader Description
x-ms-request-id Identificeert op unieke wijze de aanvraag die is gedaan en kan worden gebruikt om problemen met de aanvraag op te lossen. Zie Problemen met API-bewerkingen oplossen voor meer informatie.
x-ms-version De Blob Storage-versie die is gebruikt om de aanvraag uit te voeren.
Date Een UTC-datum/tijd-waarde die wordt gegenereerd door de service, die de tijd aangeeft waarop het antwoord is gestart.
x-ms-client-request-id Kan worden gebruikt om problemen met aanvragen en bijbehorende antwoorden op te lossen. De waarde van deze header is gelijk aan de waarde van de x-ms-client-request-id header als deze aanwezig is in de aanvraag en de waarde niet meer dan 1024 zichtbare ASCII-tekens bevat. Als de x-ms-client-request-id header niet aanwezig is in de aanvraag, is deze niet aanwezig in het antwoord.

Hoofdtekst van de reactie

De indeling van de antwoordtekst is als volgt:

<?xml version="1.0" encoding="utf-8"?>
<UserDelegationKey>
    <SignedOid>String containing a GUID value</SignedOid>
    <SignedTid>String containing a GUID value</SignedTid>
    <SignedStart>String formatted as ISO date</SignedStart>
    <SignedExpiry>String formatted as ISO date</SignedExpiry>
    <SignedService>b</SignedService>
    <SignedVersion>String specifying REST api version to use to create the user delegation key</SignedVersion>
    <Value>String containing the user delegation key</Value>
</UserDelegationKey>

De elementen van de antwoordtekst worden beschreven in de volgende tabel:

Element Beschrijving
SignedOid De onveranderbare id voor een object in het Microsoft-identiteitssysteem.
SignedTid Een GUID die de Microsoft Entra tenant vertegenwoordigt waaruit de gebruiker afkomstig is.
SignedStart De begintijd van de sleutel voor gebruikersdelegatie, in ISO-datumnotatie.
SignedExpiry De verlooptijd van de sleutel voor gebruikersdelegatie, in ISO-datumnotatie.
SignedService De service waarvoor de gebruikersdelegatiesleutel kan worden gebruikt, waarbij b Blob Storage vertegenwoordigt.
SignedVersion De REST API-versie die wordt gebruikt om de sleutel voor gebruikersdelegatie op te halen.
Waarde De sleutel voor gebruikersdelegatie.

Autorisatie

Autorisatie is vereist bij het aanroepen van een bewerking voor gegevenstoegang in Azure Storage. U kunt de Get User Delegation Key bewerking alleen autoriseren met behulp van Microsoft Entra ID.

Machtigingen

De beveiligingsprincipal die de sleutel voor gebruikersdelegatie aanvraagt, moet de juiste machtigingen hebben om dit te doen. Een Microsoft Entra beveiligingsprincipal kan een gebruiker, een groep, een service-principal of een beheerde identiteit zijn.

Hieronder ziet u de RBAC-actie die nodig is voor een Microsoft Entra beveiligingsprincipal om de Get User Delegation Key bewerking aan te roepen, en de ingebouwde Azure RBAC-rol met de minste bevoegdheden die deze actie omvat:

Elke ingebouwde rol die deze Azure RBAC-actie omvat, expliciet of als onderdeel van een jokertekendefinitie, mag de Get User Delegation Key bewerking aanroepen.

Zie Een Azure-rol toewijzen voor toegang tot blobgegevens voor meer informatie over het toewijzen van rollen met behulp van Azure RBAC.

Omdat de Get User Delegation Key bewerking op het niveau van het opslagaccount wordt uitgevoerd, moet de actie Microsoft.Storage/storageAccounts/blobServices/generateUserDelegationKey worden ingesteld op het niveau van het opslagaccount, de resourcegroep of het abonnement. Als aan de beveiligingsprincipal een van de eerder vermelde ingebouwde rollen is toegewezen, of een aangepaste rol met de actie Microsoft.Storage/storageAccounts/blobServices/generateUserDelegationKey , op het niveau van het opslagaccount, de resourcegroep of het abonnement, kan de beveiligingsprincipal de gebruikersdelegeringssleutel aanvragen.

Als aan de beveiligingsprincipal een rol is toegewezen die toegang tot gegevens toestaat, maar het bereik heeft tot het niveau van een container, kunt u de rol Storage Blob Delegator ook toewijzen aan die beveiligingsprincipal op het niveau van het opslagaccount, de resourcegroep of het abonnement. De rol Storage Blob Delegator verleent de beveiligingsprincipal machtigingen om de gebruikersdelegatiesleutel aan te vragen.

Zie Autoriseren met Azure Active Directory voor meer informatie over RBAC-rollen voor Azure Storage.

Opmerkingen

Gebruik de sleutel voor gebruikersdelegatie om een SAS voor gebruikersdelegatie te maken. Neem de velden op die worden geretourneerd in het antwoord op de Get User Delegation Key in het SAS-token voor gebruikersdelegatie. Zie Een SAS voor gebruikersdelegering maken voor meer informatie.

De sleutel voor gebruikersdelegatie kan niet worden gebruikt om rechtstreeks toegang te krijgen tot Blob Storage-resources.

Billing

Prijsaanvragen kunnen afkomstig zijn van clients die gebruikmaken van Blob Storage-API's, rechtstreeks via de Blob Storage REST API of vanuit een Azure Storage-clientbibliotheek. Met deze aanvragen worden kosten per transactie in rekening gebracht. Het type transactie is van invloed op de manier waarop de rekening in rekening wordt gebracht. Leestransacties worden bijvoorbeeld toegevoegd aan een andere factureringscategorie dan schrijftransacties. In de volgende tabel ziet u de factureringscategorie voor Get User Delegation Key aanvragen op basis van het type opslagaccount:

Bewerking Type opslagaccount Factureringscategorie
Sleutel voor gebruikersdelegatie ophalen Premium-blok-blob
Standard v2 voor algemeen gebruik
Andere bewerkingen
Sleutel voor gebruikersdelegatie ophalen Standard v1 voor algemeen gebruik Leesbewerkingen

Zie prijzen voor Azure Blob Storage voor meer informatie over prijzen voor de opgegeven factureringscategorie.

Zie ook