InfluxDB 데이터베이스 시크릿 엔진
InfluxDB 데이터베이스 시크릿 엔진 (InfluxDB database secrets engine)
데이터베이스 시크릿 엔진에서 InfluxDB 자격 증명을 동적으로 생성하는 influxdb 플러그인을 다룹니다.
출처: 문서
본문
참고: 이 엔진은 TLS 또는 서명 검증의 일부로 외부 X.509 인증서를 사용할 수 있어요. SHA-1을 사용하는 X.509 인증서에 대한 서명 검증은 더 이상 사용되지 않으며(deprecated), Vault 1.12부터는 우회 조치 없이는 사용할 수 없어요. 자세한 내용은 deprecation notices를 참고하세요.
InfluxDB는 데이터베이스 시크릿 엔진이 지원하는 플러그인 중 하나예요. 이 플러그인은 InfluxDB 데이터베이스에 대해 설정된 역할을 기반으로 데이터베이스 자격 증명을 동적으로 생성합니다.
데이터베이스 시크릿 엔진 설정에 대한 자세한 내용은 데이터베이스 시크릿 엔진 문서를 참고하세요.
기능 (Capabilities)
| 플러그인 이름 | 루트 자격 증명 회전 | 동적 역할 | 정적 역할 | 사용자명 커스터마이즈 |
|---|---|---|---|---|
| influxdb-database-plugin | Yes | Yes | Yes (1.6+) | Yes (1.8+) |
설정 (Setup)
- 데이터베이스 시크릿 엔진이 아직 활성화되지 않았다면 활성화해요.
$ vault secrets enable database
Success! Enabled the database secrets engine at: database/
기본적으로 시크릿 엔진은 엔진 이름으로 활성화돼요. 다른 경로에 활성화하려면 -path 인자를 사용하면 됩니다.
- 적절한 플러그인과 연결 정보로 Vault를 구성해요.
$ vault write database/config/my-influxdb-database \
plugin_name="influxdb-database-plugin" \
host=127.0.0.1 \
username=vaultuser \
password=vaultpass \
allowed_roles=my-role
- Vault의 이름을 데이터베이스 자격 증명을 만드는 SQL 문에 매핑하는 역할을 구성해요.
$ vault write database/roles/my-role \
db_name=my-influxdb-database \
creation_statements="CREATE USER \"{{username}}\" WITH PASSWORD '{{password}}'; \
GRANT ALL ON \"vault\" TO \"{{username}}\";" \
default_ttl="1h" \
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 ux-TAAKTSZex6jgXhe67
username v_vaultuser_my_role_7XjvivMy80m7qQughmbk_1602541922
API
구성 가능한 전체 옵션 목록은 InfluxDB 데이터베이스 플러그인 API 페이지에서 확인할 수 있어요.
데이터베이스 시크릿 엔진 HTTP API에 대한 자세한 내용은 데이터베이스 시크릿 엔진 API 페이지를 참고하세요.