기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
OPA에서 PDP에 대한 외부 데이터 검색
OPA의 경우, 권한 부여 결정에 필요한 모든 데이터를 입력 또는 쿼리의 구성 요소로 전달되는 JSON 웹 토큰(JWT)의 일부로 제공할 수 있는 경우 추가 구성이 필요하지 않습니다. (쿼리 입력의 일부로 JWTs 및 SaaS 컨텍스트 데이터를 OPA에 전달하는 것은 비교적 간단합니다.) OPA는 오버로드 입력 접근 방식이라고 하는에서 임의의 JSON 입력을 수락할 수 있습니다. PDP에 입력 또는 JWT로 포함할 수 있는 것 이상의 데이터가 필요한 경우 OPA는이 데이터를 검색하기 위한 몇 가지 옵션을 제공합니다. 여기에는 번들링, 데이터 푸시(복제) 및 동적 데이터 검색이 포함됩니다.
OPA 번들링
OPA 번들링 기능은 외부 데이터 검색을 위해 다음 프로세스를 지원합니다.
-
정책 적용 지점(PEP)은 권한 부여 결정을 요청합니다.
-
OPA는 외부 데이터를 포함한 새 정책 번들을 다운로드합니다.
-
번들링 서비스는 데이터 소스(들)에서 데이터를 복제합니다.
번들링 기능을 사용하면 OPA는 중앙 집중식 번들 서비스에서 정책 및 데이터 번들을 주기적으로 다운로드합니다. (OPA는 번들 서비스의 구현 및 설정을 제공하지 않습니다.) 번들 서비스에서 가져온 모든 정책 및 외부 데이터는 메모리에 저장됩니다. 외부 데이터 크기가 너무 커서 메모리에 저장할 수 없거나 데이터가 너무 자주 변경되면이 옵션이 작동하지 않습니다.
번들링 기능에 대한 자세한 내용은 OPA 설명서를
OPA 복제(데이터 푸시)
OPA 복제 접근 방식은 외부 데이터 검색을 위한 다음 프로세스를 지원합니다.
-
PEP는 권한 부여 결정을 요청합니다.
-
데이터 복제기는 데이터를 OPA로 푸시합니다.
-
데이터 복제기는 데이터 소스(들)에서 데이터를 복제합니다.
번들링 접근 방식의이 대안에서는 OPA가 주기적으로 데이터를 가져오는 대신 데이터를 푸시합니다. (OPA는 복제기의 구현 및 설정을 제공하지 않습니다.) OPA는 모든 데이터를 메모리에 저장하므로 푸시 접근 방식은 번들링 접근 방식과 동일한 데이터 크기 제한이 있습니다. 푸시 옵션의 주요 이점은 매번 모든 외부 데이터를 교체하는 대신 델타로 OPA의 데이터를 업데이트할 수 있다는 것입니다. 이렇게 하면 푸시 옵션이 자주 변경되는 데이터 세트에 더 적합합니다.
복제 옵션에 대한 자세한 내용은 OPA 설명서를
OPA 동적 데이터 검색
검색할 외부 데이터가 너무 커서 OPA의 메모리에 캐시할 수 없는 경우 권한 부여 결정을 평가하는 동안 외부 소스에서 데이터를 동적으로 가져올 수 있습니다. 이 접근 방식을 사용하면 데이터가 항상 최신 상태입니다. 이 접근 방식에는 네트워크 지연 시간과 접근성이라는 두 가지 단점이 있습니다. 현재 OPA는 HTTP 요청을 통해서만 런타임 시 데이터를 검색할 수 있습니다. 외부 데이터 소스로 이동하는 호출이 HTTP 응답으로 데이터를 반환할 수 없는 경우이 데이터를 OPA에 제공하려면 사용자 지정 API 또는 기타 메커니즘이 필요합니다. OPA는 HTTP 요청을 통해서만 데이터를 검색할 수 있으며 데이터 검색 속도가 중요하므로 가능하면 Amazon DynamoDB AWS 서비스 와 같은를 사용하여 외부 데이터를 보관하는 것이 좋습니다.
풀 접근 방식에 대한 자세한 내용은 OPA 설명서를
OPA로 구현하기 위한 권한 부여 서비스 사용
번들링, 복제 또는 동적 풀 접근 방식을 사용하여 외부 데이터를 가져오는 경우 권한 부여 서비스가 이러한 상호 작용을 용이하게 하는 것이 좋습니다. 이는 권한 부여 서비스가 외부 데이터를 검색하여 OPA가 권한 부여 결정을 내릴 수 있도록 JSON으로 변환할 수 있기 때문입니다. 다음 다이어그램은 권한 부여 서비스가 이러한 세 가지 외부 데이터 검색 접근 방식으로 작동하는 방법을 보여줍니다.

OPA 흐름에 대한 외부 데이터 검색 - 결정 시 번들 또는 동적 데이터 검색(다이어그램에 빨간색 번호가 지정된 콜아웃으로 표시됨):
-
OPA는 권한 부여 서비스에 대한 로컬 API 엔드포인트를 호출합니다.이 엔드포인트는 권한 부여 결정 중에 동적 데이터 검색을 위한 번들 엔드포인트 또는 엔드포인트로 구성됩니다.
-
권한 부여 서비스는 외부 데이터 소스를 쿼리하거나 호출하여 외부 데이터를 검색합니다. ( 번들 엔드포인트의 경우이 데이터에는 OPA 정책 및 규칙도 포함되어야 합니다. 번들 업데이트는 OPA의 캐시에 있는 모든 데이터와 정책을 대체합니다.)
-
권한 부여 서비스는 반환된 데이터에 필요한 모든 변환을 수행하여 이를 예상 JSON 입력으로 전환합니다.
-
데이터는 OPA로 반환됩니다. 번들 구성을 위해 메모리에 캐시되고 동적 권한 부여 결정에 즉시 사용됩니다.
OPA 흐름에 대한 외부 데이터 검색 - 복제기(다이어그램에 파란색 번호가 지정된 콜아웃으로 표시됨):
-
복제기(권한 부여 서비스의 일부)는 외부 데이터 소스를 호출하고 OPA에서 업데이트할 모든 데이터를 검색합니다. 여기에는 정책, 규칙 및 외부 데이터가 포함될 수 있습니다. 이 호출은 설정된 주기에 있을 수도 있고 외부 소스의 데이터 업데이트에 대한 응답으로 발생할 수도 있습니다.
-
권한 부여 서비스는 반환된 데이터에 필요한 모든 변환을 수행하여 이를 예상 JSON 입력으로 전환합니다.
-
권한 부여 서비스는 OPA를 호출하고 메모리에 데이터를 캐싱합니다. 권한 부여 서비스는 데이터, 정책 및 규칙을 선택적으로 업데이트할 수 있습니다.