使用 Key Vault 管理其密钥的 Azure 存储帐户
Azure Storage Account with Key Vault to manage its keys
我希望我的 blob 存储帐户密钥由 Key Vault 管理。我正在尝试在 'key1' 和 'key2' 之间自动重新生成过程,间隔为 1 天。
我已按照 Microsoft 网站上的说明进行操作 https://docs.microsoft.com/en-us/powershell/module/az.keyvault/add-azkeyvaultmanagedstorageaccount?view=azps-2.5.0
我有 运行 下面的脚本并且没有错误:
$servicePrincipal = Get-AzADServicePrincipal -ServicePrincipalName cfa8b339-82a2-471a-a3c9-0fc0be7a4093
New-AzRoleAssignment -ObjectId $servicePrincipal.Id -RoleDefinitionName 'Storage Account Key Operator Service Role' -Scope $storage.Id
$userPrincipalId = $(Get-AzADUser -SearchString 'Bob Johnson').Id
Set-AzKeyVaultAccessPolicy -VaultName 'AzureBlobVault' -ObjectId $userPrincipalId -PermissionsToStorage get, list, delete, set, update, regeneratekey, getsas, listsas, deletesas, setsas, recover, backup, restore, purge
$regenerationPeriod = [System.Timespan]::FromDays(1)
Add-AzKeyVaultManagedStorageAccount -VaultName 'AzureBlobVault' -StorageAccountName 'john' -AccountResourceId '/subscriptions/XXXXXXX-XXXX-XXXXXXXXXXXXXXXX/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/John' -ActiveKeyName 'key1' -RegenerationPeriod $regenerationPeriod'
The Result:
Id : https://azurekeyvaultblob.vault.azure.net:443/storage/john
Vault Name : AzureBlobVault
AccountName : john
Account Resource Id : /subscriptions/XXXXXXX-XXXX-XXXX-XXXX-XXXXXXXX/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/john
Active Key Name : key1
Auto Regenerate Key : True
Regeneration Period : 1.00:00:00
Enabled : True
我 运行 脚本时没有任何错误。但它似乎不起作用,因为 Key Vault 没有自动重新生成 Key Vault 中的任何密钥。过去一周我一直在测试这个。
我不确定我是否使用 Blob 存储密钥正确设置了 Key Vault。
I am not sure if I set up the Key Vault with the Blob Storage keys correctly.
我觉得你设置成功了,你可以用下面的命令查看。
Get-AzKeyVaultManagedStorageAccount -VaultName <keyvault name> -name <storage account name>
But it doesn't seem to work because the Key Vault hasn't auto regenerate any of the keys within the Key Vault.
该设置不会自动重新生成密钥库中密钥的标签,它只会自动重新生成存储访问密钥,您需要在您的存储帐户中查看结果 -> Access keys
。
更新:
我用 $regenerationPeriod = [System.Timespan]::FromDays(1)
测试了它,它有效。
Activity 存储账户日志:
还有注意:
当设置 -ActiveKeyName 'key1'
时,它不会自动重新生成 key1
。
当活动键集为'key1'时。此密钥将用于生成 sas 令牌。 Key Vault 将在执行此命令后的重新生成周期后重新生成 'key2' 密钥,并将其设置为活动密钥。此自动再生过程将在 'key1' 和 'key2' 之间继续,间隔 RegenerationPeriod 天。
我希望我的 blob 存储帐户密钥由 Key Vault 管理。我正在尝试在 'key1' 和 'key2' 之间自动重新生成过程,间隔为 1 天。
我已按照 Microsoft 网站上的说明进行操作 https://docs.microsoft.com/en-us/powershell/module/az.keyvault/add-azkeyvaultmanagedstorageaccount?view=azps-2.5.0
我有 运行 下面的脚本并且没有错误:
$servicePrincipal = Get-AzADServicePrincipal -ServicePrincipalName cfa8b339-82a2-471a-a3c9-0fc0be7a4093
New-AzRoleAssignment -ObjectId $servicePrincipal.Id -RoleDefinitionName 'Storage Account Key Operator Service Role' -Scope $storage.Id
$userPrincipalId = $(Get-AzADUser -SearchString 'Bob Johnson').Id
Set-AzKeyVaultAccessPolicy -VaultName 'AzureBlobVault' -ObjectId $userPrincipalId -PermissionsToStorage get, list, delete, set, update, regeneratekey, getsas, listsas, deletesas, setsas, recover, backup, restore, purge
$regenerationPeriod = [System.Timespan]::FromDays(1)
Add-AzKeyVaultManagedStorageAccount -VaultName 'AzureBlobVault' -StorageAccountName 'john' -AccountResourceId '/subscriptions/XXXXXXX-XXXX-XXXXXXXXXXXXXXXX/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/John' -ActiveKeyName 'key1' -RegenerationPeriod $regenerationPeriod'
The Result:
Id : https://azurekeyvaultblob.vault.azure.net:443/storage/john
Vault Name : AzureBlobVault
AccountName : john
Account Resource Id : /subscriptions/XXXXXXX-XXXX-XXXX-XXXX-XXXXXXXX/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/john
Active Key Name : key1
Auto Regenerate Key : True
Regeneration Period : 1.00:00:00
Enabled : True
我 运行 脚本时没有任何错误。但它似乎不起作用,因为 Key Vault 没有自动重新生成 Key Vault 中的任何密钥。过去一周我一直在测试这个。
我不确定我是否使用 Blob 存储密钥正确设置了 Key Vault。
I am not sure if I set up the Key Vault with the Blob Storage keys correctly.
我觉得你设置成功了,你可以用下面的命令查看。
Get-AzKeyVaultManagedStorageAccount -VaultName <keyvault name> -name <storage account name>
But it doesn't seem to work because the Key Vault hasn't auto regenerate any of the keys within the Key Vault.
该设置不会自动重新生成密钥库中密钥的标签,它只会自动重新生成存储访问密钥,您需要在您的存储帐户中查看结果 -> Access keys
。
更新:
我用 $regenerationPeriod = [System.Timespan]::FromDays(1)
测试了它,它有效。
Activity 存储账户日志:
还有注意:
当设置 -ActiveKeyName 'key1'
时,它不会自动重新生成 key1
。
当活动键集为'key1'时。此密钥将用于生成 sas 令牌。 Key Vault 将在执行此命令后的重新生成周期后重新生成 'key2' 密钥,并将其设置为活动密钥。此自动再生过程将在 'key1' 和 'key2' 之间继续,间隔 RegenerationPeriod 天。