一. 关于Azure Key Vault

Azure 密钥保管库可帮助保护云应用程序和服务使用的加密密钥和机密。 借助 Key Vault,可使用密钥来加密密钥和机密(例如身份验证密钥、存储帐户密钥、数据加密密钥、.PFX 文件和密码)。密钥保管库简化了密钥管理过程,可让你控制用于访问和加密数据的密钥。 开发人员可以在几分钟内创建用于开发和测试的密钥,并无缝地将其迁移到生产密钥。 安全管理员可以根据需要授予(和吊销)密钥权限。

二.  如下自动化脚本实现的功能

  1. 向已经有的key vault中添加secrets键值对
  2. 设置key vault的policy

# set Azure Enviroment into China Mooncake.
$EnvironmentName ="AzureChinaCloud"
# Give your subcriptionID here.
$SubscriptionId="*********"
# your keyvault name
$keyvaultName="yourkeyvaultname"
# set secret type (option)
$ContentType="config" ##login
Login-AzureRmAccount -EnvironmentName 'AzureChinaCloud'
Set-AzureRmContext -SubscriptionId $SubscriptionId ## set keyvault policy
Set-AzureRmKeyVaultAccessPolicy -VaultName $keyvaultName -EnabledForDeployment -EnabledForTemplateDeployment -EnabledForDiskEncryption
## initial keyvault secrets pairs
$keyvaultSecrets =@{key1 = 'value1';key2 = 'value2'}
<#
foreach($key in $keyvaultSecrets.keys)
{
Remove-AzureKeyVaultSecret -VaultName $keyvaultName -Name $key -Force -Confirm:$False
Write-Output "remvoe $key successfully"
}
#>
#>
## add secrets
foreach($key in $keyvaultSecrets.keys)
{
$Secret = ConvertTo-SecureString -String $keyvaultSecrets[$key] -AsPlainText -Force
Set-AzureKeyVaultSecret -VaultName $keyvaultName -Name $key -SecretValue $Secret -ContentType $ContentType
} ## list secrets
foreach($key in $keyvaultSecrets.keys)
{
(get-azurekeyvaultsecret -VaultName $keyvaultName -name $key).SecretValueText
}

line 11-12需要注意你使用的azure的环境,此处以azure china为例


keyvualt的策略设置可以参考此处

  • EnabledForDeployment :Enables the Microsoft.Compute resource provider to retrieve secrets from this key vault when this key vault is referenced in resource creation, for example when creating a virtual machine
  • EnabledForDiskEncryption:Enables the Azure disk encryption service to get secrets and unwrap keys from this key vault.
  • EnabledForTemplateDeployment:Enables Azure Resource Manager to get secrets from this key vault when this key vault is referenced in a template deployment.

Azure KeyVault设置策略和自动化添加secrets键值对的更多相关文章

  1. JArray数组每个JObject对象添加一个键值对

    JArray ja = new JArray(); JObject jo = new JObject(); jo.Add("1","1"); ja.Add(jo ...

  2. Android下添加新的自定义键值和按键处理流程

            Android下添加新的自定义键值和按键处理流程     说出来不怕大家笑话,我写这篇博客的原因在于前几天去一个小公司面试Android系统工程师,然后在面试的时候对方的技术总监问了我 ...

  3. android 添加新的键值,自定义按键-2【转】

    本文转载自:http://blog.csdn.net/mr_raptor/article/details/8053871 在Android中,上层可使用的键值默认情况下是92个,从0-91:一般情况下 ...

  4. android 添加新的键值,自定义按键【转】

    本文转载自:http://blog.csdn.net/mr_raptor/article/details/8053871 在Android中,上层可使用的键值默认情况下是92个,从0-91:一般情况下 ...

  5. Android下添加新的自定义键值和按键处理流程【转】

    本文转载自: Android下添加新的自定义键值和按键处理流程     说出来不怕大家笑话,我写这篇博客的原因在于前几天去一个小公司面试Android系统工程师,然后在面试的时候对方的技术总监问了我一 ...

  6. Android4.0 添加一个新的Android 键值

    这里添加新的键值,不是毫无凭据凭空创造的一个键值,而是根据kernel中检测到的按键值,然后转化为Android所需要的数值: 以添加一个Linux键值为217,把它映射为android的键值Brow ...

  7. 再谈 apache设置virtualhost + apache的一些相关设值

    首先 要弄懂究竟什么是, vitrual host: 虚拟主机, 他有什么用处? 就是说: 一台计算机(server)中, 通常只是放一个网站/站点 但是 如果机器紧张, 服务器性能比较好,或访问的站 ...

  8. Azure KeyVault(三)通过 Microsoft.Azure.KeyVault 类库在 .NET Core 上获取 Secrets

    一,引言 上一篇文章,我们介绍了 Azure Key Vault 在实际项目中的用途,Azure Key Vault 作为密钥管理的服务,我们可以很轻松的利用它创建和控制用于加密的密钥,和管理证书和机 ...

  9. Azure KeyVault(四)另类在 .NET Core 上操作 Secrets 的类库方法-----Azure.Security.KeyVault.Secrets

    一,引言 上一篇文章我们在 .Net Core Web 项目中添加了 "Microsoft.Azure.KeyVault" 的 Nuget 包操作 Azure KeyVault 的 ...

随机推荐

  1. 从统计局采集最新的省市区县数据,纯js

    本文更新(移步查阅): 19-04-15 新采集了2018的省市区三级坐标和行政区域边界 19-03-22 采集了2018的城市数据 18-11-28 采集了2017的城市数据 数据下载 GitHub ...

  2. JVM规范系列:总结

    我们花了几天的时间来阅读<Java虚拟机规范>,了解要实现一个虚拟机应该包括什么内容.通过这么一次阅读,我们大致了解了虚拟机规范的内容. 第1章.对Java虚拟机进行了一些简单的介绍. 第 ...

  3. JAVA消息确认机制之ACK模式

    JMS API中约定了Client端可以使用四种ACK模式,在javax.jms.Session接口中: AUTO_ACKNOWLEDGE = 1    自动确认 CLIENT_ACKNOWLEDGE ...

  4. 总结and规划

    不知不觉中又过去了一年,马上就要读研究生了,因此有必要对自己进行必要的总结,以及对自己有个良好的规划. 首先,描述自己当前的心情——对未来充满了恐惧和焦虑. 马上大学就要毕业了,回首经历的大学生涯,似 ...

  5. StringBuffer的append方法比“+”高效

    在字符串的连接过程中StringBuffer的效率要比String高: string操作代码: String str = new String("welcome to "); st ...

  6. Mac+Docker环境下xdebug的配置

    由于容器化的需要,前几天我本地也换成了docker环境.就研究了一下docker环境下phpstorm和xdebug的配置. http://www.mmfei.com/?p=453 这个博客给出了一个 ...

  7. Spring Cloud 路由网关服务端

    修改application.properties配置文件:服务端口号.本机名称: 启动注册中心:java -jar uap-register-server-1.0.jar --spring.confi ...

  8. ESXi去掉 SSH已经启用的警告信息

    1. 在vCenter管理的机器里面 总是有几台服务器 提示 SSH启动连接 并且有黄色的警告信息 有时内存或者CPU报警的信息就看不到了.. 所以想着解决他,经过百度发现解决办法为: 选中host主 ...

  9. Linux查看版本

    最简单的命令 lsb_release -a 查看机器名 hostname 查看内核版本 uname -r 红帽 centos 查看版本 cat /etc/redhat-release ubuntu 查 ...

  10. 工资薪金VS劳务报酬

    工资薪金所得与劳务报酬所得两个征税项目在个人所得税应纳税所得额的计算.征收标准等方面都有所不同,因而在实际操作中不可相互混淆. 工资薪金所得属于非独立个人劳务活动,即在机关.团体.学校.部队.企事业单 ...