개요
CloudHub Admin은 InfluxDB OSS 사용자를 위한 InfluxDB 사용자 관리 기능을 제공합니다.
인증 활성화
1 단계 : 인증 활성화
InfluxDB 구성 파일에서 인증을 활성화하십시오. 설정 파일은 대부분 Linux의 구성 파일 경로에 있습니다./etc/influxdb/influxdb.conf
.
[http]
InfluxDB 구성 파일 influxdb.conf
의 주석 auth-enabled
옵션의 설정 true
[http] # Determines whether HTTP endpoint is enabled. # enabled = true # The bind address used by the HTTP service. # bind-address = ":8086" # Determines whether HTTP authentication is enabled. auth-enabled = true
2 단계 : InfluxDB 서비스 재시작
구성 변경 사항을 적용하려면 InfluxDB 서비스를 재시작합니다.
~# sudo systemctl restart influxdb
3 단계 : 관리자 생성
인증이 사용 가능하므로 데이터베이스에서 다른 작업을 수행하기 전에 관리자를 작성해야 합니다. 아래 curl
명령을 실행하여 관리자를 작성하고 대체합니다.
localhost
InfluxDB OSS 인스턴스의 IP 또는 호스트 이름chronothan
자신의 사용자 이름supersecret
자신의 비밀번호 사용 (비밀번호에는 작은 따옴표가 필요함)
curl -X POST "http://localhost:8086/query" --data-urlencode "q=CREATE USER 'chronothan' WITH PASSWORD supersecret WITH ALL PRIVILEGES"
성공적인 CREATE USER
쿼리는 빈 결과를 반환합니다.
{"results":[{"statement_id":0}]}
4 단계 : 추가한 관리자의 권한 부여
아래 curl
명령을 실행하여 관리자에게 권한을 부여합니다.
curl -X POST "http://localhost:8086/query?u=chronothan&p=supersecret" --data-urlencode "q=GRANT ALL ON telegraf TO chronothan"
5 단계 : InfluxDB 소스 편집
CloudHub 구성 페이지로 이동하여 소스 이름을 클릭하여 기존 InfluxDB 데이터베이스 소스를 편집합니다.
데이터베이스를 CloudHub에 이미 연결한 경우 CloudHub에서 새 사용자 이름과 비밀번호로 연결 구성을 업데이트합니다.
그룹에서 사용할 전용 Data Source를 연결합니다.
InfluxDB OSS 사용자 관리
관리자와 비 관리자 사용자 보기, 작성 및 삭제
사용자 비밀번호 변경
사용자에게 관리자 할당 및 관리자 권한 제거
InfluxDB 사용자는 관리자 또는 비 관리자입니다.
해당 사용자 유형에 대한 자세한 내용은 InfluxDB의 인증 및 권한 설명서를 참조합니다.
참고 : CloudHub는 현재 InfluxDB 데이터베이스 READ
또는 WRITE
비 관리자 사용자에 대한 액세스를 지원하지 않습니다.
이 문제를 해결하려면 관리자가 아닌 사용자에게 다음 curl 명령을 사용하여 권한 부여 READ
, WRITE
또는 ALL
( READ
및 WRITE
) 권한을 부여합니다.
READ 권한 부여
curl -X POST "http://<InfluxDB-IP>:8086/query?u=<username>&p=<password>" --data-urlencode "q=GRANT READ ON <database-name> TO <non-admin-username>"
WRITE 권한 부여
curl -X POST "http://<InfluxDB-IP>:8086/query?u=<username>&p=<password>" --data-urlencode "q=GRANT WRITE ON <database-name> TO <non-admin-username>"
ALL 권한 부여
curl -X POST "http://<InfluxDB-IP>:8086/query?u=<username>&p=<password>" --data-urlencode "q=GRANT ALL ON <database-name> TO <non-admin-username>"
모든 curl 의 성공 Response는 아래와 같습니다.
{"results":[{"statement_id":0}]}
0 Comments