In questa pagina viene descritto come configurare attributi e criteri relativi al consenso.
Le norme relative al consenso vengono utilizzate dall'API Consent Management per rappresentare il consenso concesso
da un utente finale o tramite una linea guida dell'organizzazione. Le norme relative al consenso sono i componenti di base delle risorse di consent
. Ogni risorsa consent
può contenere fino a 10 criteri per il consenso. Un criterio per il consenso è composto da RESOURCE
attributi che descrivono a cosa si applica il criterio e REQUEST
da attributi che definiscono una regola di autorizzazione che determina in quali condizioni il criterio è valido. Per ulteriori informazioni sulle norme relative al consenso, consulta la pagina Rappresentazione delle norme.
L'API Consent Management utilizza gli attributi per definire la tassonomia del consenso e della privacy che un archivio di consensi può comprendere. Gli attributi vengono utilizzati per descrivere i consensi archiviati e i dati gestiti. Le richieste di determinazione degli accessi utilizzano anche gli attributi per descrivere le richieste effettuate.
Le risorse di attributeDefinition
sono le risorse all'interno di un archivio di consensi che determinano quali
attributi di consenso può elaborare l'API Consent Management. Un archivio di consensi può contenere
fino a 200 risorse di definizione degli attributi. Ogni definizione di attributo ha uno dei seguenti tipi di attributo:
- Un attributo
RESOURCE
è un attributo il cui valore è determinato dalle proprietà dei dati o dell'azione. ad esempio se i dati sono anonimizzati o identificabili. Questo tipo di attributo viene utilizzato per descrivere a cosa si applicano le norme relative al consenso, per descrivere i dati registrati conuser data mappings
e per restringere l'ambito di alcune richieste di determinazione dell'accesso a classi di risorse specifiche. - Un attributo
REQUEST
è un attributo il cui valore è determinato dall'identità o dallo scopo del richiedente. ad esempio le professioni per le quali è consentito l'uso, come ricercatori o operatori sanitari. Questo tipo di attributo viene utilizzato per scrivere la regola di autorizzazione di un criterio di consenso e per specificare l'uso proposto in una richiesta di determinazione dell'accesso.
Una risorsa attributeDefinition
rappresenta un singolo attributo con un massimo di 500 valori degli attributi. I valori degli attributi rappresentano
i possibili valori che un attributo può avere. Per un esempio, consulta la sezione Rappresentazione delle norme.
Nel tempo è possibile aggiungere
altri valori di attributi a una definizione di attributo, ma non possono essere rimossi. L'integrità referenziale delle definizioni degli attributi viene applicata in modo correlato alle risorse consent
. Ciò significa che alcuni campi della definizione di un attributo non possono essere modificati o eliminati mentre la definizione dell'attributo fa riferimento all'ultima revisione di una risorsa di consenso.
Il seguente diagramma mostra la procedura per creare attributi del consenso in un nuovo archivio di consensi:
Per creare tutte le definizioni degli attributi richieste dalla tassonomia del consenso e della privacy, ripeti la procedura descritta in Creazione di una definizione di attributo RESOURCE
e Creazione di una definizione di attributo REQUEST
.
Creazione di una definizione di attributo RESOURCE
Per creare una definizione dell'attributo RESOURCE
, utilizza il metodo projects.locations.datasets.consentStores.attributeDefinitions.create
. Effettua una richiesta POST
e specifica le seguenti informazioni nella richiesta:
- Il nome dell'archivio di consensi padre.
- Un nome per la definizione dell'attributo univoco nell'archivio del consenso padre. Il nome può essere composto da qualsiasi lettera minuscola o maiuscola, numeri e trattini bassi. Non deve essere una parola chiave riservata all'interno del Common Expression Language (CEL).
- La categoria dell'attributo, in questo caso
RESOURCE
- I possibili valori che questo attributo può rappresentare
- Un token di accesso
curl
L'esempio seguente mostra una richiesta POST
utilizzando curl
che crea un
attributo RESOURCE
denominato data_identifiable
con i valori identifiable
e
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"
Se la richiesta riesce, il server restituisce una risposta simile al seguente esempio in 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
L'esempio seguente mostra una richiesta POST
mediante Windows PowerShell che crea un attributo RESOURCE
denominato data_identifiable
con i valori identifiable
e 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
Se la richiesta riesce, il server restituisce una risposta simile al seguente esempio in 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
Creazione di una definizione di attributo REQUEST
Per creare una definizione dell'attributo REQUEST
, utilizza il metodo projects.locations.datasets.consentStores.attributeDefinitions.create
. Effettua una richiesta POST
e specifica le seguenti informazioni nella richiesta:
- Il nome dell'archivio di consensi padre.
- Un nome per la definizione dell'attributo univoco nell'archivio del consenso padre. Il nome può essere qualsiasi stringa Unicode di 1-256 caratteri costituita da numeri, lettere, trattini bassi, trattini e punti, ma non può iniziare con un numero.
- La categoria dell'attributo, in questo caso
REQUEST
. - I possibili valori che questo attributo può rappresentare.
- Un insieme facoltativo di valori predefiniti che verrà applicato alle norme relative al consenso. L'impostazione di un valore per questo campo configurerà l'archivio del consenso in modo che presuma che i criteri relativi al consenso includano questo attributo e il relativo valore se questo attributo non è altrimenti specificato in quel criterio. Questo campo va impostato solo se richiesto specificatamente per il tuo caso d'uso.
- Un token di accesso.
curl
L'esempio seguente mostra una richiesta POST
utilizzando curl
che crea un
attributo REQUEST
denominato 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"
Se la richiesta riesce, il server restituisce una risposta simile al seguente esempio in 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
L'esempio seguente mostra una richiesta POST
utilizzando Windows PowerShell che crea un attributo REQUEST
denominato 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
Se la richiesta riesce, il server restituisce una risposta simile al seguente esempio in 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
Modificare una definizione di attributo
REST
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo progetto Google Cloud
- LOCATION: la posizione del set di dati
- DATASET_ID: l'ID del set di dati
- CONSENT_STORE_ID: l'ID datastore
- ATTRIBUTE_DEFINITION_ID: ID definizione attributo
- DESCRIPTION: una descrizione dell'attributo
Corpo JSON della richiesta:
{ "description": "DESCRIPTION" }
Per inviare la richiesta, scegli una delle seguenti opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json
.
Esegui questo comando nel terminale per creare o sovrascrivere questo file nella directory attuale:
cat > request.json << 'EOF' { "description": "DESCRIPTION" } EOF
Quindi, esegui questo comando per inviare la richiesta 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
Salva il corpo della richiesta in un file denominato request.json
.
Esegui questo comando nel terminale per creare o sovrascrivere questo file nella directory attuale:
@' { "description": "DESCRIPTION" } '@ | Out-File -FilePath request.json -Encoding utf8
Quindi, esegui questo comando per inviare la richiesta 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
Explorer API
Copia il corpo della richiesta e apri la pagina di riferimento del metodo. Sul lato destro della pagina si apre il riquadro Explorer API. Puoi interagire con questo strumento per inviare richieste. Incolla il corpo della richiesta in questo strumento, compila tutti gli altri campi obbligatori e fai clic su Esegui.
Dovresti ricevere una risposta JSON simile alla seguente:
Python
Ottieni una definizione di attributo
REST
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo progetto Google Cloud
- LOCATION: la posizione del set di dati
- DATASET_ID: l'ID del set di dati
- CONSENT_STORE_ID: l'ID datastore
- ATTRIBUTE_DEFINITION_ID: ID definizione attributo
Per inviare la richiesta, scegli una delle seguenti opzioni:
curl
Esegui questo 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
Esegui questo 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
Explorer API
Apri la pagina di riferimento del metodo. Sul lato destro della pagina si apre il riquadro Explorer API. Puoi interagire con questo strumento per inviare richieste. Compila tutti i campi obbligatori e fai clic su Esegui.
Dovresti ricevere una risposta JSON simile alla seguente:
Python
Elenca definizioni degli attributi
REST
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo progetto Google Cloud
- LOCATION: la posizione del set di dati
- DATASET_ID: l'ID del set di dati
- CONSENT_STORE_ID: l'ID datastore
Per inviare la richiesta, scegli una delle seguenti opzioni:
curl
Esegui questo 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
Esegui questo 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
Explorer API
Apri la pagina di riferimento del metodo. Sul lato destro della pagina si apre il riquadro Explorer API. Puoi interagire con questo strumento per inviare richieste. Compila tutti i campi obbligatori e fai clic su Esegui.
Dovresti ricevere una risposta JSON simile alla seguente:
Python
Eliminare una definizione di attributo
REST
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo progetto Google Cloud
- LOCATION: la posizione del set di dati
- DATASET_ID: l'ID del set di dati
- CONSENT_STORE_ID: l'ID datastore
- ATTRIBUTE_DEFINITION_ID: ID definizione attributo
Per inviare la richiesta, scegli una delle seguenti opzioni:
curl
Esegui questo 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
Esegui questo 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
Explorer API
Apri la pagina di riferimento del metodo. Sul lato destro della pagina si apre il riquadro Explorer API. Puoi interagire con questo strumento per inviare richieste. Compila tutti i campi obbligatori e fai clic su Esegui.
Dovresti ricevere una risposta JSON simile alla seguente: