기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
테넌트 격리 및 데이터 프라이버시에 대한 권장 사항
이전 단원에서는 OPA 및 Amazon Verified Permissions와 함께 외부 데이터를 사용하여 권한 부여 결정을 내리는 데 도움이 되는 몇 가지 접근 방식을 제공했습니다. 가능한 경우 OPA의 메모리에 데이터를 저장하는 대신 SaaS 컨텍스트 데이터를 OPA에 전달하여 권한 부여 결정을 내리는 데 과부하 입력 접근 방식을 사용하는 것이 좋습니다. 이 사용 사례는 서비스에 외부 데이터 저장을 지원하지 AWS Cloud Map않으므로에 적용되지 않습니다.
역할 기반 액세스 제어(RBAC) 또는 RBAC 및 속성 기반 액세스 제어(ABAC) 하이브리드 모델에서는 권한 부여 결정을 내리기 위해 역할과 권한을 참조해야 하므로 권한 부여 요청 또는 쿼리로만 제공되는 데이터가 충분하지 않을 수 있습니다. 테넌트 격리 및 역할 매핑의 프라이버시를 유지하려면이 데이터가 OPA 내에 있으면 안 됩니다. RBAC 데이터는 데이터베이스와 같은 외부 데이터 소스에 상주하거나 IdP에서 JWT의 클레임의 일부로 전달되어야 합니다. Verified Permissions에서는 각 테넌트에 논리적으로 분리된 자체 정책 스토어가 있기 때문에 테넌트별 정책 스토어 모델의 정책 및 스키마의 일부로 RBAC 데이터를 유지할 수 있습니다. 그러나 하나의 공유 다중 테넌트 정책 스토어 모델에서는 테넌트 격리를 유지하기 위해 역할 매핑 데이터가 Verified Permissions 내에 있으면 안 됩니다.
또한 사전 정의된 역할을 특정 권한에 매핑하는 데 OPA 및 Verified Permissions를 사용해서는 안 됩니다. 테넌트가 자신의 역할과 권한을 정의하기 어렵기 때문입니다. 또한 권한 부여 로직을 견고하게 만들고 지속적인 업데이트가 필요합니다. 이 모델은 각 테넌트가 테넌트별로 독립적으로 평가할 수 있는 자체 정책을 갖도록 허용하므로이 지침의 예외는 Verified Permissions의 테넌트별 정책 스토어 모델입니다.
Amazon Verified Permissions
Verified Permissions가 잠재적으로 프라이빗 RBAC 데이터를 저장할 수 있는 유일한 위치는 스키마에 있습니다. 각 테넌트에는 논리적으로 분리된 자체 정책 스토어가 있기 때문에 테넌트별 정책 스토어 모델에서는이 설정이 허용됩니다. 그러나 하나의 공유 다중 테넌트 정책 스토어 모델에서 테넌트 격리를 손상시킬 수 있습니다. 권한 부여 결정을 내리는 데이 데이터가 필요한 경우 DynamoDB 또는 Amazon RDS와 같은 외부 소스에서 데이터를 검색하여 Verified Permissions 권한 부여 요청에 통합해야 합니다.
OPA
RBAC 데이터의 프라이버시 및 테넌트 격리를 유지하기 위한 OPA의 안전한 접근 방식에는 동적 데이터 검색 또는 복제를 사용하여 외부 데이터를 가져오는 것이 포함됩니다. 이는 이전 다이어그램에 설명된 권한 부여 서비스를 사용하여 권한 부여 결정을 내리기 위한 테넌트별 또는 사용자별 외부 데이터만 제공할 수 있기 때문입니다. 예를 들어, 사용자가 로그인할 때 복제기를 사용하여 RBAC 데이터 또는 권한 매트릭스를 OPA 캐시에 제공하고 입력 데이터에 제공된 사용자를 기반으로 데이터를 참조할 수 있습니다. 동적으로 가져온 데이터와 유사한 접근 방식을 사용하여 권한 부여 결정을 내리는 데 필요한 관련 데이터만 검색할 수 있습니다. 또한 동적 데이터 검색 접근 방식에서는이 데이터를 OPA에 캐싱할 필요가 없습니다. 번들링 접근 방식은 테넌트 격리를 유지하는 데 동적 검색 접근 방식만큼 효과적이지 않습니다. OPA 캐시의 모든 것을 업데이트하고 정확한 업데이트를 처리할 수 없기 때문입니다. 번들링 모델은 OPA 정책 및 비 RBAC 데이터를 업데이트하는 데 여전히 좋은 접근 방식입니다.