Skip to content

KMS暗号化設定

RustFSのバケットをSSE-KMS方式で暗号化します。

cf. https://docs.rustfs.com/features/encryption/#object-encryption

Vault設定

KMSとしてHashicorp Vaultを利用します。

cf.

手順

  • RustFS向けのポリシーを作成します。
shell
# cf. https://developer.hashicorp.com/vault/docs/commands/policy
cat << EOF >> ./rustfs-policy.hcl
path "secret/*" {
  capabilities = ["create", "read", "update", "patch", "delete", "list", "recover"]
}

path "transits/rustfs-master/" {
  capabilities = ["read"]
}
EOF

vault policy write rustfs-policy ./rustfs-policy.hcl
  • RustFS向けのトークンを作成します。
shell
# cf. https://developer.hashicorp.com/vault/docs/commands/token
vault token create -policy rustfs-policy
  • transitおよびkvを有効化します:
shell
vault secrets enable transit
vault secrets enable -path=secret kv-v2
  • 暗号化キーを作成します:
shell
vault write transit/keys/rustfs-master type=aes256-gcm96

RustFS設定

手順

  • SSE設定画面において下記設定を入力します:
項目設定値
VaultサーバーVaultサーバのIP
Vaultトークン上で作成したトークン
Transitマウントパスtransit
KVマウントパスsecret
キーパスプレフィックスrustfs/kms/keys
デフォルトキーIDrustfs-master
  • KMS設定後、キーを作成できます。キー作成後、下記コマンドで確認できます:
shell
vault kv list secret/rustfs/kms/keys/