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

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

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

출처: 문서

본문

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

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

기능 (Capabilities)

플러그인 이름 루트 자격 증명 회전 동적 역할 정적 역할
hanadb-database-plugin Yes (1.6+) Yes Yes (1.6+)

설정 (Setup)

  1. 데이터베이스 시크릿 엔진이 아직 활성화되지 않았다면 활성화해요.
$ vault secrets enable database
Success! Enabled the database secrets engine at: database/

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

  1. 적절한 플러그인과 연결 정보로 Vault를 구성해요.
$ vault write database/config/my-hana-database \
    plugin_name=hana-database-plugin \
    connection_url="hdb://{{username}}:{{password}}@localhost:1433" \
    allowed_roles="my-role" \
    username="vaultuser" \
    password="vaultpass"
  1. Vault의 이름을 데이터베이스 자격 증명을 만드는 SQL 문에 매핑하는 역할을 구성해요.
$ vault write database/roles/my-role \
    db_name=my-hana-database \
    creation_statements="CREATE USER {{name}} PASSWORD \"{{password}}\" VALID UNTIL '{{expiration}}';\
        CALL GRANT_ACTIVATED_ROLE ( 'sap.hana.admin.roles::Monitoring', '{{name}}' );" \
    default_ttl="12h" \
    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           sU4zWnITaABEP-Zwy4sF
username           v_vaultuser_my_role_jQbCLE6P2VtgsqPBXK0m_1602541873

API

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

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

더 알아보기 (Learn more)