3

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

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

核心站点.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 中直接使用了存储访问密钥。但我希望访问密钥被加密。

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

<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 存储。是否有可用于上述配置的示例?

注意:- 我将 Azure VM 直接连接到 WASB 存储,而不使用 HDInsight 群集。

4

1 回答 1

0

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

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

于 2017-01-16T02:17:09.727 回答