Как включить-AzureRmDataLakeStoreKeyVault в моей учетной записи Azure Data Lake Store? - PullRequest
0 голосов
/ 12 февраля 2020

Я сделал следующие действия для создания учетной записи 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.

Что мне нужно сделать, чтобы правильно запустить Enable-AzureRmDataLakeStoreKeyVault в моей Azure учетной записи хранилища озера данных?

1 Ответ

1 голос
/ 12 февраля 2020

Когда вы создаете dls, вам нужно передать параметры, как показано ниже. В противном случае он создает dls с Service managed encryption, то есть -Encryption ServiceManaged.

New-AzDataLakeStoreAccount -ResourceGroupName <RG-name> -Name joydls -Location "East US 2" -Encryption UserManaged -KeyVaultId "<keyvault-resource-id>" -KeyName "testkey" -KeyVersion "444243d9xxxx8db2303d1"

. Чтобы включить управляемое пользователем хранилище ключей для шифрования, субъекту службы, автоматически создаваемому вместе с вашим 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"

enter image description here

Проверьте на портале:

enter image description here


Помимо , я заметил, что вы используете Новый Az модуль смешан со старым AzureRm, пожалуйста, не делайте этого, иногда это может вызвать ошибку, я рекомендую вам просто использовать Az модуль Enable-AzDataLakeStoreKeyVault, потому что модуль AzureRm был устарела и не будет обновляться.

...