如何加密和解密Azure存储访问密钥

时间:2017-01-13 09:37:08

标签: azure encryption azure-storage hdinsight access-keys

我创建了Azure VM并在其中安装了我的Java应用程序,然后连接到WASB存储。

我添加了以下jar和core-site.xml来从Java应用程序访问WASB存储。

芯-site.xml中

<configuration>

    <property>
      <name>fs.AbstractFileSystem.wasb.impl</name>
      <value>org.apache.hadoop.fs.azure.Wasb</value>
    </property>


   <property>
      <name>fs.azure.account.key.STORAGE_ACCOUNT_NAME .blob.core.windows.net</name>
       <value>STORAGE ACCESS KEY</value>
   </property>

    <property>
      <name>fs.azure.io.copyblob.retry.max.retries</name>
      <value>60</value>
    </property>

    <property>
      <name>fs.azure.io.read.tolerate.concurrent.append</name>
      <value>true</value>
    </property>

    <property>
      <name>fs.azure.page.blob.dir</name>
      <value>/mapreducestaging,/atshistory,/tezstaging,/ams/hbase/WALs,/ams/hbase/oldWALs,/ams/hbase/MasterProcWALs</value>
    </property>

    <property>
      <name>fs.defaultFS</name>
      <value>wasb://STORAGE_CONTAINER_NAME@STORAGE_ACCOUNT_NAME.blob.core.windows.net</value>
      <final>true</final>
    </property>

    <property>
      <name>fs.trash.interval</name>
      <value>360</value>
    </property>

  </configuration>

我直接在core-site.xml中使用了存储访问密钥。但我希望Access密钥加密。

当我搜索它时,我了解下面的脚本: -

<property>
  <name>fs.azure.account.keyprovider.youraccount</name>
  <value>org.apache.hadoop.fs.azure.ShellDecryptionKeyProvider</value>
</property>

<property>
  <name>fs.azure.account.key.youraccount.blob.core.windows.net</name>
  <value>YOUR ENCRYPTED ACCESS KEY</value>
</property>

<property>
  <name>fs.azure.shellkeyprovider.script</name>
  <value>PATH TO DECRYPTION PROGRAM</value>
</property>

如何使用加密密钥访问WASB存储。上述配置是否有可用的样本?

注意: - 我在不使用HDInsight群集的情况下将Azure VM直接连接到WASB存储。

1 个答案:

答案 0 :(得分:0)

KeyVault可能是您存储密钥的最佳选择。

https://kamranicus.com/blog/2016/02/24/azure-key-vault-config-encryption-azure/