拥有Azure订阅的管理员可以使用Azure Key Vault对秘钥和数据进行保护和加密,下面将会介绍如何使用PowerShell来进行配置。
其中一个是否使用云服务的争论点是对其安全等级的怀疑。不过随着云服务的发展,云供应商已经采取措施让云服务尽可能安全。微软也通过使用Azure Key Vault让旗下的Azure云更安全。
Azure Key Vault是一个用来存放加密后秘钥和数据的数字库。秘钥可以通过统一资源标识符(URI)进行调用,它可以用来对基于云的应用进行签名和加密。这意味着秘钥可以在不被从数字库删除的前提下进行引用。
微软使上手Azure Key Vault相当的简单,但是秘钥库必须得通过PowerShell进行设置。你需要做的第一件事情是通过PowerShell登录到你的Azure账号,然后连接你的Azure订阅。可以通过以下命令来进行相关操作:
Add-AzureAccount
Get-AzureSubscription
Select-AzureSubscription –SubscriptionName <你的订阅名称>
一旦连接到订阅之后,使用Azure Resource Manager来创建一个资源组和秘钥库。可以通过以下命令来进行相关操作:
Switch-AzureMode AzureResourceManager
New-AzureResourceGroup –Name '<你的资源组名称>' –Location '<你的地区>'
New-AzureKeyVault –VaultName '<你的秘钥名称>' –ResourceGroupName '<你的资源组名称>' –Location <你的地区>
请注意,在这个命令里面,秘钥库指的是一个已命名的资源,它必须在资源组中被创建,资源组也是一个已命名的资源。
在Azure Key Vault中存储什么呢
微软Azure管理员并不受限于使用一个单一的秘钥,他们可以上传或者创建多个秘钥。另外他们不限于在秘钥库中存储秘钥,也可以存储秘密信息。
在Azure Key Vault中创建和使用秘钥
要在Azure安全工具中创建和使用秘钥,你可以通过使用PowerShell来产生秘钥,如果你已经有PFX格式的秘钥的话你也可以上传这个秘钥来使用它。一旦秘钥被创建或者上传,它会被通过URI进行引用。
用来添加秘钥的PowerShell cmdlet是Add-AzureKeyVaultKey。因此,你可以通过以下一行代码来创建秘钥:
$Key = Add-AzureKeyVaultKey –VaultName '<你的秘钥库名称>' –Name '<你的秘钥名称>' –Destination 'Software'
在前面命令中的Destination参数控制了使用的秘钥是一个软件保护的秘钥还是硬件安全模块(HSM)保护的秘钥。如果你倾向于使用HSM保护的秘钥,那么Destination参数应该设置为HSM。
如果你倾向于导入一个存在的秘钥,你会需要使用下面两行的代码。第一行代码将秘钥的密码转换成一个安全的字符串;第二行代码指定了秘钥文件名然后将这个秘钥导入秘钥库中。需要的两行代码是这样的:
$SecureFXPwd = ConvertTo-SecureString –String '<秘钥的密码>' –AsPlainText –Force
$Key = Add-AzureKeyVaultKey –VaultName '<你的库名>' –Name '<你想要秘钥显示的名字>' –KeyFilePath '<你想要上传的秘钥的路径>' –KeyFilePassword $SecureFXPwd
一旦秘钥被创建或者上传,这个秘钥会被URI引用。记录这个URI最简单的方式是在它被创建的时候记录下来,但URI也可以以后获取。
以上的命令创建了一个变量叫做$Key,通过-- $key.key.kid --获取秘钥的URI前提是需要这个变量还是有效的。说了这么多,如果你需要在会话结束后或创建额外的秘钥后获取秘钥的URI的话,你需要使用其他不同的方法。
文章评论