我正在使用部署到aks的spring引导应用程序。
应用程序连接Azure cosmos db。连接细节在application.yml
中提供。我正在尝试摆脱连接url和引入cosmos db管理的身份系统/用户。
有任何想法或链接来帮助如何连接spring boot和cosmos管理身份
•Azure cosmos DB支持系统级和基于用户级的受管理身份访问。因此,您可以通过托管在azure AKS集群中的spring引导应用程序配置托管身份来配置对azure cosmos DB的托管身份访问,如下所示:
Go to your cosmos DB account Settings Identity System assigned, or User assigned Save. You can also set azure active directory-based role assignments to the cosmos DB account as well.
•如果您访问AKS中托管的spring引导应用程序并检索服务主体ID,通过角色分配为azure cosmos DB分配系统管理身份以进行管理身份访问,您可以运行以下命令为服务主体分配参数,然后分配响应,内容和ARMToken参数,然后使用先前检索的访问令牌获取访问密钥访问cosmos DB。
注意:-下面是一个示例命令,将服务主体分配给参数
‘ $spID = (Get-AzVM -ResourceGroupName myRG -Name
myVM).identity.principalid
New-AzRoleAssignment -ObjectId $spID -RoleDefinitionName
"Cosmos DB Account Reader Role" -Scope
"/subscriptions/<mySubscriptionID>/resourceGroups/
<myResourceGroup>/providers/
Microsoft.DocumentDb/databaseAccounts/<COSMOS DB ACCOUNT
NAME>" '
请查看以下链接获取更多信息:-
https://learn.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/tutorial-windows-vm-access-cosmos-db
https://learn.microsoft.com/en-us/azure/cosmos-db/managed-identity-based-authentication