如何在我的 Azure Data Lake Store 帐户上启用 AzureRmDataLakeStoreKeyVault?
How to Enable-AzureRmDataLakeStoreKeyVault on my Azure Data Lake Store account?
我执行了以下操作来创建 Azure Data Lake Store 帐户,然后尝试为其启用密钥保管库:
New-AzDataLakeStoreAccount -ResourceGroupName TestRG -Name TestDLSA -Location "East US 2"
Enable-AzureRmDataLakeStoreKeyVault -Account TestDLSA
并收到以下错误:
Enable-AzureRmDataLakeStoreKeyVault : Operation EnableKeyVault is invalid under current encryption state or config of account.
我需要做什么才能在我的 Azure Data Lake Store 帐户上正确 运行 Enable-AzureRmDataLakeStoreKeyVault?
创建dls时,需要传递如下参数。否则,它将使用 Service managed encryption
创建 dls,即 -Encryption ServiceManaged
.
New-AzDataLakeStoreAccount -ResourceGroupName <RG-name> -Name joydls -Location "East US 2" -Encryption UserManaged -KeyVaultId "<keyvault-resource-id>" -KeyName "testkey" -KeyVersion "444243d9xxxx8db2303d1"
要启用用户管理的 Key Vault 进行加密,与您的 dls 一起自动创建的服务主体需要访问您的 keyvault 中的密钥的权限,因此我们需要为服务主体配置访问策略,运行创建dls后执行下面的命令,就可以正常工作了。
$ObjectId = (Get-AzDataLakeStoreAccount -ResourceGroupName <RG-name> -Name joydls).Identity.PrincipalId
Set-AzKeyVaultAccessPolicy -ResourceGroupName <RG-name> -VaultName joykeyvault -ObjectId $ObjectId -PermissionsToKeys encrypt,decrypt,get
Enable-AzDataLakeStoreKeyVault -Name "joydls"
登录门户:
此外,我注意到你正在使用新的Az
模块和旧的AzureRm
模块,请不要这样做,有时它会导致错误,我建议你只使用 Az
模块 Enable-AzDataLakeStoreKeyVault
,因为 AzureRm
模块已被弃用,不会更新。
我执行了以下操作来创建 Azure Data Lake Store 帐户,然后尝试为其启用密钥保管库:
New-AzDataLakeStoreAccount -ResourceGroupName TestRG -Name TestDLSA -Location "East US 2"
Enable-AzureRmDataLakeStoreKeyVault -Account TestDLSA
并收到以下错误:
Enable-AzureRmDataLakeStoreKeyVault : Operation EnableKeyVault is invalid under current encryption state or config of account.
我需要做什么才能在我的 Azure Data Lake Store 帐户上正确 运行 Enable-AzureRmDataLakeStoreKeyVault?
创建dls时,需要传递如下参数。否则,它将使用 Service managed encryption
创建 dls,即 -Encryption ServiceManaged
.
New-AzDataLakeStoreAccount -ResourceGroupName <RG-name> -Name joydls -Location "East US 2" -Encryption UserManaged -KeyVaultId "<keyvault-resource-id>" -KeyName "testkey" -KeyVersion "444243d9xxxx8db2303d1"
要启用用户管理的 Key Vault 进行加密,与您的 dls 一起自动创建的服务主体需要访问您的 keyvault 中的密钥的权限,因此我们需要为服务主体配置访问策略,运行创建dls后执行下面的命令,就可以正常工作了。
$ObjectId = (Get-AzDataLakeStoreAccount -ResourceGroupName <RG-name> -Name joydls).Identity.PrincipalId
Set-AzKeyVaultAccessPolicy -ResourceGroupName <RG-name> -VaultName joykeyvault -ObjectId $ObjectId -PermissionsToKeys encrypt,decrypt,get
Enable-AzDataLakeStoreKeyVault -Name "joydls"
登录门户:
此外,我注意到你正在使用新的Az
模块和旧的AzureRm
模块,请不要这样做,有时它会导致错误,我建议你只使用 Az
模块 Enable-AzDataLakeStoreKeyVault
,因为 AzureRm
模块已被弃用,不会更新。