未加星标

基于Azure Service Principal 访问Azure KeyVault

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

在上一篇文章中,我们演示了如何使用Azure 资源托管标识访问KeyVault,但是对于Azure中国区的朋友来说,会空欢喜一场。因为截至本文发稿。Azure资源托管标识功能仍旧未在中国区上线。

所以我们只能使用Azure Service Principal来访问KeyVault了,其中会需要用到一个AAD的ApplicationID和 秘钥。这种场景就比较诡异了,我为了不把某个秘钥写在应用程序中,期望它在运行时,动态的去KeyVault中读取。结果我去和KeyVault本身交互时,又多了一个秘钥,个人感觉多此一举。

另外这里不得不提一下,KeyVault中存的Key,比如RSA秘钥上传以后,客户端读出来的秘钥只能读到公钥,私钥不可见。可参考文档: https://docs.microsoft.com/zh-cn/azure/key-vault/about-keys-secrets-and-certificates 。因此如果我们想上传一个RSA秘钥对,并且希望从KeyVault中原样读取,可以使用【机密】而不是【秘钥】。

比如先把秘钥文件(.pem)文件转换成base64字符串,然后再上传。

下文就通过一个linux Shell 脚本 [start-demo.sh]来演示该流程: 使用工具openssl生成一个RSA密钥对,文件名为private.pem 使用Azure AD Service Principal 登陆Azure CLI 上传 private.pem 至Azure KeyVault 从Azure KeyVault中下载 private.pem #!/bin/bash # # The parameters of Azure Active Directory application # clientId='{ AAD Application Id}' clientAuth='{ AAD 应用程序 秘钥}' tenant='cecccic.partner.onmschina.cn' # # Genr. RSA key pair # echo 'Genr. RSA key pair...' openssl genrsa -des3 -out private.pem 1024 # # Login Azure CLI with Azure AD application. # echo "login in Azure China started..." az cloud set -n AzureChinaCloud az login --service-principal -u $clientId -p $clientAuth --tenant $tenant --allow-no-subscriptions if [ $? = 0 ] then echo "login in Azure China successfully." fi # # Upload private.pem file to Azure KeyVault # echo 'Upload private.pem file to Azure KeyVault started...' inputbase64key=` base64 private.pem -w 0 ` az keyvault secret set --vault-name 'dev' --name 'demo-key' --value $inputbase64key > /dev/null echo 'Upload private.pem file to Azure KeyVault done.' # # Download private.pem file from Azure KeyVault to local # echo 'Download private.pem file from Azure KeyVault started...' az keyvault secret show --vault-name 'dev' --name 'demo-key' |jq -r .value | base64 -d -w 0 > private2.pem echo 'Download private.pem file done'

× 用微信扫描并分享

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

代码区博客精选文章
分页:12
转载请注明
本文标题:基于Azure Service Principal 访问Azure KeyVault
本站链接:https://www.codesec.net/view/628498.html


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