获取用户委派密钥后如何创建用户委派SAS

How to create user delegation SAS after getting User Delegation key

我想生成用户委托 SAS 令牌以读取 Azure BLOB 我知道我们必须按照下面的步骤才能得到它。

  1. 从 Azure Ad 获取 oAuth 令牌
  2. 使用 oAuth 令牌生成用户委托密钥
  3. 使用用户委托密钥生成 SAS 令牌

我能够找到第 1 步和第 2 步的 Rest 服务,但找不到第 3 步的任何 Rest 服务。

是否有任何 Rest 服务可用于使用用户委托密钥获取 SAS 令牌

提前致谢。

我能够生成委托密钥,现在我想通过使用此用户委托密钥获取 SAS 令牌。

注意:- 我必须只使用 Rest 服务

AFAIK,没有 REST API 创建用户委派 SAS Token/URL。

获得用户委派密钥(其中应包含创建用户委派 SAS 所需的参数)后,您需要按照此处指定的说明进行操作:https://docs.microsoft.com/en-us/rest/api/storageservices/create-user-delegation-sas#construct-a-user-delegation-sas

更新:

为了签名目的,您需要使用获取用户委派密钥时返回的 Value

这是获取用户委派密钥的响应:

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

您将使用 <Value> 属性的值。请参阅代码 here。 .Net SDK 是这样计算签名的。