Partager via


Blob Get Clé de Délégation Utilisateur

L’opération Get User Delegation Key reçoit une clé qui peut être utilisée pour signer une signature d’accès partagé (SAS de délégation utilisateur). Une délégation utilisateur SAS accorde l’accès aux ressources Azure Blob Storage en utilisant les identifiants Microsoft Entra. L’opération Get User Delegation Key est disponible en version 2018-11-09 et ultérieure.

Requête

Construisons les Get User Delegation Key éléments comme suit. HTTPS est obligatoire. Remplacez myaccount par le nom de votre compte de stockage.

URI de demande de méthode POST Version HTTP
https://myaccount.blob.core.windows.net/?restype=service&comp=userdelegationkey HTTP/1.1

Demande de service de stockage émulée

Lorsque vous faites une requête auprès du service de stockage local, spécifiez le nom d’hôte local et le port Blob Storage comme 127.0.0.1:10000, suivis du nom du compte de stockage local :

URI de demande de méthode POST Version HTTP
http://127.0.0.1:10000/devstoreaccount1/?restype=service&comp=userdelegationkey HTTP/1.1

Pour plus d’informations, consultez Utiliser l’émulateur Azurite pour le développement Azure Storage local.

Paramètres d’URI

Les paramètres supplémentaires suivants peuvent être spécifiés sur l’URI de la requête.

Paramètre Descriptif
timeout Optional. Le paramètre timeout est exprimé en secondes. Pour plus d’informations, consultez Définir des délais d’expiration pour les opérations de Stockage Blob.

En-têtes de requête

Le tableau suivant décrit les en-têtes de requête obligatoires et facultatifs.

En-tête de requête Descriptif
Authorization Obligatoire. Précise le schéma d’autorisation. Seule l’autorisation avec Microsoft Entra ID est prise en charge. Pour plus d’informations, consultez Autoriser avec Microsoft Entra ID.
x-ms-version Requis pour toutes les demandes autorisées. Pour plus d'informations, consultez la page Contrôle de version pour les services de Stockage Microsoft Azure.
x-ms-client-request-id Optional. Fournit une valeur opaque générée par le client avec une limite de caractères de 1 kibioctet (KiB) enregistrée dans les journaux lors de la configuration de la journalisation. Nous vous recommandons vivement d’utiliser cet en-tête pour mettre en corrélation les activités côté client avec les demandes reçues par le serveur. Pour plus d’informations, consultez Surveiller le stockage Blob Azure.

Corps de la requête

Le format de l’organisme de la demande est le suivant :

<?xml version="1.0" encoding="utf-8"?>  
<KeyInfo>  
    <Start>String, formatted ISO Date</Start>
    <Expiry>String, formatted ISO Date </Expiry>
    <DelegatedUserTid>Optional. String, The delegated user tenant id in Microsoft Entra ID</DelegatedUserTid>
</KeyInfo>  

Les éléments du corps de la requête sont décrits dans le tableau suivant :

Élément Descriptif
Démarrer Obligatoire. L’heure de début de la délégation utilisateur SAS, au format ISO date. Il doit y avoir une date et une heure valides dans les sept jours suivant la date actuelle.
Expiration Obligatoire. Le délai d’expiration de la délégation utilisateur SAS, au format de date ISO. Il doit y avoir une date et une heure valides dans les sept jours suivant la date actuelle.
DelegatedUserTid Optional. Un GUID représentant le tenant Microsoft Entra dont provient l’utilisateur délégué.

Réponse

La réponse inclut un code d’état HTTP et un ensemble d’en-têtes de réponse.

Code de statut

Une opération réussie renvoie le code de statut 200 (OK).

Pour plus d’informations sur les codes d’état, consultez Les codes d’état et d’erreur.

En-têtes de réponse

La réponse de cette opération inclut les en-têtes suivants. La réponse peut également inclure des en-têtes HTTP standard supplémentaires. Tous les en-têtes standard sont conformes à la spécification de protocole HTTP/1.1.

En-tête de réponse Descriptif
x-ms-request-id Identifie de manière unique la requête effectuée et peut être utilisée pour dépanner la requête. Pour plus d’informations, consultez Résoudre les problèmes d’opérations d’API.
x-ms-version La version Blob Storage utilisée pour exécuter la requête.
Date Valeur de date/heure UTC générée par le service, qui indique l’heure à laquelle la réponse a été lancée.
x-ms-client-request-id Peut être utilisé pour résoudre les problèmes liés aux demandes et aux réponses correspondantes. La valeur de cet en-tête est égale à la valeur de l’en-tête x-ms-client-request-id s’il est présent dans la requête et que la valeur ne contient pas plus de 1 024 caractères ASCII visibles. Si l’en-tête x-ms-client-request-id n’est pas présent dans la requête, il ne sera pas présent dans la réponse.

Corps de réponse

Le format du corps de la réponse est le suivant :

<?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>
    <SignedDelegatedUserTid>String containing a GUID value</SignedDelegatedUserTid>
    <Value>String containing the user delegation key</Value>
</UserDelegationKey>

Les éléments du corps de réponse sont décrits dans le tableau suivant :

Élément Descriptif
SignedOid L’identifiant immuable d’un objet dans le système d’identité Microsoft.
SignéTid Un GUID représentant le tenant Microsoft Entra dont l’utilisateur provient.
SignedStart L’heure de début de la clé de délégation utilisateur, au format ISO date.
SignedExpiry Le temps d’expiration de la clé de délégation utilisateur, au format ISO date.
Service signé Le service pour lequel la clé de délégation utilisateur peut être utilisée, où b représente le stockage de blobs.
Version signée La version de l’API REST utilisée pour obtenir la clé de délégation utilisateur.
SignedDelegatedUserTid Un GUID représentant le tenant Microsoft Entra dont provient l’utilisateur délégué. Ne revient que lorsque DelegatedUserTid est spécifié.
Valeur La clé de délégation utilisateur.

Authorization

L’autorisation est requise lors de l’appel d’une opération d’accès aux données dans Stockage Azure. Vous ne pouvez autoriser l’opération Get User Delegation Key qu’en utilisant Microsoft Entra ID.

Permissions

Le principal de sécurité qui demande la clé de délégation utilisateur doit disposer des autorisations appropriées pour le faire. Un principal de sécurité Microsoft Entra peut être un utilisateur, un groupe, un principal de service ou une identité gérée.

Voici l’action RBAC nécessaire pour qu’un principal de sécurité Microsoft Entra appelle l’opération Get User Delegation Key , ainsi que le rôle RBAC intégré Azure le moins privilégié qui inclut cette action :

Tout rôle intégré incluant cette action Azure RBAC, explicitement ou dans une définition de joker, est autorisé à appeler l’opération Get User Delegation Key .

Pour en savoir plus sur l’attribution de rôles à l’aide d’Azure RBAC, consultez Attribuer un rôle Azure pour l’accès aux données d’objet blob.

Parce que l’opération Get User Delegation Key agit au niveau du compte de stockage, l’action Microsoft.Storage/storageAccounts/blobServices/generateUserDelegationKey doit être portée au niveau du compte de stockage, du groupe de ressources ou de l’abonnement. Si le responsable de sécurité se voit attribuer l’un des rôles intégrés précédemment listés, ou un rôle personnalisé incluant l’action Microsoft.Storage/storageAccounts/blobServices/generateUserDelegationKey , au niveau du compte de stockage, du groupe de ressources ou de l’abonnement, le principal de sécurité pourra demander la clé de délégation utilisateur.

Si le principal de sécurité se voit attribuer un rôle permettant l’accès aux données mais qui est limité au niveau d’un conteneur, vous pouvez en outre attribuer le rôle de Délégateur de Blob de Stockage à ce principal de sécurité au niveau du compte de stockage, du groupe de ressources ou de l’abonnement. Le rôle de Storage Blob Delegator accorde au principal de sécurité les permissions de demander la clé de délégation utilisateur.

Pour plus d’informations sur les rôles RBAC pour Azure Storage, voir Autoriser avec Azure Active Directory.

Remarques

Utilisez la clé de délégation utilisateur pour créer un SAS de délégation utilisateur. Incluez les champs retournés sur la réponse à la Get User Delegation Key dans la jeton SAS de la délégation utilisateur. Pour en savoir plus, consultez Créer une SAS de délégation d’utilisateur.

La clé de délégation utilisateur ne peut pas être utilisée pour accéder directement aux ressources de Blob Storage.

Facturation

Les demandes de tarification peuvent provenir de clients qui utilisent des API de Stockage Blob, soit directement via l’API REST de Stockage Blob, soit à partir d’une bibliothèque cliente de Stockage Azure. Ces demandes entraînent des frais par transaction. Le type d’opération affecte la façon dont le compte est débité. Par exemple, les transactions lues sont comptabilisées dans une catégorie de facturation différente de celle des transactions d’écriture. Le tableau suivant indique la catégorie de facturation des Get User Delegation Key demandes en fonction du type de compte de stockage :

Opération Type de compte de stockage Catégorie de facturation
Obtenir la clé de délégation d’utilisateur Objet blob de blocs Premium
Usage général v2 standard
Autres opérations
Obtenir la clé de délégation d’utilisateur Standard v1 à usage général Opérations de lecture

Pour en savoir plus sur la tarification de la catégorie de facturation spécifiée, consultez Tarification du stockage Blob Azure.

Voir aussi