6.5.7. Vault를 사용하도록 Ceph Object Gateway 구성
H¢Corp Vault를 사용하도록 Ceph Object Gateway를 구성하려면 암호화 키 저장소로 설정해야 합니다. 현재 Ceph Object Gateway는 두 가지 비밀 엔진과 두 가지 다른 인증 방법을 지원합니다.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
- Ceph Object Gateway 소프트웨어 설치.
- Ceph Object Gateway 노드에 대한 루트 수준 액세스.
절차
ceph config set client.rgw OPTION VALUE
명령을 사용하여 암호화 키 저장소로 Vault를 활성화합니다.구문
ceph config set client.rgw rgw_crypt_s3_kms_backend vault
다음 옵션과 값을 추가합니다.
구문
ceph config set client.rgw rgw_crypt_vault_auth agent ceph config set client.rgw rgw_crypt_vault_addr http://VAULT_SERVER:8100
- 사용 사례에 따라 정책을 사용자 지정합니다.
role-id를 가져옵니다.
예제
[root@rgw ~]# vault read auth/approle/role/rgw-ap/role-id -format=json | \ jq -r .data.role_id > _PATH_TO_FILE_
secret-id를 가져옵니다.
예제
[root@rgw ~]# vault read auth/approle/role/rgw-ap/role-id -format=json | \ jq -r .data.secret_id > _PATH_TO_FILE_
Vault 에이전트에 대한 구성을 생성합니다.
예제
pid_file = "/run/kv-vault-agent-pid" auto_auth { method "AppRole" { mount_path = "auth/approle" config = { role_id_file_path ="/root/vault_configs/kv-agent-role-id" secret_id_file_path ="/root/vault_configs/kv-agent-secret-id" remove_secret_id_file_after_reading ="false" } } } cache { use_auto_auth_token = true } listener "tcp" { address = "127.0.0.1:8100" tls_disable = true } vault { address = "http://10.8.128.9:8200" }
systemctl을 사용하여 영구 데몬을 실행합니다.
예제
[root@rgw ~]# /usr/local/bin/vault agent -config=/usr/local/etc/vault/rgw-agent.hcl
- Vault 에이전트가 실행될 때 토큰 파일은 유효한 토큰으로 채워집니다.
Vault 비밀 엔진(키/값 또는 Transit)을 선택합니다.
Key/Value 를 사용하는 경우 다음 행을 추가합니다.
예제
[root@rgw ~]# ceph config set client.rgw rgw_crypt_vault_secret_engine kv
Transit 을 사용하는 경우 다음 행을 추가합니다.
예제
[root@rgw ~]# ceph config set client.rgw rgw_crypt_vault_secret_engine transit
ceph config set client.rgw OPTION VALUE
명령을 사용하여 Vault 네임스페이스를 설정하여 암호화 키를 검색합니다.예제
[root@rgw ~]# ceph config set client.rgw rgw_crypt_vault_namespace testnamespace1
경로 접두사를 설정하여 Ceph Object Gateway에서 Vault에서 암호화 키를 검색하는 위치를 제한합니다.
예제
[root@rgw ~]# ceph config set client.rgw rgw_crypt_vault_prefix /v1/secret/data
내보낼 수 있는 전송 키의 경우 다음과 같이 접두사 경로를 설정합니다.
예제
[root@rgw ~]# ceph config set client.rgw rgw_crypt_vault_prefix /v1/transit/export/encryption-key
Vault 서버의 도메인 이름이
vault-server
라고 가정하면 Ceph Object Gateway는 다음 URL에서 암호화된 전송 키를 가져옵니다.예제
http://vault-server:8200/v1/transit/export/encryption-key
Ceph Object Gateway 데몬을 다시 시작합니다.
스토리지 클러스터의 개별 노드에서 Ceph Object Gateway를 다시 시작하려면 다음을 수행합니다.
구문
systemctl restart ceph-CLUSTER_ID@SERVICE_TYPE.ID.service
예제
[root@rgw]# systemctl restart ceph-c4b34c6f-8365-11ba-dc31-529020a7702d@rgw.realm.zone.node1.gwasto.service
스토리지 클러스터의 모든 노드에서 Ceph Object Gateway를 다시 시작하려면 다음을 수행합니다.
구문
ceph orch restart SERVICE_TYPE
예제
[root@rgw]# ceph orch restart rgw
추가 리소스
- 자세한 내용은 Red Hat Ceph Storage Object Gateway Configuration and Administration Guide 의 Vault용 Secret Engine 섹션을 참조하십시오.
- 자세한 내용은 Red Hat Ceph Storage Object Gateway Configuration and Administration Guide 의 Vault에 대한 인증 섹션을 참조하십시오.