이 페이지에서는 동의 관리 API와 이를 사용하여 사용자 동의 및 개인정보를 관리하는 방법을 설명합니다.
동의 관리 API는 동의 및 개인정보 보호 아키텍처의 구성요소이며 사용자의 동의 및 데이터 개인정보 보호를 위한 확장 가능하고 안전한 관리를 제공합니다. Consent Management API는 사용자에게서 받은 동의 정보를 저장하고, 각 사용 사례에 허용되는 데이터를 추적하며, 애플리케이션이 사용자의 지시에 따라서만 데이터를 활용하도록 도와줍니다.
Consent Management API 정보 흐름
Consent Management API 내에서 동의 및 개인정보 보호 흐름은 다음과 같습니다.
- 애플리케이션은 사용자에게 개인정보 보호 옵션을 제공한 후 사용자의 동의 여부를 나타내기 위한 동의 관리 API 내에 동의 기록을 만들거나 수정합니다.
- 애플리케이션이 다양한 데이터 저장소에 데이터를 쓸 때 애플리케이션은 Consent Management API 인스턴스에 데이터의 위치와 특성을 등록합니다.
- 애플리케이션이 특정 사용 사례에 대한 데이터 동의 여부를 확인해야 하는 경우 요청된 데이터와 제안된 사용에 대해 Consent Management API에 요청합니다.
- Consent Management API는 요청된 데이터와 제안된 사용을 저장된 동의와 비교하고 올바른 동의가 있으면 긍정적인 응답을 반환합니다. 유효한 동의가 없으면 부정적인 응답이 반환됩니다.
다음 다이어그램은 Consent Management API 정보 흐름을 보여줍니다.
Consent Management API 내에서 동의 데이터를 구성하는 방법에 대한 자세한 내용은 Consent Management API 데이터 모델을 참조하세요.
정책 결정 사항
Consent Management API는 다음과 같이 사용자 동의 및 개인정보 보호 아키텍처에서 정책 결정 사항 역할을 합니다.
- 애플리케이션 사용자가 부여한 동의 정책을 저장합니다.
- 승인된 클라이언트 애플리케이션에서 수행한 데이터 액세스 쿼리를 수락합니다.
- 저장된 동의 정책에 대한 액세스 쿼리를 평가합니다.
- 클라이언트 애플리케이션에 동의 정책을 적용하기 위한 액세스 권한을 결정합니다.
정책 시행
Consent Management API는 다음과 같이 사용자 동의 및 개인정보 보호 아키텍처 내에서 정책 시행을 지원합니다.
- 애플리케이션 또는 정책 시행 지점에서 수행된 액세스 결정 쿼리를 처리합니다.
- 리소스에 지정된 목적으로 액세스할 수 있는지 평가합니다.
- 지정된 목적을 위해 액세스할 수 있는 모든 리소스를 결정합니다.
- 리소스 속성 및 동의 정책에 리소스를 연결하므로, 시행 지점에 요청 속성 및 선택적 리소스 이름만 지정하면 됩니다.
- 동의가 추가, 업데이트 또는 취소된 경우에도 현재 동의 상태를 사용하여 액세스 결정을 반환합니다.
동의 및 개인정보 보호 아키텍처 내에서 동의 관리 API를 사용하여 2개 이상의 정책 시행 패턴을 구현할 수 있습니다. 다음 목록은 정책 시행 패턴의 예시를 보여줍니다.
- 신뢰할 수 있는 애플리케이션의 시행. 사용자의 ID와 자격을 검증한 애플리케이션은 관련 속성을 동의 관리 API에 전달할 수 있습니다. 이렇게 하면 사용자가 동의를 제출하거나 업데이트할 수 있으며, 인증된 자격이 있는 애플리케이션에서 사용 사례에 대한 동의한 정보에만 액세스할 수 있습니다.
- 고객 미들웨어의 시행 사용자 ID 및 자격 확인이 필요한 애플리케이션은 Consent Management API를 사용하여 지정된 요청에 대한 액세스 허용 여부를 판별할 수 있습니다.
- 리소스 서버의 시행 리소스 서버는 사용자의 ID를 사용하여 필요한 경우 다른 애플리케이션에서 자격 증명을 검색한 다음, Consent Management API를 호출하여 요청을 수행하기 전에 액세스를 확인할 수 있습니다.
정책 표현
Consent Management API 내 동의 정책은 정책이 적용되는 데이터를 정의하는 리소스 속성 값 집합과 해당 정책이 유효한 조건을 정의하는 승인 규칙으로 구성됩니다.
단일 리소스 속성에 여러 값이 지정되면 정책은 이러한 값과 일치하는 데이터에 적용됩니다. 정책에 여러 리소스 속성이 표시되면 각 리소스 속성이 일치해야 정책이 적용됩니다.
승인 규칙은 Common Expression Language(CEL)의 제한된 변형을 사용하여 관련 데이터에 대한 액세스를 허용하는 요청 속성 값 간의 관계를 유연하게 설명합니다. CEL에 대한 자세한 내용은 Common Expression Language를 참조하세요.
동의 리소스에는 사용자에게 제공되는 동의 관련 질문에 대한 긍정적인 응답을 나타내는 여러 동의 정책이 포함될 수 있습니다. 동의 정책은 전체 동의 양식 또는 조직 및 관리 결정을 나타내는 데 사용할 수도 있습니다.
다음 다이어그램은 Consent Management API에서 정책을 나타내는 방법을 보여줍니다.
다음 다이어그램은 리소스 및 요청 속성을 사용하여 간단한 동의 정책을 구성하는 방법을 보여줍니다. 두 개 이상의 정책을 결합하여 더 복잡한 정책을 구성할 수 있습니다.
동의 레코드
Consent Management API에는 다음 유형의 동의 레코드가 저장됩니다.
- 동의 아티팩트: 사용자가 수락하거나 서명한 문서를 저장합니다. 이 레코드는 동의 프로세스 중에 사용자에게 표시되는 화면의 PDF 또는 이미지를 포함할 수 있습니다. 또한 서명, 타임스탬프, 동의 프로세스를 문서화하는 기타 중요한 정보를 저장하는 데에도 사용할 수 있습니다.
- 동의 리소스: 사용자가 구성된 동의 속성 조건에 따라 사용자가 동의한 동의를 설명합니다. 동의 관리 API는 이러한 레코드를 평가하여 사용 사례와 관련된 데이터의 수락 여부를 결정합니다. 동의 리소스에는 부여된 동의 및 동의 상태가 포함됩니다. 이 레코드는 해당 동의 아티팩트에 연결될 수도 있습니다.
동의 레코드에 대한 자세한 내용은 사용자 동의 만들기 및 업데이트를 참조하세요.
데이터 관리
Consent Management API는 문자열을 사용하여 데이터를 설명할 수 있는 한 Google Cloud, 온프레미스 또는 다른 클라우드 제공업체에 저장된 스키마에서 저장된 데이터를 관리할 수 있습니다. Consent Management API는 사용자 데이터 매핑을 사용하여 서비스 자체에 저장할 데이터를 저장하지 않고도 관리형 데이터를 추적합니다.
각 사용자 데이터 매핑에는 데이터 ID, 사용자 ID, 리소스 속성 값 집합이 포함됩니다. 데이터 ID는 사용자 데이터 매핑으로 표시되는 데이터를 고유하게 식별하는 문자열입니다. 사용자 ID는 해당 데이터를 사용자에게 연결하는 불투명 식별자입니다. 리소스 속성 값은 속성 정의 리소스에서 정의한 용어를 사용하여 데이터의 특성을 설명합니다.
다음은 동의 관리 데이터의 공통 스토리지 위치입니다.
- FHIR 저장소
- BigQuery
- Cloud Storage
사용자 데이터 매핑 작성에 대한 자세한 내용은 사용자 데이터 등록을 참조하세요.
액세스 결정
액세스 결정 요청은 제안된 사용이 특정 데이터 요소, 사용자와 관련된 모든 데이터 요소 또는 전체 데이터 저장소에 액세스하도록 허용되는지 알아야 하는 애플리케이션에서 수행됩니다. 동의 관리 API는 지정된 데이터 및 제안된 사용에 대한 권한을 부여하는 유효한 동의가 있는지 여부를 평가하여 요청이 허용되는지 확인합니다. 동의 관리 API는 다음과 같이 이 평가를 수행합니다.
- Consent Management API는 제안된 사용에 대한 요청 속성 값과 대상 리소스 또는 사용자 ID나 리소스 속성 값으로 설명된 대상 리소스 범위가 포함된 액세스 결정 요청을 수신합니다.
- 목표 리소스 범위가 지정되면 동의 관리 API가 범위와 일치하는 리소스를 결정합니다. 예를 들어 리소스 속성 값의 범위를 정의하면 이 범위 내의 모든 리소스가 액세스 결정 요청에서 사용됩니다.
- 일치하는 모든 리소스의 동의가 식별됩니다.
- 제안된 사용은 관련 동의의 승인 규칙에 따라 평가됩니다.
- 승인 규칙 중 하나라도 이러한 요청 속성 값의 조합을 허용하는 경우 평가된 각 리소스에 대해 긍정적인 액세스 결정이 반환됩니다.
기본적으로 액세스 권한은 활성 동의인 경우에만 이루어집니다. 초안 상태의 동의는 액세스 결정 요청에 직접 지정하여 액세스 결정에 포함될 수 있습니다. 만료, 취소 또는 거부된 상태의 동의는 모든 액세스 결정 요청에서 무시됩니다.
액세스 결정 요청을 하는 방법에 대한 자세한 내용은 액세스 결정하기를 참조하세요.