您如何使用访问策略授予对容器的访问权限?
How do you grant access to a container using an Access Policy?
我不确定我目前是否理解访问策略的用途,或者至少不知道如何以编程方式使用它们。如果我创建了具有特定权限的存储访问策略,那么我如何以编程方式使用该访问策略?我可以这样创建它(取自 here):
var signedIdentifiers = new List<BlobSignedIdentifier>
{
new BlobSignedIdentifier
{
Id = "SomeIdentifier",
AccessPolicy = new BlobAccessPolicy
{
StartsOn = DateTime.UtcNow,
ExpiresOn = DateTime.UtcNow.AddMinutes(30),
Permissions = "w"
}
}
};
await containerClient.SetAccessPolicyAsync(permissions: signedIdentifiers);
我已经创建了访问策略,那么我现在如何使用该访问策略创建对该容器的访问?我需要以某种方式生成 SAS 吗?如果是这样,SAS 将如何确保它使用来自该访问策略的权限?它是一个列表这一事实表明可以创建多个策略。
So I've create the access policy, so how can I now create access to
that container using that access policy? Do I need to generate a SAS
somehow?
没错。您将需要使用此访问策略生成 SAS 令牌。如果要在 blob 容器上生成 SAS 令牌,则将使用 GenerateSasUri
method and specify the access policy id (signed identifier) as BlobSasBuilder.Identifier
.
If so, how will that SAS make sure it uses the permissions from that
access policy?
当您创建一个使用访问策略的 SAS URL 时,您会注意到 si
查询参数中的 SAS URL 中的访问策略 ID(https://docs.microsoft.com/en-us/rest/api/storageservices/create-service-sas#specifying-the-signed-identifier).这将告诉 Azure 存储使用已签名的访问策略进行 SAS 令牌验证。
The fact it's a list suggests that more than one policy can be
created.
没错。一个 blob 容器最多可以有 5 个访问策略。您可以在这里阅读更多相关信息:https://docs.microsoft.com/en-us/rest/api/storageservices/define-stored-access-policy.
我不确定我目前是否理解访问策略的用途,或者至少不知道如何以编程方式使用它们。如果我创建了具有特定权限的存储访问策略,那么我如何以编程方式使用该访问策略?我可以这样创建它(取自 here):
var signedIdentifiers = new List<BlobSignedIdentifier>
{
new BlobSignedIdentifier
{
Id = "SomeIdentifier",
AccessPolicy = new BlobAccessPolicy
{
StartsOn = DateTime.UtcNow,
ExpiresOn = DateTime.UtcNow.AddMinutes(30),
Permissions = "w"
}
}
};
await containerClient.SetAccessPolicyAsync(permissions: signedIdentifiers);
我已经创建了访问策略,那么我现在如何使用该访问策略创建对该容器的访问?我需要以某种方式生成 SAS 吗?如果是这样,SAS 将如何确保它使用来自该访问策略的权限?它是一个列表这一事实表明可以创建多个策略。
So I've create the access policy, so how can I now create access to that container using that access policy? Do I need to generate a SAS somehow?
没错。您将需要使用此访问策略生成 SAS 令牌。如果要在 blob 容器上生成 SAS 令牌,则将使用 GenerateSasUri
method and specify the access policy id (signed identifier) as BlobSasBuilder.Identifier
.
If so, how will that SAS make sure it uses the permissions from that access policy?
当您创建一个使用访问策略的 SAS URL 时,您会注意到 si
查询参数中的 SAS URL 中的访问策略 ID(https://docs.microsoft.com/en-us/rest/api/storageservices/create-service-sas#specifying-the-signed-identifier).这将告诉 Azure 存储使用已签名的访问策略进行 SAS 令牌验证。
The fact it's a list suggests that more than one policy can be created.
没错。一个 blob 容器最多可以有 5 个访问策略。您可以在这里阅读更多相关信息:https://docs.microsoft.com/en-us/rest/api/storageservices/define-stored-access-policy.