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:
- Azure RBAC-actie:Microsoft.Storage/storageAccounts/blobServices/generateUserDelegationKey/action
- Ingebouwde rol met minimale bevoegdheden:Storage Blob Delegator
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.