- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已在 Azure 中创建了应用程序注册并添加了对 Azure 存储的访问权限 (user_impersonation):
控制台应用程序使用这些包:
<PackageReference Include="Azure.Identity" Version="1.2.0-preview.6" />
<PackageReference Include="Azure.Storage.Queues" Version="12.4.0-preview.5" />
代码如下:
var tc = new ClientSecretCredential("{tenant-id}", "{client-id}", "{client-secret}");
var client = new QueueClient(new Uri("https://{storage-name}.queue.core.windows.net/example-q"), tc);
// this fails with error
client.SendMessage("msg");
错误信息如下:
Unhandled exception. Azure.RequestFailedException: This request is not authorized to perform this operation using this permission.
RequestId:13f45216-9003-0061-49cf-616632000000
Time:2020-07-24T15:32:44.9586872Z
Status: 403 (This request is not authorized to perform this operation using this permission.)
ErrorCode: AuthorizationPermissionMismatch
Headers:
Server: Windows-Azure-Queue/1.0,Microsoft-HTTPAPI/2.0
x-ms-request-id: 13f45216-9003-0061-49cf-616632000000
x-ms-version: 2018-11-09
x-ms-error-code: AuthorizationPermissionMismatch
Date: Fri, 24 Jul 2020 15:32:44 GMT
Content-Length: 279
Content-Type: application/xml
at Azure.Storage.Queues.QueueRestClient.Messages.EnqueueAsync_CreateResponse(ClientDiagnostics clientDiagnostics, Response response)
at Azure.Storage.Queues.QueueRestClient.Messages.EnqueueAsync(ClientDiagnostics clientDiagnostics, HttpPipeline pipeline, Uri resourceUri, QueueSendMessage message, String version, Nullable`1 visibilitytimeout, Nullable`1 messageTimeToLive, Nullable`1 timeout, String requestId, Boolean async, String operationName, CancellationToken cancellationToken)
at Azure.Storage.Queues.QueueClient.SendMessageInternal(String messageText, Nullable`1 visibilityTimeout, Nullable`1 timeToLive, Boolean async, CancellationToken cancellationToken)
at Azure.Core.Pipeline.TaskExtensions.EnsureCompleted[T](Task`1 task)
at Azure.Storage.Queues.QueueClient.SendMessage(String messageText, Nullable`1 visibilityTimeout, Nullable`1 timeToLive, CancellationToken cancellationToken)
at Azure.Storage.Queues.QueueClient.SendMessage(String messageText)
最佳答案
如果要使用服务主体访问 Azure 队列存储,则必须将 Azure RABC 角色(存储队列数据贡献者)分配给 sp。更多详情请引用document
例如
az login
az ad sp create-for-rbac -n "MyApp" --role 'Storage Queue Data Contributor' \
--scope '/subscriptions/<subscription>/resourceGroups/<resource-group>/providers/Microsoft.Storage/storageAccounts/<storage-account>'
关于azure - 如何使用 Azure.Identity.ClientSecretCredential 访问 Azure 队列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63076867/
我正在尝试通过 azure-identity python 包获取访问 token 以访问 Azure 服务。我在 Azure AD 中完成了应用程序注册,并获得了以下 C# 代码,它按预期工作: p
我正在尝试通过 azure-identity python 包获取访问 token 以访问 Azure 服务。我在 Azure AD 中完成了应用程序注册,并获得了以下 C# 代码,它按预期工作: p
我试图收集特定租户中存在的拒绝分配列表,因此我在此处传递了所需的参数: tenant_id = arguments['tenant_id'] client_id = arguments['client
我试图收集特定租户中存在的拒绝分配列表,因此我在此处传递了所需的参数: tenant_id = arguments['tenant_id'] client_id = arguments['client
我正在尝试使用 DeviceUpdateClient (Azure.IoT.DeviceUpdate) 查询 IoT 中心的设备更新。 MS SDK Doc Hello World Example 我
我已在 Azure 中创建了应用程序注册并添加了对 Azure 存储的访问权限 (user_impersonation): 控制台应用程序使用这些包: 代码如下: var tc = new Cli
我已在 Azure 中创建了应用程序注册并添加了对 Azure 存储的访问权限 (user_impersonation): 控制台应用程序使用这些包: 代码如下: var tc = new Cli
已结束。 这个问题是 not reproducible or was caused by typos .它目前不接受答案。 此问题是由拼写错误或无法再重现的问题引起的。虽然类似的问题可能是 on-to
晚上好,我对另一个人创建和发布的应用程序有疑问。该应用程序停止工作,没有人意识到应用程序注册中的 secret 已过期,因此我更新了它们。现在,如果我尝试启动该应用程序,我收到以下错误消息:未处理的异
我是一名优秀的程序员,十分优秀!