Consul ACL 시스템 재설정

Consul ACL 시스템 재설정

이 페이지는 Consul의 ACL 시스템을 재설정하는 과정을 설명해요. 데이터센터의 전역 관리 토큰(global management token)에 대한 액세스를 잃지 않는 한 ACL 시스템을 재설정해서는 안 된답니다.

출처: 문서

본문

이 페이지는 Consul의 ACL 시스템을 재설정하는 과정을 설명합니다. 데이터센터의 전역 관리 토큰에 대한 액세스를 잃지 않는 한 ACL 시스템을 재설정해서는 안 됩니다.

소개 (Introduction)

ACL(Access Control List) 시스템을 부트스트랩한 후에는 Consul의 API 엔드포인트와 CLI 명령에 유효한 ACL 토큰이 필요합니다. 부트스트랩 과정은 global-management 정책을 가진 토큰을 생성합니다. Consul 데이터센터에 대한 제어를 유지하려면 같은 정책을 가진 토큰에 액세스할 수 있어야 합니다.

유효한 global-management 토큰에 대한 액세스를 잃으면 Consul 데이터센터에 다시 액세스하기 위해 ACL 시스템을 재설정해야 합니다.

ACL 시스템 재설정 과정은 무중단일 수 있습니다. 새로운 global-management 토큰을 생성하지만 이전의 모든 토큰은 그대로 둡니다. 에이전트와 서비스 구성은 영향을 받지 않습니다.

Consul 클러스터 리더 찾기

ACL 재설정은 Consul 클러스터의 현재 리더에서 수행해야 하므로, 재설정을 진행하기 전에 올바른 서버를 식별해야 합니다.

/status/leader API 엔드포인트를 사용해 Consul 클러스터 리더의 IP 주소를 검색하세요.

$ curl 127.0.0.1:8500/v1/status/leader
"172.20.0.7:8300"

이 예시에서 리더는 IP 172.20.0.7에 있습니다. 다음 명령은 해당 서버에서 실행해야 합니다.

재설정 인덱스 번호 찾기

다음으로 이전 ACL 부트스트랩의 인덱스 번호를 얻어야 합니다. Consul은 유효하지 않은 부트스트랩 명령을 받으면 이 인덱스를 출력합니다.

consul acl bootstrap CLI 명령을 실행하세요.

$ consul acl bootstrap
Failed ACL bootstrapping: Unexpected response code: 403 (Permission denied: ACL bootstrap no longer allowed (reset index: 27))

이 예시에서 ACL 부트스트랩 이벤트는 인덱스 27에 있습니다.

ACL 시스템 재설정

ACL 시스템을 재설정하려면 재설정 인덱스 번호(이 경우 27)가 포함된 파일을 만드세요. 파일을 Consul 에이전트의 데이터 디렉터리에 저장하세요.

$ echo 27 >> /opt/consul/data.d/acl-bootstrap-reset

마지막으로 새 관리 토큰을 얻기 위해 ACL 시스템을 다시 부트스트랩하세요.

consul acl bootstrap CLI 명령을 사용해 ACL 시스템을 부트스트랩하세요.

$ consul acl bootstrap

Consul은 새 토큰 세부 정보를 출력합니다.

AccessorID:       b6e503df-c02c-8008-ebfc-ae758831121b
SecretID:         bdd9521f-1722-fcbe-efe6-721fa888af87
Description:      Bootstrap Token (Global Management)
Local:            false
Create Time:      2025-08-06 12:10:19.331206299 +0000 UTC
Policies:
   00000000-0000-0000-0000-000000000001 - global-management

ACL 재설정 기록이 서버의 로그에 나타납니다.

[DEBUG] agent.server.acl: parsed bootstrap reset index path: path=/opt/consul/acl-bootstrap-reset reset_index=27
[INFO]  agent.server.acl: ACL bootstrap completed
[DEBUG] agent.http: Request finished: method=PUT url=/v1/acl/bootstrap from=127.0.0.1:44884 latency=2.962417ms

이제 새로 생성된 토큰을 사용해 Consul 데이터센터에 로그인할 수 있습니다.

더 알아보기 (Learn more)