En esta página se describe cómo configurar los atributos y las políticas de consentimiento.
La API de administración de consentimientos usa las políticas de consentimiento para representar el consentimiento otorgado por un usuario final o a través de un lineamiento de la organización. Las políticas de consentimiento son los componentes básicos de los recursos consent
. Cada recurso consent
puede contener hasta 10 políticas de consentimiento. Una política de consentimiento consta de atributos RESOURCE
que describen a qué se aplica la política y atributos REQUEST
que definen una regla de autorización que determina en qué condiciones es válida la política. Para obtener más información sobre las políticas de consentimiento, consulta Representación de políticas.
La API de administración de consentimientos usa atributos para definir el taxonomía de consentimiento y privacidad que un almacén de consentimiento puede comprender. Los atributos se usan para describir los consentimientos almacenados y los datos que se administran. Las solicitudes de determinación de acceso también usan atributos para describir las solicitudes que se realizarán.
Los recursos attributeDefinition
son los recursos dentro de un almacén de consentimiento que determinan qué atributos de consentimiento puede procesar la API de administración de consentimiento. Un almacén de consentimiento puede contener hasta 200 recursos de definición de atributos. Cada definición de atributo tiene uno de los siguientes tipos de atributos:
- Un atributo
RESOURCE
es un atributo cuyo valor se determina por las propiedades de los datos o la acción. Por ejemplo, si los datos están desidentificados o se pueden identificar. Este tipo de atributo se usa para describir a qué se aplica una política de consentimiento, a fin de describir datos registrados conuser data mappings
, y para limitar el alcance de algunas solicitudes de determinación de acceso a clases específicas de recursos. - Un atributo
REQUEST
es un atributo cuyo valor se determina por la identidad o el propósito del solicitante. Por ejemplo, las profesiones con consentimiento para su uso, como los investigadores o los proveedores de atención médica. Este tipo de atributo se usa para escribir la regla de autorización de una política de consentimiento y especificar el uso propuesto en una solicitud de determinación de acceso.
Un recurso attributeDefinition
representa un solo atributo con hasta 500 valores de atributos. Los valores de atributo representan los posibles valores que puede tener un atributo. Para ver un ejemplo, consulta Representación de políticas.
Con el tiempo, se pueden agregar valores de atributos adicionales a una definición de atributo, pero no se pueden quitar. La integridad referencial de las definiciones de atributos se aplica en relación con los recursos consent
. Esto significa que algunos campos de una definición de atributo no se pueden cambiar ni borrar mientras la última revisión de un recurso de consentimiento hace referencia a esa definición de atributo.
En el siguiente diagrama se muestra el proceso para crear atributos de consentimiento en un nuevo almacén de consentimiento:
Para crear todas las definiciones de atributos que requiere la taxonomía de consentimiento y privacidad, repite el proceso que se muestra en Crea una definición del atributo RESOURCE
y Crea una definición del atributo REQUEST
.
Crea una definición del atributo RESOURCE
Para crear una definición del atributo RESOURCE
, usa el método projects.locations.datasets.consentStores.attributeDefinitions.create
. Realiza una solicitud POST
y especifica la siguiente información en la solicitud:
- El nombre del almacén del consentimiento principal
- Un nombre para la definición de atributo que es único en el almacén de consentimiento superior. El nombre puede contener letras minúsculas o mayúsculas, números o guiones bajos. No debe ser una palabra clave reservada dentro de Common Expression Language (CEL).
- La categoría del atributo, en este caso
RESOURCE
- Los valores posibles que puede representar este atributo
- Un token de acceso
curl
En el siguiente ejemplo, se muestra una solicitud POST
mediante curl
que crea un atributo RESOURCE
llamado data_identifiable
con los valores identifiable
y de-identified
:
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"
Si la solicitud tiene éxito, en el servidor se mostrará una respuesta similar a la siguiente muestra en formato 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
En el siguiente ejemplo, se muestra una solicitud POST
mediante Windows PowerShell que crea un atributo RESOURCE
llamado data_identifiable
con los valores identifiable
y de-identified
.
$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
Si la solicitud tiene éxito, en el servidor se mostrará una respuesta similar a la siguiente muestra en formato 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
Crea una definición del atributo REQUEST
Para crear una definición del atributo REQUEST
, usa el método projects.locations.datasets.consentStores.attributeDefinitions.create
. Realiza una solicitud POST
y especifica la siguiente información en la solicitud:
- El nombre del almacén del consentimiento principal
- Un nombre para la definición de atributo que es único en el almacén de consentimiento superior. El nombre puede ser cualquier string Unicode de 1 a 256 caracteres que contenga números, letras, guiones bajos, guiones y puntos, pero no puede comenzar con un número.
- La categoría del atributo, en este caso
REQUEST
. - Los valores posibles que puede representar este atributo.
- Un conjunto opcional de valores predeterminados que se aplicarán a las políticas de consentimiento. Si estableces un valor para este campo, se configurará tu almacén de consentimiento a fin de que las políticas de consentimiento incluyan este atributo y este valor si este no se especifica en esa política. Este campo solo debe configurarse si es necesario en particular para tu caso de uso.
- Un token de acceso.
curl
En el siguiente ejemplo, se muestra una solicitud POST
mediante curl
que crea un atributo REQUEST
llamado requester_identity
:
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"
Si la solicitud tiene éxito, en el servidor se mostrará una respuesta similar a la siguiente muestra en formato 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
En el siguiente ejemplo, se muestra una solicitud POST
mediante Windows PowerShell que crea un atributo REQUEST
llamado requester_identity
.
$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
Si la solicitud tiene éxito, en el servidor se mostrará una respuesta similar a la siguiente muestra en formato 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
Edita una definición de atributo
REST
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_IDEl ID de tu proyecto de Google Cloud.
- LOCATION: La ubicación del conjunto de datos.
- DATASET_ID: El ID del conjunto de datos
- CONSENT_STORE_ID: El ID del almacén de consentimientos
- ATTRIBUTE_DEFINITION_ID: El ID de la definición del atributo
- DESCRIPTION: Es una descripción del atributo.
Cuerpo JSON de la solicitud:
{ "description": "DESCRIPTION" }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado request.json
.
Ejecuta el comando siguiente en la terminal para crear o reemplazar este archivo en el directorio actual:
cat > request.json << 'EOF' { "description": "DESCRIPTION" } EOF
Luego, ejecuta el siguiente comando para enviar tu solicitud de 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
Guarda el cuerpo de la solicitud en un archivo llamado request.json
.
Ejecuta el comando siguiente en la terminal para crear o reemplazar este archivo en el directorio actual:
@' { "description": "DESCRIPTION" } '@ | Out-File -FilePath request.json -Encoding utf8
Luego, ejecuta el siguiente comando para enviar tu solicitud de 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
Explorador de API
Copia el cuerpo de la solicitud y abre la página de referencia del método. El panel del Explorador de API se abre en la parte derecha de la página. Puedes interactuar con esta herramienta para enviar solicitudes. Pega el cuerpo de la solicitud en esta herramienta, completa cualquier otro campo obligatorio y haz clic en Ejecutar.
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
Python
Obtén una definición de atributo
REST
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_IDEl ID de tu proyecto de Google Cloud.
- LOCATION: La ubicación del conjunto de datos.
- DATASET_ID: El ID del conjunto de datos
- CONSENT_STORE_ID: El ID del almacén de consentimientos
- ATTRIBUTE_DEFINITION_ID: El ID de la definición del atributo
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el siguiente comando:
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
Ejecuta el siguiente comando:
$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
Explorador de API
Abre la página de referencia del método. El panel del Explorador de API se abre en la parte derecha de la página. Puedes interactuar con esta herramienta para enviar solicitudes. Completa los campos obligatorios y haz clic en Ejecutar.
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
Python
Enumera definiciones de atributos
REST
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_IDEl ID de tu proyecto de Google Cloud.
- LOCATION: La ubicación del conjunto de datos.
- DATASET_ID: El ID del conjunto de datos
- CONSENT_STORE_ID: El ID del almacén de consentimientos
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el siguiente comando:
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
Ejecuta el siguiente comando:
$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
Explorador de API
Abre la página de referencia del método. El panel del Explorador de API se abre en la parte derecha de la página. Puedes interactuar con esta herramienta para enviar solicitudes. Completa los campos obligatorios y haz clic en Ejecutar.
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
Python
Borra una definición de atributo
REST
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_IDEl ID de tu proyecto de Google Cloud.
- LOCATION: La ubicación del conjunto de datos.
- DATASET_ID: El ID del conjunto de datos
- CONSENT_STORE_ID: El ID del almacén de consentimientos
- ATTRIBUTE_DEFINITION_ID: El ID de la definición del atributo
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el siguiente comando:
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
Ejecuta el siguiente comando:
$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
Explorador de API
Abre la página de referencia del método. El panel del Explorador de API se abre en la parte derecha de la página. Puedes interactuar con esta herramienta para enviar solicitudes. Completa los campos obligatorios y haz clic en Ejecutar.
Deberías recibir una respuesta JSON similar a la que se muestra a continuación: