未加星标

基于Azure资源托管标识来访问KeyVault

字体大小 | |
[系统(windows) 所属分类 系统(windows) | 发布者 店小二05 | 时间 2019 | 作者 红领巾 ] 0人收藏点击收藏

Azure的KeyVault可以存储秘钥,加密字符串,证书。这样可以避免在应用程序中把密码明文写在代码或者配置文件中,比如常见的 数据库连接字符串 。

客户端应用程序如何完成和指定KeyVault的身份认证?推荐使用Azure资源托管标识认证。这样认证的好处是客户端不需要专门的密码或者秘钥去和Azure KeyVault 进行身份认证。Azure Key Vault会把某些Azure虚拟机加入到信任列表中,这样只有应用程序部署到特定的虚拟机才能访问到特定的KeyVault。

所谓的信任列表是,在Azure的虚拟机中启用了Azure资源标识以后,Azure AD会在Azure Active Directory 中生成一个与之对应的 应用程序 。用户可以在KeyVault的访问策略中加入该 应用程序 ,并赋予特定的权限。


基于Azure资源托管标识来访问KeyVault
Azure KeyVault

具体的虚拟机启用 Azure资源标识 和 KeyVault 的配置步骤阅读《 教程:使用 windows VM 系统分配的托管标识访问 Azure Key Vault 》

本文主要演示如何使用PowerShell读取KeyVault中的信息。

首先我们需要访问Azure元数据服务,获取一个当前Azure资源的身份标识对应的Access Token:

$response = Invoke-WebRequest -Uri 'http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=https%3A%2F%2Fvault.azure.net' -Method GET -Headers @{Metadata="true"} $content = $response.Content | ConvertFrom-Json

然后基于该Access Token再去访问KeyVault

$header = @{Authorization="Bearer $KeyVaultToken"} Invoke-RestMethod -Uri 'https://xxx.vault.azure.net/secrets/site?api-version=2016-10-01' -Headers $header PS> Invoke-RestMethod -Uri 'https://xxx.vault.azure.net/secrets/site?api-version=2016-10-01' -Headers $header value contentType id attributes ----- ----------- -- ---------- WWW.PStips.NET https://xxx.vault.azure.net/secrets/site/30a95f5d1337489ab76d16239dbd2773 @{enabled=True; created=1545880813; updated=154588081…

× 用微信扫描并分享

本文系统(windows)相关术语:三级网络技术 计算机三级网络技术 网络技术基础 计算机网络技术

分页:12
转载请注明
本文标题:基于Azure资源托管标识来访问KeyVault
本站链接:https://www.codesec.net/view/628497.html


1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
技术大类 技术大类 | 系统(windows) | 评论(0) | 阅读(20)