Sdílet prostřednictvím


Získání klíče pro delegování uživatele

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

Žádost

Get User Delegation Key Sestavte ho následujícím způsobem. Https je povinný. Nahraďte myaccount názvem vašeho účtu úložiště.

Identifikátor URI požadavku metody POST Verze PROTOKOLU HTTP
https://myaccount.blob.core.windows.net/?restype=service&comp=userdelegationkey HTTP/1.1

Žádost o službu emulovaného úložiště

Při vytváření požadavku na místní službu úložiště zadejte název místního hostitele a port služby Blob Storage a 127.0.0.1:10000pak název místního účtu úložiště:

Identifikátor URI požadavku metody POST Verze PROTOKOLU HTTP
http://127.0.0.1:10000/devstoreaccount1/?restype=service&comp=userdelegationkey HTTP/1.1

Další informace najdete v tématu Použití emulátoru Azurite pro vývoj v místním úložišti Azure Storage.

Parametry identifikátoru URI

V identifikátoru URI požadavku je možné zadat následující další parametry.

Parametr Popis
timeout Nepovinný parametr. Parametr se timeout vyjadřuje v sekundách. Další informace najdete v tématu Nastavení časových limitů pro operace služby Blob Storage.

Hlavičky požadavku

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

Hlavička požadavku Popis
Authorization Povinná hodnota. Určuje schéma autorizace. Podporuje se pouze autorizace s Microsoft Entra ID. Další informace najdete v tématu Autorizace pomocí Microsoft Entra ID.
x-ms-version Vyžaduje se pro všechny autorizované žádosti. Další informace najdete v tématu Správa verzí pro služby Azure Storage.
x-ms-client-request-id Nepovinný parametr. Poskytuje klientem vygenerovanou neprůselnou hodnotu s limitem počtu znaků 1 kibibajt (KiB), který je zaznamenán v protokolech 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í Azure Blob Storage.

Text požadavku

Text požadavku má následující formát:

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

Prvky textu požadavku jsou popsány v následující tabulce:

Element Popis
Zahájení Povinná hodnota. Počáteční čas SAS delegování uživatele ve formátu data ISO. Musí to být platné datum a čas do sedmi dnů od aktuálního data.
Vypršení platnosti Povinná hodnota. Čas vypršení platnosti SAS delegování uživatele ve formátu data ISO. Musí to být platné datum a čas do sedmi dnů od aktuálního data.

Odpověď

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 Kódy stavu a chyb.

Hlavičky odpovědi

Odpověď na tuto operaci obsahuje následující hlavičky. Odpověď může také obsahovat 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 Jednoznačně identifikuje požadavek, který byl proveden, a lze ho použít k řešení potíží s požadavkem. Další informace najdete v tématu Řešení potíží s operacemi rozhraní API.
x-ms-version Verze služby Blob Storage, která se použila ke spuštění požadavku.
Date Hodnota data a času UTC vygenerovaná službou, která označuje čas, kdy byla odpověď inicializována.
x-ms-client-request-id Dá se použít k řešení potíží s požadavky a odpovídajícími odpověďmi. Hodnota této hlavičky se rovná hodnotě x-ms-client-request-id hlavičky, pokud se nachází v požadavku, a hodnota obsahuje maximálně 1 024 viditelných znaků ASCII. Pokud se hlavička x-ms-client-request-id v požadavku nenachází, v odpovědi se nezobrazí.

Text odpovědi

Text odpovědi má následující formát:

<?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 textu odpovědi jsou popsány v následující tabulce:

Element Popis
SignedOid Neměnný identifikátor objektu v systému identit Microsoftu.
SignedTid Identifikátor GUID představující Microsoft Entra tenanta, ze kterého uživatel pochází.
SignedStart Počáteční čas klíče delegování uživatele ve formátu data ISO.
SignedExpiry Doba vypršení platnosti klíče delegování uživatele ve formátu data ISO.
SignedService Služba, pro kterou je možné použít klíč delegování uživatele, kde b představuje službu Blob Storage.
SignedVersion Verze rozhraní REST API, která se používá k získání klíče delegování uživatele.
Hodnota Klíč delegování uživatele.

Autorizace

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.

Oprávnění

Objekt zabezpečení, který vyžaduje klíč delegování uživatele, k tomu musí mít příslušná oprávnění. Microsoft Entra objektem zabezpečení může být uživatel, skupina, instanční objekt nebo spravovaná identita.

Níže jsou uvedené akce RBAC nezbytné pro volání Get User Delegation Key operace Microsoft Entra objektu zabezpečení a předdefinovaná role Azure RBAC s nejnižšími oprávněními, která tuto akci zahrnuje:

Libovolná předdefinovaná role, která zahrnuje tuto akci Azure RBAC, ať už explicitně, nebo jako součást definice zástupných znaků, může operaci volat Get User Delegation Key .

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.

Vzhledem k tomu, že Get User Delegation Key operace funguje na úrovni účtu úložiště, musí být akce Microsoft.Storage/storageAccounts/blobServices/generateUserDelegationKey vymezená na úrovni účtu úložiště, skupiny prostředků nebo předplatného. Pokud má objekt zabezpečení přiřazenou některou z dříve uvedených předdefinovaných rolí nebo vlastní roli, která zahrnuje akci Microsoft.Storage/storageAccounts/blobServices/generateUserDelegationKey , bude si objekt zabezpečení moct na úrovni účtu úložiště, skupiny prostředků nebo předplatného vyžádat klíč delegování uživatele.

Pokud je objektu zabezpečení přiřazená role, která povoluje přístup k datům, ale je vymezená na úroveň kontejneru, můžete k ho objektu zabezpečení navíc přiřadit roli Delegovatel objektů blob služby Storage na úrovni účtu úložiště, skupiny prostředků nebo předplatného. Role Delegovatel objektů blob služby Storage uděluje objektu zabezpečení oprávnění k vyžádání klíče delegování uživatele.

Další informace o rolích RBAC pro Azure Storage najdete v tématu Autorizace pomocí Azure Active Directory.

Poznámky

Pomocí klíče delegování uživatele vytvořte SAS delegování uživatele. Zahrňte pole, která se vrátí při odpovědi na Get User Delegation Key v tokenu SAS delegování uživatele. Další informace najdete v tématu Vytvoření SAS delegování uživatele.

Klíč delegování uživatele nejde použít k přímému přístupu k prostředkům služby Blob Storage.

Fakturace

Žádosti o ceny můžou pocházet od klientů, kteří používají rozhraní BLOB Storage API, a to buď přímo prostřednictvím rozhraní REST API služby Blob Storage, nebo z klientské knihovny Služby Azure Storage. Tyto požadavky načítají poplatky za transakci. Typ transakce ovlivňuje způsob účtování poplatku za účet. Například transakce čtení se načítají do jiné kategorie fakturace než transakce zápisu. Následující tabulka ukazuje kategorii fakturace pro Get User Delegation Key žádosti založené na typu účtu úložiště:

Operace 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 v2
Další operace
Získání klíče delegování uživatele Standard pro obecné účely v1 Operace čtení

Informace o cenách pro zadanou kategorii fakturace najdete v tématu Azure Blob Storage Ceny.

Viz také