모델 및 정책 파일로 설정하는 Go 접근 제어 라이브러리로, ACL, RBAC, ABAC 권한 정책을 적용합니다.
open-policy-agent/opa
Rego로 권한 부여 및 컴플라이언스 규칙을 작성하고 서비스, Kubernetes 및 다른 시스템에서 평가할 수 있는 범용 정책 엔진입니다.
- 스타
- 12,442
- 포크
- 1,710
- 열린 이슈
- 266
- 마지막 커밋
- 12시간 전
어떤 프로젝트인가요?
Open Policy Agent (OPA)는 범용 정책 엔진입니다. 각 서비스에 권한 부여나 컴플라이언스 로직을 하드코딩하는 대신, OPA의 선언형 언어인 Rego로 규칙을 작성하면 서비스가 쿼리를 실행해 OPA에 결정을 요청할 수 있습니다. OPA는 제공된 데이터를 기준으로 규칙을 평가해 결과를 반환하며, 호출한 서비스는 그 결과를 적용합니다.
OPA는 Cloud Native Computing Foundation의 졸업 프로젝트입니다. 독립 실행형 CLI나 서버로 실행할 수 있고, 컨테이너 이미지와 바이너리로 배포할 수 있으며, Go SDK와 저수준 Go API를 통해 Go 서비스에 임베드할 수도 있습니다. 다른 언어에서는 REST API를 통해 통합할 수 있습니다.
이 프로젝트는 Kubernetes, Terraform, Docker, SSH 등의 시스템과 통합하는 방법을 문서화합니다. 편집기 지원으로는 실시간 진단, 디버깅, 포매팅 기능을 제공하는 VS Code 확장 프로그램이 있습니다.
핵심 기능
- 01규칙과 쿼리를 위한 선언형 언어인 Rego로 정책을 작성합니다.
- 02독립 실행형 CLI나 서버로 실행하거나 SDK를 통해 Go 애플리케이션에 임베드할 수 있습니다.
- 03모든 언어로 작성된 서비스가 정책 결정을 요청할 수 있도록 REST API를 제공합니다.
- 04실시간 진단, 디버깅, 포매팅 기능을 제공하는 VS Code 확장 프로그램을 제공합니다.
- 05컨테이너 이미지와 바이너리로 배포됩니다.
활용 사례
- 서비스가 사용자의 리소스 작업 호출을 허용할지 결정하도록 API 권한 부여를 적용합니다.
- Kubernetes 리소스를 생성하기 전에 admission 정책에 따라 검증합니다.
- Terraform 계획과 같은 인프라 정의를 컴플라이언스 규칙에 따라 확인합니다.
- 여러 마이크로서비스의 접근 제어 결정을 중앙에서 관리합니다.
빠른 시작
- 1
GitHub 릴리스 또는 Docker Hub에서 OPA 바이너리나 컨테이너 이미지를 다운로드합니다
- 2
공식 문서의 Running OPA 안내에 따라 로컬에서 OPA CLI를 실행합니다
사용 전 알아둘 점
- 정책을 작성하려면 Rego 언어를 익혀야 합니다.
포함된 컬렉션
토픽
자주 묻는 질문
- opa은(는) 무엇인가요?
- Rego로 권한 부여 및 컴플라이언스 규칙을 작성하고 서비스, Kubernetes 및 다른 시스템에서 평가할 수 있는 범용 정책 엔진입니다. Open Policy Agent (OPA)는 범용 정책 엔진입니다. 각 서비스에 권한 부여나 컴플라이언스 로직을 하드코딩하는 대신, OPA의 선언형 언어인 Rego로 규칙을 작성하면 서비스가 쿼리를 실행해 OPA에 결정을 요청할 수 있습니다. OPA는 제공된 데이터를 기준으로 규칙을 평가해 결과를 반환하며, 호출한 서비스는 그 결과를 적용합니다.
- opa은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- opa은(는) Apache-2.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- opa은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. opa의 마지막 커밋은 2026년 11월 6일입니다.
- opa은(는) 어디에 사용할 수 있나요?
- 서비스가 사용자의 리소스 작업 호출을 허용할지 결정하도록 API 권한 부여를 적용합니다. Kubernetes 리소스를 생성하기 전에 admission 정책에 따라 검증합니다. Terraform 계획과 같은 인프라 정의를 컴플라이언스 규칙에 따라 확인합니다. 여러 마이크로서비스의 접근 제어 결정을 중앙에서 관리합니다.
- opa는 어떻게 설치하나요?
- GitHub 릴리스 또는 Docker Hub에서 OPA 바이너리나 컨테이너 이미지를 다운로드합니다 공식 문서의 Running OPA 안내에 따라 로컬에서 OPA CLI를 실행합니다
- opa은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/open-policy-agent/opa
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
YAML 정책을 평가해 누가 어떤 리소스에서 어떤 작업을 할 수 있는지 결정하는 셀프 호스팅 권한 부여 엔진(PDP)입니다.
AI 에이전트와 도구 사이에서 동작하는 결정론적 정책 엔진으로, 민감한 데이터를 승인되지 않은 대상으로 보내는 도구 호출을 차단합니다.
Python, TypeScript, .NET, Rust, Go에서 사용할 수 있는 자율형 AI 에이전트용 정책 적용, 제로 트러스트 ID, 실행 샌드박싱 및 SRE 도구입니다.
Google Zanzibar에서 영감을 받은 오픈소스 권한 부여 서비스로, 앱 코드 외부에서 세분화된 RBAC, ReBAC, ABAC 접근 제어를 구현할 수 있습니다.
관리자가 특정 클라이언트에 로그인할 수 있는 사용자를 제한하도록 지원하는 Keycloak 확장입니다.