安全
保护 S3 密钥
登录后可跨设备保存划线和私人笔记登录
默认情况下,S3 密钥存储在 Ozone Manager 的 RocksDB 中。为了增强安全性,可以将 Ozone 配置为使用 HashiCorp Vault 作为外部密钥存储后端。
配置
要启用 Vault 集成,需要在 ozone-site.xml 中配置以下属性:
| 属性 | 说明 |
|---|---|
ozone.secret.s3.store.provider | 要使用的 S3 密钥存储提供程序。将其设置为 org.apache.hadoop.ozone.s3.remote.vault.VaultS3SecretStorageProvider 以启用 Vault。 |
ozone.secret.s3.store.remote.vault.address | Vault 服务器的地址(例如 http://vault:8200)。 |
ozone.secret.s3.store.remote.vault.namespace | 要使用的 Vault 命名空间。 |
ozone.secret.s3.store.remote.vault.enginever | Vault 密钥引擎的版本(例如 2)。 |
ozone.secret.s3.store.remote.vault.secretpath | 密钥在 Vault 中的存储路径。 |
ozone.secret.s3.store.remote.vault.auth | 与 Vault 通信时使用的认证方式。支持的取值为 TOKEN 和 APPROLE。 |
ozone.secret.s3.store.remote.vault.auth.token | Vault 认证令牌。当 ozone.secret.s3.store.remote.vault.auth 设置为 TOKEN 时必须配置。 |
ozone.secret.s3.store.remote.vault.auth.approle.id | AppRole 的 RoleID。当 ozone.secret.s3.store.remote.vault.auth 设置为 APPROLE 时必须配置。 |
ozone.secret.s3.store.remote.vault.auth.approle.secret | AppRole 的 SecretID。当 ozone.secret.s3.store.remote.vault.auth 设置为 APPROLE 时必须配置。 |
ozone.secret.s3.store.remote.vault.auth.approle.path | AppRole 的路径。当 ozone.secret.s3.store.remote.vault.auth 设置为 APPROLE 时必须配置。 |
ozone.secret.s3.store.remote.vault.trust.store.type | 信任库(trust store)的类型(例如 JKS)。 |
ozone.secret.s3.store.remote.vault.trust.store.path | 信任库文件的路径。 |
ozone.secret.s3.store.remote.vault.trust.store.password | 信任库的密码。 |
ozone.secret.s3.store.remote.vault.key.store.type | 密钥库(key store)的类型(例如 JKS)。 |
ozone.secret.s3.store.remote.vault.key.store.path | 密钥库文件的路径。 |
ozone.secret.s3.store.remote.vault.key.store.password | 密钥库的密码。 |
示例
以下示例展示了如何配置 Ozone 使用 Vault 作为 S3 密钥存储,并通过令牌认证进行身份验证:
<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>使用 SSL 的示例
以下示例展示了如何配置 Ozone 使用 Vault 作为 S3 密钥存储,并启用 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>参考资料
评论
登录后参与评论
正在加载评论…
KnowForge