ACL 모범 사례
ACL 모범 사례 (Access Control List (ACL) best practices)
이 페이지에서는 네트워크에서 Consul의 ACL(액세스 제어 목록) 시스템을 운영하기 위한 권장 사항과 모범 사례를 나열해요.
출처: 문서
본문
이 페이지에서는 네트워크에서 Consul의 ACL(액세스 제어 목록) 시스템을 운영하기 위한 권장 사항과 모범 사례를 나열합니다.
권장 사항 (Recommendations)
Consul의 ACL 시스템은 기본적으로 활성화되어 있지 않습니다. 그러나 ACL은 프로덕션 환경에서 보안 Consul 운영의 중요한 부분입니다. 클러스터를 구성할 때 다음 모범 사례를 권장합니다:
- 새 Consul 데이터센터에 대해 ACL을 구성할 때 기본 정책을
"deny"로 설정하세요. 이렇게 하면 클러스터가 기본적으로 안전하고, ACL 토큰을 배포할 때까지 노드가 Consul 클러스터에 액세스할 수 없습니다. - 이미 실행 중인 Consul 클러스터에서 ACL을 활성화하려면 모든 노드에 ACL 배포를 완료할 때까지 기본 정책을
"allow"로 설정하세요. 이렇게 하면 ACL 시스템이 완전히 구성될 때까지 클러스터가 정상 작동을 계속합니다. - 모든 서버 역할 유형 또는 모든 에이전트 노드에 대해 ACL 토큰을 만드세요. 예로는 Consul 카탈로그의 항목에 액세스해야 하는 노드용 DNS 토큰과 사용자에게 Consul UI 액세스 권한을 부여하는 UI 토큰이 있습니다. 워크로드와 네트워크 요구 사항을 평가하여 보안 요구 사항에 따라 가장 적절한 접근 방식을 결정해야 합니다.
- 최소 권한 원칙에 따라 Consul의 ACL 시스템을 보호하는 것을 권장합니다. 이 접근 방식은 작업을 완료하는 데 필요한 최소한의 권한만 부여하여 배포를 보호하기 위해 정확히 일치하는 리소스 규칙을 사용합니다.
- 최소 권한으로 정책과 토큰을 만들면 일반적으로 정책 정의가 더 많아집니다.
- 정책 및 토큰 복잡성을 단순화하려면 리소스에 접두사 규칙을 사용하세요. 이 덜 복잡한 토큰 생성 프로세스의 대가는 토큰의 워크로드 손상 가능성이 증가한다는 것이며, 여기에는 정확히 일치하는 규칙보다 토큰에 더 넓은 폭발 반경(blast radius)이 포함됩니다. 추가 세부 사항은 Understand Access Control Privileges 튜토리얼을 참조하세요.
- 기본 제공 전역 관리(global management) 정책과 관련된 ACL 토큰 사용을 초기 ACL 부트스트랩 프로세스로 제한하세요. 전역 관리 정책은 데이터센터의 리소스에 대한 무제한 액세스를 부여합니다. - 초기 ACL 부트스트랩 프로세스를 완료한 후 비상 상황을 위한 새 전역 관리 토큰을 만들고 원래 부트스트랩 토큰을 삭제하세요.
- 기존 보안 요구 사항에 따라 전역 관리 토큰을 정기적으로 회전하세요.
- 추가 보안을 위해 환경 내에서 Consul ACL을 관리하는 데 Vault를 사용하세요. Vault에는 ACL 정책을 기반으로 단기 토큰을 동적으로 생성할 수 있는 Consul 시크릿 엔진이 포함되어 있습니다. 자세한 내용은 Use Vault for ACL management with Consul on VMs 튜토리얼을 참조하세요.
- 더 세분화된 액세스 제어가 필요한 경우 Consul Enterprise는 더 세분화되고 로직 기반 정책을 위한 Sentinel 사용을 지원합니다. Sentinel 정책은 Consul의 ACL 시스템을 정적인
read,write,deny정책 너머로 확장하여 완전한 조건부 로직과 외부 시스템 통합을 지원합니다.