이 페이지에서는 동의 정책과 속성을 구성하는 방법을 설명합니다.
동의 정책은 Consent Management API에서 사용되어 최종 사용자 또는 조직 가이드라인을 통해 부여된 동의를 나타냅니다. 동의 정책은 consent
리소스의 구성 요소입니다. 각 consent
리소스에는 최대 10개의 동의 정책이 포함될 수 있습니다. 동의 정책은 정책이 적용되는 대상을 설명하는 RESOURCE
속성과 정책이 유효한 조건을 결정하는 승인 규칙을 정의하는 REQUEST
속성으로 구성됩니다. 동의 정책에 대한 자세한 내용은 정책 표현을 참조하세요.
Consent Management API는 속성을 사용하여 동의 저장소에서 이해할 수 있는 동의 및 개인정보 보호 분류를 정의합니다. 속성은 저장되는 동의 및 관리되는 데이터를 설명하는 데 사용됩니다. 액세스 결정 요청은 또한 수행되는 요청을 설명하는 속성도 사용합니다.
attributeDefinition
리소스는 Consent Management API에서 처리할 수 있는 동의 속성을 결정하는 동의 저장소 내의 리소스입니다. 동의 저장소에는 최대 200개의 속성 정의 리소스가 포함될 수 있습니다. 각 속성 정의에는 다음 속성 유형 중 하나가 포함됩니다.
RESOURCE
속성은 값이 데이터 또는 작업의 속성에 의해 결정되는 속성입니다. 예를 들어 데이터가 익명화되었는지 또는 식별할 수 있는지를 나타냅니다. 이 유형의 속성은 동의 정책이 적용되는 대상을 설명하고,user data mappings
로 등록된 데이터를 설명하고, 특정 리소스 클래스로의 일부 액세스 결정 요청 범위를 좁히는 데 사용됩니다.REQUEST
속성은 요청자의 ID 또는 목적으로 값이 결정되는 속성입니다. 예를 들어 연구원 또는 의료 서비스 제공자와 같이 사용에 동의한 직업입니다. 이 유형의 속성은 동의 정책의 승인 규칙을 작성하고 액세스 결정 요청에 제안된 사용을 지정하는 데 사용됩니다.
attributeDefinition
리소스는 최대 500개의 속성 값을 가진 단일 속성을 나타냅니다. 속성 값은 속성이 가질 수 있는 가능한 값을 나타냅니다. 예시를 보려면 정책 표현을 참조하세요.
시간이 지나면서 속성 정의에 추가 속성 값을 추가할 수 있지만 삭제할 수는 없습니다. 속성 정의의 참조 무결성은 consent
리소스와 관련하여 적용됩니다. 즉, 속성 정의의 일부 필드는 해당 속성 정의가 동의 리소스의 최신 버전에서 참조되는 동안 변경하거나 삭제할 수 없습니다.
다음 다이어그램은 새 동의 저장소에 동의 속성을 만드는 프로세스를 보여줍니다.
동의 및 개인정보 보호 분류에 필요한 모든 속성 정의를 만들려면 RESOURCE
속성 정의 만들기 및 REQUEST
속성 정의 만들기에 나와 있는 프로세스를 반복합니다.
RESOURCE
속성 정의 만들기
RESOURCE
속성 정의를 만들려면 projects.locations.datasets.consentStores.attributeDefinitions.create
메서드를 사용합니다. POST
요청을 수행하고 다음 정보를 요청에 지정합니다.
- 부모 동의 저장소 이름
- 부모 동의 저장소에서 고유한 속성 정의 이름입니다. 이름에는 소문자, 대문자, 숫자, 밑줄을 사용할 수 있습니다. Common Expression Language(CEL) 내에 예약된 키워드가 아니어야 합니다.
- 속성의 카테고리(이 경우
RESOURCE
). - 이 속성이 나타낼 수 있는 값은 다음과 같습니다.
- 액세스 토큰
curl
다음 샘플은 curl
를 사용하여 identifiable
및 de-identified
값이 있는 data_identifiable
이라는 RESOURCE
속성을 만드는 POST
요청을 보여줍니다.
curl -X POST \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/consent+json; charset=utf-8" \ --data "{ 'description': 'whether the data is identifiable', 'category': 'RESOURCE', 'allowed_values': [ 'identifiable', 'de-identified' ], }" \ "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/consentStores/CONSENT_STORE_ID/attributeDefinitions?attribute_definition_id=data_identifiable"
요청이 성공하면 서버는 다음 샘플과 비슷한 응답을 JSON 형식으로 반환합니다.
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/consentStores/CONSENT_STORE_ID/attributeDefinitions/data_identifiable", "description": "whether the data is identifiable", "category": "RESOURCE", "allowedValues": [ "identifiable", "de-identified" ] }
PowerShell
다음 샘플은 Windows PowerShell을 사용하여 identifiable
및 de-identified
값이 있는 data_identifiable
이라는 RESOURCE
속성을 만드는 POST
요청을 보여줍니다.
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-WebRequest ` -Method Post ` -Headers $headers ` -ContentType: "application/consent+json; charset=utf-8" ` -Body "{ 'description': 'whether the data is identifiable', 'category': 'RESOURCE', 'allowed_values': [ 'identifiable', 'de-identified' ] }" ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/consentStores/CONSENT_STORE_ID/attributeDefinitions?attribute_definition_id=data_identifiable" | Select-Object -Expand Content
요청이 성공하면 서버는 다음 샘플과 비슷한 응답을 JSON 형식으로 반환합니다.
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/consentStores/CONSENT_STORE_ID/attributeDefinitions/data_identifiable", "description": "whether the data is identifiable", "category": "RESOURCE", "allowedValues": [ "identifiable", "de-identified" ] }
Python
REQUEST
속성 정의 만들기
REQUEST
속성 정의를 만들려면 projects.locations.datasets.consentStores.attributeDefinitions.create
메서드를 사용합니다. POST
요청을 수행하고 다음 정보를 요청에 지정합니다.
- 부모 동의 저장소 이름
- 부모 동의 저장소에서 고유한 속성 정의 이름입니다. 이름은 숫자, 문자, 밑줄, 대시, 마침표로 이루어진 1~256자의 유니코드 문자열일 수 있지만 숫자로 시작할 수 없습니다.
- 속성의 카테고리(이 경우
REQUEST
) - 이 속성이 나타낼 수 있는 가능한 값
- 동의 정책에 적용할 선택적 기본값 집합. 이 필드의 값을 설정하면 동의 정책에 해당 속성과 값이 포함된 것으로 간주하도록 동의 저장소를 구성합니다(해당 속성이 정책에 지정되지 않은 경우). 이 필드는 사용 사례에 특별히 필요한 경우에만 설정해야 합니다.
- 액세스 토큰
curl
다음 샘플은 curl
를 사용하여 requester_identity
라는 REQUEST
속성을 만드는 POST
요청을 보여줍니다.
curl -X POST \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/consent+json; charset=utf-8" \ --data "{ 'description': 'what groups are consented for access', 'category': 'REQUEST', 'allowed_values': ['internal-researcher', 'external-researcher', 'clinical-admin'], }" \ "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/consentStores/CONSENT_STORE_ID/attributeDefinitions?attribute_definition_id=requester_identity"
요청이 성공하면 서버는 다음 샘플과 비슷한 응답을 JSON 형식으로 반환합니다.
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/consentStores/CONSENT_STORE_ID/attributeDefinitions/requester_identity", "description": "what groups are consented for access", "category": "REQUEST", "allowedValues": [ "internal-researcher", "external-researcher", "clinical-admin" ] }
PowerShell
다음 샘플은 Windows PowerShell을 사용하여 requester_identity
라는 REQUEST
속성을 만드는 POST
요청을 보여줍니다.
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-WebRequest ` -Method Post ` -Headers $headers ` -ContentType: "application/consent+json; charset=utf-8" ` -Body "{ 'description': 'what groups are consented for access', 'category': 'REQUEST', 'allowed_values': ['internal-researcher', 'external-researcher', 'clinical-admin'] }" ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/consentStores/CONSENT_STORE_ID/attributeDefinitions?attribute_definition_id=requester_identity" | Select-Object -Expand Content
요청이 성공하면 서버는 다음 샘플과 비슷한 응답을 JSON 형식으로 반환합니다.
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/consentStores/CONSENT_STORE_ID/attributeDefinitions/requester_identity", "description": "what groups are consented for access", "category": "REQUEST", "allowedValues": [ "internal-researcher", "external-researcher", "clinical-admin" ] }
Python
속성 정의 수정
REST
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- PROJECT_ID: Google Cloud 프로젝트의 ID
- LOCATION: 데이터 세트 위치
- DATASET_ID: 데이터 세트 ID
- CONSENT_STORE_ID: 동의 저장소 ID
- ATTRIBUTE_DEFINITION_ID: 속성 정의 ID
- DESCRIPTION: 속성에 대한 설명
JSON 요청 본문:
{ "description": "DESCRIPTION" }
요청을 보내려면 다음 옵션 중 하나를 선택합니다.
curl
요청 본문을 request.json
파일에 저장합니다.
터미널에서 다음 명령어를 실행하여 현재 디렉터리에 이 파일을 만들거나 덮어씁니다.
cat > request.json << 'EOF' { "description": "DESCRIPTION" } EOF
그런 후 다음 명령어를 실행하여 REST 요청을 전송합니다.
curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/consentStores/CONSENT_STORE_ID/attributeDefinitions/ATTRIBUTE_DEFINITION_ID?updateMask=description"
PowerShell
요청 본문을 request.json
파일에 저장합니다.
터미널에서 다음 명령어를 실행하여 현재 디렉터리에 이 파일을 만들거나 덮어씁니다.
@' { "description": "DESCRIPTION" } '@ | Out-File -FilePath request.json -Encoding utf8
그런 후 다음 명령어를 실행하여 REST 요청을 전송합니다.
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/consentStores/CONSENT_STORE_ID/attributeDefinitions/ATTRIBUTE_DEFINITION_ID?updateMask=description" | Select-Object -Expand Content
API 탐색기
요청 본문을 복사하고 메서드 참조 페이지를 엽니다. 페이지 오른쪽에 API 탐색기 패널이 열립니다. 이 도구를 사용하여 요청을 보낼 수 있습니다. 요청 본문을 이 도구에 붙여넣고 다른 필수 필드를 입력한 후 실행을 클릭합니다.
다음과 비슷한 JSON 응답이 표시됩니다.
Python
속성 정의 가져오기
REST
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- PROJECT_ID: Google Cloud 프로젝트의 ID
- LOCATION: 데이터 세트 위치
- DATASET_ID: 데이터 세트 ID
- CONSENT_STORE_ID: 동의 저장소 ID
- ATTRIBUTE_DEFINITION_ID: 속성 정의 ID
요청을 보내려면 다음 옵션 중 하나를 선택합니다.
curl
다음 명령어를 실행합니다.
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/consentStores/CONSENT_STORE_ID/attributeDefinitions/ATTRIBUTE_DEFINITION_ID"
PowerShell
다음 명령어를 실행합니다.
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/consentStores/CONSENT_STORE_ID/attributeDefinitions/ATTRIBUTE_DEFINITION_ID" | Select-Object -Expand Content
API 탐색기
메서드 참조 페이지를 엽니다. 페이지 오른쪽에 API 탐색기 패널이 열립니다. 이 도구를 사용하여 요청을 보낼 수 있습니다. 모든 필수 필드를 입력하고 실행을 클릭합니다.
다음과 비슷한 JSON 응답이 표시됩니다.
Python
속성 정의 나열
REST
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- PROJECT_ID: Google Cloud 프로젝트의 ID
- LOCATION: 데이터 세트 위치
- DATASET_ID: 데이터 세트 ID
- CONSENT_STORE_ID: 동의 저장소 ID
요청을 보내려면 다음 옵션 중 하나를 선택합니다.
curl
다음 명령어를 실행합니다.
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/consentStores/CONSENT_STORE_ID/attributeDefinitions"
PowerShell
다음 명령어를 실행합니다.
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/consentStores/CONSENT_STORE_ID/attributeDefinitions" | Select-Object -Expand Content
API 탐색기
메서드 참조 페이지를 엽니다. 페이지 오른쪽에 API 탐색기 패널이 열립니다. 이 도구를 사용하여 요청을 보낼 수 있습니다. 모든 필수 필드를 입력하고 실행을 클릭합니다.
다음과 비슷한 JSON 응답이 표시됩니다.
Python
속성 정의 삭제
REST
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- PROJECT_ID: Google Cloud 프로젝트의 ID
- LOCATION: 데이터 세트 위치
- DATASET_ID: 데이터 세트 ID
- CONSENT_STORE_ID: 동의 저장소 ID
- ATTRIBUTE_DEFINITION_ID: 속성 정의 ID
요청을 보내려면 다음 옵션 중 하나를 선택합니다.
curl
다음 명령어를 실행합니다.
curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/consentStores/CONSENT_STORE_ID/attributeDefinitions/ATTRIBUTE_DEFINITION_ID"
PowerShell
다음 명령어를 실행합니다.
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/consentStores/CONSENT_STORE_ID/attributeDefinitions/ATTRIBUTE_DEFINITION_ID" | Select-Object -Expand Content
API 탐색기
메서드 참조 페이지를 엽니다. 페이지 오른쪽에 API 탐색기 패널이 열립니다. 이 도구를 사용하여 요청을 보낼 수 있습니다. 모든 필수 필드를 입력하고 실행을 클릭합니다.
다음과 비슷한 JSON 응답이 표시됩니다.