当前位置: 首页 > 知识库问答 >
问题:

azure sql的azure用户分配标识失败

施晗日
2023-03-14

我正在尝试使用用户分配的标识(来自Azure容器实例)连接到Azure sql数据库。

遵循本指南:https://docs.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/tutorial-windows-vm-access-sql

它适用于系统分配的标识,但不适用于用户分配的标识。当尝试创建包含的用户时,使用用户分配的标识,我得到以下错误

Msg 33134, Level 16, State 1, Line 1
Principal 'user-assigned-identity-name' could not be resolved. Error message: 'AADSTS7000219: 'client_assertion' or 'client_secret' is required for the 'urn:ietf:params:oauth:grant-type:jwt-bearer' grant type

我在这里错过了什么还是我误解了用户分配的身份?它们可以用于登录和查询sql服务器吗?

共有1个答案

闾丘鸣
2023-03-14

您遵循的指南用于系统分配的托管标识,因为它使您能够对支持Azure AD身份验证的服务进行身份验证,而无需在代码中插入凭据。但凭证对于用户分配的托管标识是必需的。

您可以参考此内容,并使用获取access\u令牌的方法。

$response = Invoke-WebRequest -Uri 'http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&client_id=af825a31-b0e0-471f-baea-96de555632f9&resource=https://management.azure.com/' -Method GET -Headers @{Metadata="true"}
$content = $response.Content | ConvertFrom-Json
$ArmToken = $content.access_token
 类似资料:
  • 首先,我应该提到我对Azure功能非常陌生,所以我不知道这项特定服务的固有特性。我认为问题可能是我没有以一种非常“功能式”的方式来看待这个问题。 我正在尝试使用系统分配的服务标识从Azure功能访问存储帐户。然而,无论我如何配置它,它都会抛出一个异常,表示“此请求未被授权使用此权限执行此操作。” 我知道我可以通过授予KeyVault访问权限并使用@Microsoft来访问它。KeyVault,我可

  • 我正在学习本教程,其中要求使用分配给Azure存储帐户的Azure托管标识。https://docs.microsoft.com/en-us/azure/storage/common/customer-managed-keys-overview#about-客户管理的密钥 在本教程中,请参见步骤1。是: Azure Key Vault管理员向与存储帐户关联的托管标识授予加密密钥权限 但是,我找不到

  • 作为Azure SQL数据库自动化解决方案的一部分,我尝试使用服务主体创建映射到Azure AD标识的Azure SQL数据库用户。 结果是一条错误消息:此时无法找到主体AAD_User_UPN_or_Group_Name。请稍后再试。 可以使用我自己的用户帐户创建数据库用户,操作过程完全相同。 请查看以下详细信息: 服务主体是Azure AD安全组的成员 服务主体在AzureSQL数据库中执行以

  • null 更新: 对于用户分配的标识,需要指定对象id或客户端id。

  • 为Azure VMSS和Azure功能应用程序启用了相同的“用户分配的托管身份”。 将MI添加到Azure密钥库的访问策略中。 想知道,为什么在Azure VMSS中使用“DefaultaZureCredential”API时,与在Azure Functional应用程序中需要明确提到“Azure_Client_ID”时,它的行为有差异?这里的理由是什么? 附:上面提到的情况只发生在分配给用户而不

  • 我们需要从Azure应用程序服务和Azure功能运行访问Azure服务总线(ASB)的应用程序。我们需要使用用户指定的身份进行身份验证。我们编写以下代码,用于系统分配的标识,但不用于用户分配的标识: 引发此错误: 所以核心错误是找不到指定ClientId/ResourceId的MSI 。看起来我们需要指定客户端id。然后我们发现https://github.com/Azure/azure-sdk-