HANA 데이터베이스 시크릿 엔진
HANA 데이터베이스 시크릿 엔진 (HANA database secrets engine)
데이터베이스 시크릿 엔진에서 HANA 데이터베이스 자격 증명을 동적으로 생성하는 hanadb 플러그인을 다룹니다.
출처: 문서
본문
HANA는 데이터베이스 시크릿 엔진이 지원하는 플러그인 중 하나예요. 이 플러그인은 HANA 데이터베이스에 대해 설정된 역할을 기반으로 데이터베이스 자격 증명을 동적으로 생성합니다.
데이터베이스 시크릿 엔진 설정에 대한 자세한 내용은 데이터베이스 시크릿 엔진 문서를 참고하세요.
기능 (Capabilities)
| 플러그인 이름 | 루트 자격 증명 회전 | 동적 역할 | 정적 역할 |
|---|---|---|---|
| hanadb-database-plugin | Yes (1.6+) | Yes | Yes (1.6+) |
설정 (Setup)
- 데이터베이스 시크릿 엔진이 아직 활성화되지 않았다면 활성화해요.
$ vault secrets enable database
Success! Enabled the database secrets engine at: database/
기본적으로 시크릿 엔진은 엔진 이름으로 활성화돼요. 다른 경로에 활성화하려면 -path 인자를 사용하면 됩니다.
- 적절한 플러그인과 연결 정보로 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"
- 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 토큰을 가지면 자격 증명을 생성할 수 있어요.
- 역할 이름으로
/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 페이지를 참고하세요.