首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DefaultAzureCredential引发未知错误

DefaultAzureCredential引发未知错误
EN

Stack Overflow用户
提问于 2020-10-17 00:41:52
回答 1查看 127关注 0票数 2

我正在尝试设置Azure webapp服务(使用docker),以使用用户管理的身份访问我的密钥库。我已经设置了一个用户管理的身份,将它分配给我的webapp,并在我正在测试它的密钥库中为它提供了访问策略(参见下面的简化设置)。

在webapp应用程序设置中,我已经包含了AZURE_CLIENT_ID的设置,我已经将该设置设置为我的用户管理身份的客户端id,并将其注入到环境变量中。

我的应用程序是node,我使用的是@azure/identity npm包中的DefaultAzureCredential:

const credential = new DefaultAzureCredential();

我也试过了:

const credential = new DefaultAzureCredential({managedIdentityClientId: '27455443-73e6-4386-aef2-05c8be5586af'});

从我所看到的一切来看,它应该是工作的,但我总是得到以下错误:

代码语言:javascript
复制
AuthenticationError: ManagedIdentityCredential authentication failed.(status code 400).
More details:
unknown_error(status code 400).
More details:
An unknown error occurred and no additional details are available.
    at ManagedIdentityCredential.<anonymous> (/usr/src/app/node_modules/@azure/identity/dist/index.js:1077:23)
    at Generator.throw (<anonymous>)
    at rejected (/usr/src/app/node_modules/tslib/tslib.js:112:69)
    at processTicksAndRejections (internal/process/task_queues.js:97:5)

任何建议都将不胜感激。

App服务标识设置(简称):

代码语言:javascript
复制
            "identity": {
                "type": "UserAssigned",
                "userAssignedIdentities": {
                    "/subscriptions/f3f6b1b3-6e32-4fe1-ac75-41f1b2c8731f/resourcegroups/keyVaultAccess/providers/Microsoft.ManagedIdentity/userAssignedIdentities/accesstokeyvault": {
                        "principalId": "46eeaff7-d686-4a07-8471-90a6f892a1b4",
                        "clientId": "27455443-73e6-4386-aef2-05c8be5586af"
                    }
                }
            },

密钥库访问策略(简称):

代码语言:javascript
复制
                    {
                        "tenantId": "26332e31-5b20-48a7-b449-cdae84c6c7df",
                        "objectId": "46eeaff7-d686-4a07-8471-90a6f892a1b4",
                        "permissions": {
                            "keys": [
                                "Get",
                                "List",
                                "Update",
                                "Create",
                                "Import",
                                "Delete",
                                "Recover",
                                "Backup",
                                "Restore"
                            ],
                            "secrets": [
                                "Get",
                                "List",
                                "Set",
                                "Delete",
                                "Recover",
                                "Backup",
                                "Restore"
                            ],
                            "certificates": [
                                "Get",
                                "List",
                                "Update",
                                "Create",
                                "Import",
                                "Delete",
                                "Recover",
                                "Backup",
                                "Restore",
                                "ManageContacts",
                                "ManageIssuers",
                                "GetIssuers",
                                "ListIssuers",
                                "SetIssuers",
                                "DeleteIssuers"
                            ]
                        }
                    },

用户管理的身份:

代码语言:javascript
复制
    "contentVersion": "1.0.0.0",
    "parameters": {
        "userAssignedIdentities_accesstokeyvault_name": {
            "defaultValue": "accesstokeyvault",
            "type": "String"
        }
    },
    "variables": {},
    "resources": [
        {
            "type": "Microsoft.ManagedIdentity/userAssignedIdentities",
            "apiVersion": "2018-11-30",
            "name": "[parameters('userAssignedIdentities_accesstokeyvault_name')]",
            "location": "westus"
        }
    ]
}
EN

回答 1

Stack Overflow用户

发布于 2021-03-26 23:14:42

我可能已经弄明白了。我没有在函数中使用managedIdentityClientId,而是将环境变量AZURE_CLIENT_ID设置为我的用户管理身份的客户端ID,这似乎起作用了。

我已经有一段时间没有解决这个问题了,所以我不能确定是什么修复了它,但是如果你遇到这个问题,你可能会想要尝试一下。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64393208

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档