Cassandra 데이터베이스 시크릿 엔진

Cassandra 데이터베이스 시크릿 엔진 (Cassandra database secrets engine)

데이터베이스 시크릿 엔진에서 Cassandra 자격 증명을 동적으로 생성하는 cassandra 플러그인을 다룹니다.

출처: 문서

본문

참고: 이 엔진은 TLS 또는 서명 검증의 일부로 외부 X.509 인증서를 사용할 수 있어요. SHA-1을 사용하는 X.509 인증서에 대한 서명 검증은 더 이상 사용되지 않으며(deprecated), Vault 1.12부터는 우회 조치 없이는 사용할 수 없어요. 자세한 내용은 deprecation notices를 참고하세요.

Cassandra는 데이터베이스 시크릿 엔진이 지원하는 플러그인 중 하나예요. 이 플러그인은 Cassandra 데이터베이스에 대해 설정된 역할을 기반으로 데이터베이스 자격 증명을 동적으로 생성합니다.

데이터베이스 시크릿 엔진 설정에 대한 자세한 내용은 데이터베이스 시크릿 엔진 문서를 참고하세요.

기능 (Capabilities)

플러그인 이름 루트 자격 증명 회전 동적 역할 정적 역할 사용자명 커스터마이즈
cassandra-database-plugin Yes Yes Yes (1.6+) Yes (1.7+)

설정 (Setup)

  1. Vault는 다음 권한을 가진 Cassandra 사용자가 필요해요.
GRANT CREATE ON ALL ROLES to '<USER>';
GRANT ALTER ON ALL ROLES to '<USER>';
GRANT DROP ON ALL ROLES to '<USER>';
GRANT AUTHORIZE ON ALL ROLES to '<USER>';
  1. 데이터베이스 시크릿 엔진이 아직 활성화되지 않았다면 활성화해요.
$ vault secrets enable database
Success! Enabled the database secrets engine at: database/

기본적으로 시크릿 엔진은 엔진 이름으로 활성화돼요. 다른 경로에 활성화하려면 -path 인자를 사용하면 됩니다.

  1. 적절한 플러그인과 연결 정보로 Vault를 구성해요.
$ vault write database/config/my-cassandra-database \
    plugin_name="cassandra-database-plugin" \
    hosts=127.0.0.1 \
    protocol_version=4 \
    username=vaultuser \
    password=vaultpass \
    allowed_roles=my-role
  1. Vault의 이름을 데이터베이스 자격 증명을 만드는 SQL 문에 매핑하는 역할을 구성해요.
$ vault write database/roles/my-role \
    db_name=my-cassandra-database \
    creation_statements="CREATE USER '{{username}}' WITH PASSWORD '{{password}}' NOSUPERUSER; \
          GRANT SELECT ON ALL KEYSPACES TO {{username}};" \
    default_ttl="1h" \
    max_ttl="24h"
Success! Data written to: database/roles/my-role

사용법 (Usage)

시크릿 엔진이 구성되고 사용자/머신이 적절한 권한을 가진 Vault 토큰을 가지면 자격 증명을 생성할 수 있어요.

  1. 역할 이름으로 /creds 엔드포인트를 읽어 새 자격 증명을 생성해요.
$ vault read database/creds/my-role
Key                Value
---                -----
lease_id           database/creds/my-role/2f6a614c-4aa2-7b19-24b9-ad944a8d4de6
lease_duration     1h
lease_renewable    true
password           7iO-FxlVCdj8szsgGgsL
username           v_vaultuser_my_role_6zjahr4mjn5c9prgucy1_1602541475

API

구성 가능한 전체 옵션 목록은 Cassandra 데이터베이스 플러그인 API 페이지에서 확인할 수 있어요.

데이터베이스 시크릿 엔진 HTTP API에 대한 자세한 내용은 데이터베이스 시크릿 엔진 API 페이지를 참고하세요.

더 알아보기 (Learn more)