Sdílet prostřednictvím


Blob Získejte delegační klíč uživatele

Operace Get User Delegation Key získá klíč, který lze použít k podepsání delegace uživatele SAS (sdílený přístupový podpis). Uživatelská delegace SAS umožňuje přístup k Azure Blob Storage zdrojům pomocí přihlašovacích údajů Microsoft Entra. Operace Get User Delegation Key je dostupná ve verzi 2018-11-09 a novější.

Žádost

Sestavte to Get User Delegation Key následovně. Vyžaduje se HTTPS. Nahraďte myaccount názvem vašeho účtu úložiště.

POST POST žádost o metodu URI Verze protokolu HTTP
https://myaccount.blob.core.windows.net/?restype=service&comp=userdelegationkey Protokol HTTP/1.1

Žádost o emulovanou službu úložiště

Když podáváte požadavek na lokální úložnou službu, zadejte lokální název hostitele a port Blob Storage jako 127.0.0.1:10000, následovaný názvem místního úložného účtu:

POST POST žádost o metodu URI Verze protokolu HTTP
http://127.0.0.1:10000/devstoreaccount1/?restype=service&comp=userdelegationkey Protokol HTTP/1.1

Další informace najdete v tématu Použití emulátoru Azurite pro místní vývoj ve službě Azure Storage.

Parametry identifikátoru URI

Následující dodatečné parametry mohou být zadány v URI požadavku.

Parameter Description
timeout Optional. Parametr timeout je vyjádřen v sekundách. Další informace najdete v tématu Nastavení časových limitů pro operace služby Blob Storage.

Hlavičky žádosti

Následující tabulka popisuje povinné a volitelné hlavičky požadavků.

Hlavička požadavku Description
Authorization Povinné. Specifikuje autorizační schéma. Podporuje se pouze autorizace pomocí Microsoft Entra ID. Pro více informací viz Autorizace pomocí Microsoft Entra ID.
x-ms-version Vyžadováno pro všechny autorizované požadavky. Další informace najdete v tématu Správa verzí pro služby Azure Storage.
x-ms-client-request-id Optional. Poskytuje klientem generovanou, neprůhlednou hodnotu s limitem znaků 1 kibibajt (KiB), který se zaznamenává do protokolů při konfiguraci protokolování. Důrazně doporučujeme použít tuto hlavičku ke korelaci aktivit na straně klienta s požadavky, které server přijímá. Další informace najdete v tématu Monitorování služby Azure Blob Storage.

Obsah požadavku

Formát těla žádosti je následující:

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

Prvky těla požadavků jsou popsány v následující tabulce:

prvek Description
Spustit Povinné. Čas spuštění uživatelského delegačního SAS, ve formátu ISO dat. Musí být platné datum a čas do sedmi dnů od aktuálního data.
Vypršení Povinné. Doba vypršení uživatelského delegačního SAS ve formátu ISO dat. Musí být platné datum a čas do sedmi dnů od aktuálního data.

Odezva

Odpověď obsahuje stavový kód HTTP a sadu hlaviček odpovědi.

Stavový kód

Úspěšná operace vrátí stavový kód 200 (OK).

Další informace o stavových kódech najdete v tématu Stav a kódy chyb.

Hlavičky odpovědi

Odpověď na tuto operaci obsahuje následující hlavičky. Odpověď může obsahovat také další standardní hlavičky HTTP. Všechny standardní hlavičky odpovídají specifikaci protokolu HTTP/1.1.

Hlavička odpovědi Description
x-ms-request-id Jedinečně identifikuje požadavek, který byl podán, a může být použit k jeho řešení. Další informace najdete v tématu Řešení potíží s operacemi rozhraní API.
x-ms-version Verze Blob Storage, která byla použita k vykonání požadavku.
Date Hodnota data a času UTC vygenerovaná službou, která označuje čas zahájení odpovědi.
x-ms-client-request-id Lze použít k řešení problémů s požadavky a odpovídajícími odpověďmi. Hodnota této hlavičky se rovná hodnotě hlavičky x-ms-client-request-id, pokud se nachází v požadavku a hodnota neobsahuje více než 1 024 viditelných znaků ASCII. Pokud v požadavku není hlavička x-ms-client-request-id, nezobrazí se v odpovědi.

Obsah odpovědi

Formát těla odpovědi je následující:

<?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>

Prvky tělesa odezvy jsou popsány v následující tabulce:

prvek Description
SignedOid Neměnný identifikátor objektu v systému identity Microsoft.
SignedTid GUID, které představuje Microsoft Entra tenant, ze kterého uživatel pochází.
PodepsánoStart Čas spuštění uživatelského delegačního klíče ve formátu ISO dat.
PodepsánoExpirace Doba vypršení delegačního klíče uživatele, ve formátu ISO datu.
Podepsaná služba Služba, pro kterou lze uživatelský delegační klíč použít, kde b představuje úložiště blobů.
Podepsaná verze Verze REST API, která se používá k získání delegačního klíče uživatele.
Hodnota Klíč pro delegaci uživatele.

Authorization

Autorizace se vyžaduje při volání jakékoli operace přístupu k datům ve službě Azure Storage. Operaci můžete autorizovat Get User Delegation Key pouze pomocí Microsoft Entra ID.

Povolení

Bezpečnostní princip, který požaduje delegační klíč uživatele, musí mít k tomu příslušná oprávnění. Bezpečnostní princip Microsoft Entra může být uživatel, skupina, principal služby nebo spravovaná identita.

Níže jsou uvedeny RBAC akce nezbytné pro vyvolání Get User Delegation Key operace bezpečnostním principem Microsoft Entra a nejméně privilegovaná vestavěná role Azure RBAC, která tuto akci obsahuje:

Jakákoli vestavěná role, která obsahuje tuto akci Azure RBAC, ať už explicitně nebo jako součást definice divoké karty, může operaci Get User Delegation Key volat.

Další informace o přiřazování rolí pomocí Azure RBAC najdete v tématu Přiřazení role Azure pro přístup k datům objektů blob.

Protože Get User Delegation Key operace působí na úrovni úložného účtu, musí být akce Microsoft.Storage/storageAccounts/blobServices/generateUserDelegationKey omezena na úroveň úložného účtu, skupiny zdrojů nebo předplatného. Pokud je bezpečnostní principal přiřazen k některé z dříve uvedených vestavěných rolí, nebo vlastní roli, která zahrnuje akci Microsoft.Storage/storageAccounts/blobServices/generateUserDelegationKey , na úrovni úložného účtu, resource group nebo předplatného bude bezpečnostní principal moci požádat o uživatelský delegační klíč.

Pokud je bezpečnostnímu principalovi přiřazena role, která umožňuje přístup k datům, ale je omezena na úroveň kontejneru, můžete navíc přiřadit roli Storage Blob Delegator tomuto bezpečnostnímu principalovi na úrovni úložného účtu, skupiny zdrojů nebo předplatného. Role delegátora Storage Blob uděluje oprávnění bezpečnostního principu žádat o delegační klíč uživatele.

Pro více informací o RBAC rolích pro Azure Storage viz Authorize with Azure Active Directory.

Poznámky

Použijte klávesu delegace uživatele k vytvoření uživatelského delegačního SAS. Zahrňte pole, která se vracejí v odpovědi na uživatelský Get User Delegation Key delegační SAS token. Další informace najdete v tématu Vytvoření SAS delegování uživatele.

Uživatelský delegační klíč nelze použít k přímému přístupu k Blob Storage zdrojům.

Fakturování

Požadavky na stanovení cen mohou pocházet od klientů, kteří používají rozhraní API služby Blob Storage, a to buď přímo prostřednictvím rozhraní REST API služby Blob Storage, nebo z klientské knihovny Azure Storage. Za tyto žádosti se účtují poplatky za transakci. Typ transakce má vliv na způsob účtování poplatků. Například transakce čtení narůstají do jiné fakturační kategorie než transakce zápisu. Následující tabulka uvádí kategorii fakturace pro Get User Delegation Key požadavky na základě typu účtu úložiště:

Operation Typ účtu úložiště Kategorie fakturace
Získání klíče delegování uživatele Objekt blob bloku Úrovně Premium
Standard pro obecné účely verze 2
Další operace
Získání klíče delegování uživatele Standard pro obecné účely verze 1 Operace čtení

Další informace o cenách pro zadanou kategorii fakturace najdete v tématu Ceny služby Azure Blob Storage.

Viz také