Skip to content

KMS暗号化設定

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

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

Vault設定

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

cf.

手順

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

RustFS設定

手順

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