Obtenir la clé de délégation d’utilisateur
L’opération Get User Delegation Key
obtient une clé qui peut être utilisée pour signer une signature d’accès partagé (SAS) de délégation d’utilisateur. Une SAP de délégation d’utilisateur accorde l’accès aux ressources Stockage Blob Azure à l’aide des informations d’identification Microsoft Entra. L’opération Get User Delegation Key
est disponible dans la version 2018-11-09 et ultérieure.
Requête
Construisez Get User Delegation Key
comme suit. HTTPS est obligatoire. Remplacez myaccount par le nom de votre compte de stockage.
URI de requête 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 effectuez une demande auprès du service de stockage local, spécifiez le nom d’hôte local et le port de stockage Blob comme 127.0.0.1:10000
, suivi du nom du compte de stockage local :
URI de requête 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 à des fins de développement local pour Stockage Azure.
Paramètres URI
Les paramètres supplémentaires suivants peuvent être spécifiés dans l'URI de la demande.
Paramètre | Description |
---|---|
timeout |
facultatif. Le paramètre timeout est exprimé en secondes. Pour plus d’informations, consultez Définir des délais d’attente pour les opérations de stockage Blob. |
En-têtes de requête
Le tableau suivant décrit les en-têtes de demande obligatoires ou facultatifs.
En-tête de requête | Description |
---|---|
Authorization |
Obligatoire. Spécifie 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 |
Obligatoire 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 |
facultatif. Fournit une valeur opaque générée par le client avec une limite de caractères de 1 kibioctet (Kio) 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 que le serveur reçoit. Pour plus d’informations, consultez Surveiller Stockage Blob Azure. |
Corps de la demande
Le corps de la demande présente le format suivant :
<?xml version="1.0" encoding="utf-8"?>
<KeyInfo>
<Start>String, formatted ISO Date</Start>
<Expiry>String, formatted ISO Date </Expiry>
</KeyInfo>
Les éléments du corps de la requête sont décrits dans le tableau suivant :
Élément | Description |
---|---|
Start | Obligatoire. Heure de début de la sape de délégation d’utilisateur, au format DE date ISO. Il doit s’agir d’une date et d’une heure valides dans les sept jours suivant la date actuelle. |
Expiration | Obligatoire. Heure d’expiration de la sape de délégation d’utilisateur, au format DE date ISO. Il doit s’agir d’une date et d’une heure valides dans les sept jours suivant la date actuelle. |
response
La réponse inclut un code d'état HTTP et un ensemble d'en-têtes de réponse.
Code d’état
Une opération réussie envoie le code d'état 200 (OK).
Pour plus d’informations sur les codes status, consultez Codes d’état et d’erreur.
En-têtes de réponse
La réponse de l'opération inclut les en-têtes suivants. La réponse peut aussi inclure des en-têtes HTTP standard supplémentaires. Tous les en-têtes standard sont conformes à la spécification du protocole HTTP/1.1.
En-tête de réponse | Description |
---|---|
x-ms-request-id |
Identifie de manière unique la demande qui a été effectuée et peut être utilisée pour résoudre la demande. Pour plus d’informations, consultez Résoudre les problèmes liés aux opérations d’API. |
x-ms-version |
Version de Stockage Blob utilisée pour exécuter la demande. |
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 demande, il ne sera pas présent dans la réponse. |
Response body
Le corps de la réponse présente le format 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>
<Value>String containing the user delegation key</Value>
</UserDelegationKey>
Les éléments du corps de la réponse sont décrits dans le tableau suivant :
Élément | Description |
---|---|
SignedOid | Identificateur immuable d’un objet dans le système d’identité Microsoft. |
SignedTid | GUID qui représente le locataire Microsoft Entra dont l’utilisateur est issu. |
SignedStart | Heure de début de la clé de délégation utilisateur, au format de date ISO. |
SignedExpiry | Heure d’expiration de la clé de délégation utilisateur, au format de date ISO. |
SignedService | Service pour lequel la clé de délégation d’utilisateur peut être utilisée, où b représente le Stockage Blob. |
SignedVersion | Version de l’API REST utilisée pour obtenir la clé de délégation utilisateur. |
Valeur | Clé de délégation utilisateur. |
Autorisation
Une 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 qu’à l’aide Get User Delegation Key
de Microsoft Entra ID.
Autorisations
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é managée.
Vous trouverez ci-dessous l’action RBAC nécessaire pour qu’un principal de sécurité Microsoft Entra appelle l’opérationGet User Delegation Key
, ainsi que le rôle Azure RBAC intégré le moins privilégié qui inclut cette action :
- Action RBAC Azure :Microsoft.Storage/storageAccounts/blobServices/generateUserDelegationKey/action
- Rôle intégré avec privilèges minimum :Délegator d’objets blob de stockage
Tout rôle intégré qui inclut cette action RBAC Azure, explicitement ou dans le cadre d’une définition générique, 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’objets blob.
Étant donné que l’opération Get User Delegation Key
agit au niveau du compte de stockage, l’action Microsoft.Storage/storageAccounts/blobServices/generateUserDelegationKey doit être étendue au niveau du compte de stockage, du groupe de ressources ou de l’abonnement. Si le principal de sécurité se voit attribuer l’un des rôles intégrés précédemment répertoriés ou un rôle personnalisé qui inclut 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é peut demander la clé de délégation utilisateur.
Si le principal de sécurité se voit attribuer un rôle qui autorise l’accès aux données, mais est limité au niveau d’un conteneur, vous pouvez en outre attribuer le rôle De délégant 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 délégant Blob de stockage accorde au principal de sécurité des autorisations pour demander la clé de délégation utilisateur.
Pour plus d’informations sur les rôles RBAC pour Stockage Azure, consultez Autoriser avec Azure Active Directory.
Remarques
Utilisez la clé de délégation utilisateur pour créer une sap de délégation d’utilisateur. Incluez les champs retournés sur la réponse au Get User Delegation Key
dans le jeton SAP de délégation utilisateur. Pour en savoir plus, consultez Créer une SAP 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 stockage Blob.
Facturation
Les demandes de tarification peuvent provenir de clients qui utilisent des API Stockage Blob, soit directement via l’API REST Stockage Blob, soit à partir d’une bibliothèque cliente stockage Azure. Ces demandes cumulent des frais par transaction. Le type de transaction affecte la façon dont le compte est facturé. Par exemple, les transactions de lecture sont comptabilisées dans une catégorie de facturation différente de celle des transactions en écriture. Le tableau suivant montre la catégorie de facturation pour Get User Delegation Key
les 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 | Usage général v1 standard | Lire les opérations |
Pour en savoir plus sur la tarification de la catégorie de facturation spécifiée, consultez Stockage Blob Azure Tarification.