内容简介:在上一篇文章中,我们演示了如何使用Azure 资源托管标识访问KeyVault,但是对于Azure中国区的朋友来说,会空欢喜一场。因为截至本文发稿。Azure资源托管标识功能仍旧未在中国区上线。所以我们只能使用Azure Service Principal来访问KeyVault了,其中会需要用到一个AAD的ApplicationID和 秘钥。这种场景就比较诡异了,我为了不把某个秘钥写在应用程序中,期望它在运行时,动态的去KeyVault中读取。结果我去和KeyVault本身交互时,又多了一个秘钥,个人感觉多
在上一篇文章中,我们演示了如何使用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'
× 用微信扫描并分享
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 像访问本地文件系统一样访问云存储
- 如何访问P站 | Pixiv 被墙无法访问的解决方法
- Spark实战--寻找5亿次访问中,访问次数最多的人
- 逆天操作-将https访问通过反向代理转换成http访问
- node.js – 数字海洋上的访问节点应用程序 – 无法访问此站点
- GitHub 访问加速指南
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Linux从入门到精通
刘忆智、等 / 清华大学出版社 / 2010-1-1 / 59.00元
linux是目前增长最迅速的操作系统。本书由浅入深、循序渐进地向读者介绍linux的基本使用和系统管理。全书内容包括linux概述、linux安装、linux基本配置、桌面环境基本操作、shell基本命令、文件和目录管理、软件包管理、磁盘管理、用户与用户组管理、进程管理、网络配置、浏览网页、收发邮件、文件传输和共享、远程登录、多媒体应用、图像浏览和处理、打印机配置、办公软件的使用、linux编程工......一起来看看 《Linux从入门到精通》 这本书的介绍吧!