Security

Securing S3 Secrets

qianmoQqianmoQ· 更新于 2026-09-24· 阅读 11 分钟· 0 次阅读

登录后可跨设备保存划线和私人笔记登录

By default, S3 secrets are stored in the Ozone Manager’s RocksDB. For enhanced security, Ozone can be configured to use HashiCorp Vault as an external secret storage backend.

Configuration

To enable Vault integration, you need to configure the following properties in ozone-site.xml:

PropertyDescription
ozone.secret.s3.store.providerThe S3 secret storage provider to use. Set this to org.apache.hadoop.ozone.s3.remote.vault.VaultS3SecretStorageProvider to enable Vault.
ozone.secret.s3.store.remote.vault.addressThe address of the Vault server (e.g., http://vault:8200).
ozone.secret.s3.store.remote.vault.namespaceThe Vault namespace to use.
ozone.secret.s3.store.remote.vault.engineverThe version of the Vault secrets engine (e.g., 2).
ozone.secret.s3.store.remote.vault.secretpathThe path where the secrets are stored in Vault.
ozone.secret.s3.store.remote.vault.authThe authentication method to use with Vault. Supported values are TOKEN and APPROLE.
ozone.secret.s3.store.remote.vault.auth.tokenThe Vault authentication token. Required if ozone.secret.s3.store.remote.vault.auth is set to TOKEN.
ozone.secret.s3.store.remote.vault.auth.approle.idThe AppRole RoleID. Required if ozone.secret.s3.store.remote.vault.auth is set to APPROLE.
ozone.secret.s3.store.remote.vault.auth.approle.secretThe AppRole SecretID. Required if ozone.secret.s3.store.remote.vault.auth is set to APPROLE.
ozone.secret.s3.store.remote.vault.auth.approle.pathThe AppRole path. Required if ozone.secret.s3.store.remote.vault.auth is set to APPROLE.
ozone.secret.s3.store.remote.vault.trust.store.typeThe type of the trust store (e.g., JKS).
ozone.secret.s3.store.remote.vault.trust.store.pathThe path to the trust store file.
ozone.secret.s3.store.remote.vault.trust.store.passwordThe password for the trust store.
ozone.secret.s3.store.remote.vault.key.store.typeThe type of the key store (e.g., JKS).
ozone.secret.s3.store.remote.vault.key.store.pathThe path to the key store file.
ozone.secret.s3.store.remote.vault.key.store.passwordThe password for the key store.

Example

Here is an example of how to configure Ozone to use Vault for S3 secret storage with token authentication:

<property>
  <name>ozone.secret.s3.store.provider</name>
  <value>org.apache.hadoop.ozone.s3.remote.vault.VaultS3SecretStorageProvider</value>
</property>
<property>
  <name>ozone.secret.s3.store.remote.vault.address</name>
  <value>http://localhost:8200</value>
</property>
<property>
  <name>ozone.secret.s3.store.remote.vault.enginever</name>
  <value>2</value>
</property>
<property>
  <name>ozone.secret.s3.store.remote.vault.secretpath</name>
  <value>secret</value>
</property>
<property>
  <name>ozone.secret.s3.store.remote.vault.auth</name>
  <value>TOKEN</value>
</property>
<property>
  <name>ozone.secret.s3.store.remote.vault.auth.token</name>
  <value>your-vault-token</value>
</property>

Example with SSL

Here is an example of how to configure Ozone to use Vault for S3 secret storage with SSL:

<property>
  <name>ozone.secret.s3.store.provider</name>
  <value>org.apache.hadoop.ozone.s3.remote.vault.VaultS3SecretStorageProvider</value>
</property>
<property>
  <name>ozone.secret.s3.store.remote.vault.address</name>
  <value>https://localhost:8200</value>
</property>
<property>
  <name>ozone.secret.s3.store.remote.vault.enginever</name>
  <value>2</value>
</property>
<property>
  <name>ozone.secret.s3.store.remote.vault.secretpath</name>
  <value>secret</value>
</property>
<property>
  <name>ozone.secret.s3.store.remote.vault.auth</name>
  <value>TOKEN</value>
</property>
<property>
  <name>ozone.secret.s3.store.remote.vault.auth.token</name>
  <value>your-vault-token</value>
</property>
<property>
  <name>ozone.secret.s3.store.remote.vault.trust.store.path</name>
  <value>/path/to/truststore.jks</value>
</property>
<property>
  <name>ozone.secret.s3.store.remote.vault.trust.store.password</name>
  <value>truststore-password</value>
</property>
<property>
  <name>ozone.secret.s3.store.remote.vault.key.store.path</name>
  <value>/path/to/keystore.jks</value>
</property>
<property>
  <name>ozone.secret.s3.store.remote.vault.key.store.password</name>
  <value>keystore-password</value>
</property>

References

评论

登录后参与评论

正在加载评论…