Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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 :
- Azure RBAC action :Microsoft.Storage/storageAccounts/blobServices/generateUserDelegationKey/action
- Rôle intégré le moins privilégié :Storage Blob Delegator
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.