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

Azure密钥库和托管身份-使用REST进行本地开发

伏业
2023-03-14

我有一个在Azure VM中托管的php应用程序,在密钥库中有一些秘密。我已经设置了托管身份并获得了进入保险库的权限。

Azure SDK for php不支持密钥库,所以我使用REST接口。

我的问题是当在本地运行时,即我的代码在桌面上以VSCode运行时,我不能调用AIMS来获取令牌,因为我在本地机器上没有托管标识。

我只能想到两个选择:

    null

请注意,Visual Studio提供了AzureServiceTokenProvider(),它使用登录用户的凭据来获取令牌。但不幸的是,这对我来说是不可用的。

共有1个答案

车诚
2023-03-14

据我所知,我们没有办法在本地使用Azure MSI开发PHP应用程序。因此,如果您想在本地访问Azure key vault,我建议您使用服务主体在本地访问Azure key vault。具体步骤如下。1.创建服务主体

az ad sp create-for-rbac -n <your-application-name> --skip-assignment
az keyvault set-policy --name <your-key-vault-name> --spn $AZURE_CLIENT_ID --secret-permissions backup delete get list purge recover restore set
Method : Post
Url: https://login.microsoftonline.com/{{directoryId}}/oauth2/v2.0/token
Header: Content-Type: application/x-www-form-urlencoded
Body:
     grant_type=client_credentials
     client_id=<>
     client_secret=<>
     scope=https://vault.azure.net/.default
Method: GET
Url: {vaultBaseUrl}/secrets/{secret-name}/{secret-version}?api-version=7.0
Header: Authorization : Bearer <access token>

欲了解更多详情,请参阅博客。

 类似资料:
  • 我正在寻求在Azure DevOps中的ARM部署中集成密钥库的最佳方法。 例如,部署一个应用程序服务并创建一个托管服务标识,这样它就可以从密钥库中获取预先存在的数据库的机密。 1)在Azure portal中,我手动为App服务创建了一个新的服务主体,在访问策略中使用“get”和“list”权限。 2)在我的DevOps项目中,在项目设置下,我创建了一个服务连接。 3)我已经在DevOps中创建

  • 我在Azure App Service中部署了一个spring boot应用程序,该应用程序使用用户管理的身份访问Azure Key Vault。 我遵循了以下提到的步骤: 创建了用户管理标识 在Azure app Service中部署了spring boot app 通过身份选项将新创建的用户管理身份添加到应用程序服务中 在应用程序服务中IAM的角色分配下添加用户托管标识为所有者角色 创建Azu

  • 我刚刚在AKS群集中设置了托管标识,以使用Azure Key Vault资源进行身份验证,使用以下指南:https://dev.to/vivekanandrapaka/access-secrets-from-akv-using-managed-identities-for-aks-91p 在指南中,我们在VMS中设置了系统分配的托管标识。然后,我们将VMS应用程序添加到keyvault中的访问策略

  • null 身份验证工作流会是什么样子?有任何可用的例子吗?我们可以通过使用MSAL来实现吗? 假设我们已经创建了一个Azure密钥库,并在该库中保存了一些秘密。如何在Windows 10下运行的桌面应用程序中实现以下功能: 当前Windows用户是Azure AD组GroupA的一部分,位于Azure密钥库的同一承租人之下。 当当前用户从同一用户会话启动桌面应用程序时,应用程序可以访问所述密钥库中

  • 我为一个功能应用程序创建了一个托管身份,并通过以下两部分将其分配给DocumentDB Account Contributor https://docs.microsoft.com/en-us/azure/cosmos-db/managed-identity-based-authentication#assign-a-system-assigned-managed-identity-to-a-fu

  • 对于较新的azure keyvault包,我使用了以下内容: 但是它找不到。这是错误的一部分: