Questa pagina descrive come configurare le norme e gli attributi relativi al consenso.
I criteri per il consenso vengono utilizzati dall'API Consent Management per rappresentare il consenso concesso
da un utente finale o tramite una linea guida organizzativa. Le norme
sul consenso sono i componenti di base delle risorse
consent
. Ogni risorsa consent
può contenere fino a 10 norme relative al consenso. Una policy
di consenso è costituita da attributi RESOURCE
che descrivono a cosa si applica la policy e da attributi REQUEST
che definiscono una regola di autorizzazione che determina in quali condizioni la policy è valida. Per ulteriori informazioni sulle norme
relative al consenso, consulta
Rappresentazione delle norme.
L'API Consent Management utilizza gli attributi per definire la tassonomia del consenso e della privacy che un archivio del consenso può comprendere. Gli attributi vengono utilizzati per descrivere i consensi archiviati e i dati gestiti. Le richieste di determinazione dell'accesso utilizzano anche gli attributi per descrivere le richieste effettuate.
Le risorse attributeDefinition
sono le risorse all'interno di un archivio del consenso che determinano quali
attributi di consenso possono essere elaborati dall'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 applica una norma sul consenso, per descrivere i dati registrati conuser data mappings
e per restringere l'ambito di alcune richieste di determinazione dell'accesso a classi specifiche di risorse. - Un attributo
REQUEST
è un attributo il cui valore è determinato dall'identità o dallo scopo del richiedente. Ad esempio, professioni per le quali è stato dato il consenso all'utilizzo, come ricercatori o fornitori di servizi sanitari. Questo tipo di attributo viene utilizzato per scrivere la regola di autorizzazione di un criterio di consenso e per specificare l'utilizzo proposto in una richiesta di determinazione dell'accesso.
Una risorsa attributeDefinition
rappresenta un singolo attributo con un massimo di 500
valori dell'attributo. I valori degli attributi rappresentano i valori possibili
che un attributo può avere. Per un esempio, consulta Rappresentazione dei criteri.
Nel tempo è possibile aggiungere ulteriori valori degli attributi a una definizione di attributo, ma non è possibile rimuoverli. L'integrità referenziale delle definizioni degli attributi viene applicata in relazione alle risorse consent
. Ciò significa
che alcuni campi di una definizione di attributo non possono essere modificati o eliminati mentre
la definizione di attributo viene referenziata dall'ultima revisione di una
risorsa di consenso.
Il seguente diagramma mostra la procedura per creare attributi di consenso in un nuovo archivio del consenso:
Per creare tutte le definizioni degli attributi richieste dalla tassonomia di consenso e privacy, ripeti la procedura mostrata in
Creazione di una definizione di attributo RESOURCE
e
Creazione di una definizione di attributo REQUEST
.
Creazione di una definizione dell'attributo RESOURCE
Per creare una definizione dell'attributo RESOURCE
, utilizza il metodo
projects.locations.datasets.consentStores.attributeDefinitions.create
. Invia una richiesta POST
e specifica le seguenti informazioni nella
richiesta:
- Il nome dello store per il consenso dei genitori.
- Un nome per la definizione dell'attributo univoco nell'archivio di consensi principale. Il nome può essere qualsiasi lettera minuscola o maiuscola, numero e trattino basso. Non deve essere una parola chiave riservata all'interno del Common Expression Language (CEL).
- La categoria dell'attributo, in questo caso
RESOURCE
- I valori possibili che questo attributo può rappresentare
- Un token di accesso
curl
Il seguente esempio mostra una richiesta POST
che utilizza curl
per creare 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 a quella dell'esempio seguente 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
Il seguente esempio 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 a quella dell'esempio seguente 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 dell'attributo REQUEST
Per creare una definizione dell'attributo REQUEST
, utilizza il metodo
projects.locations.datasets.consentStores.attributeDefinitions.create
. Invia una richiesta POST
e specifica le seguenti informazioni nella
richiesta:
- Il nome dello store per il consenso dei genitori.
- Un nome per la definizione dell'attributo univoco nell'archivio di consensi principale. Il nome può essere qualsiasi stringa Unicode da 1 a 256 caratteri composta da numeri, lettere, trattini bassi, trattini e punti, ma non può iniziare con un numero.
- La categoria dell'attributo, in questo caso
REQUEST
. - I valori possibili che questo attributo può rappresentare.
- Un insieme facoltativo di valori predefiniti che verranno applicati alle policy di consenso. L'impostazione di un valore per questo campo configurerà l'archivio del consenso in modo che presupponga che le policy di consenso includano questo attributo e questo valore se l'attributo non è specificato in altro modo nella policy. Questo campo deve essere impostato solo se è specificamente richiesto per il tuo caso d'uso.
- Un token di accesso.
curl
Il seguente esempio mostra una richiesta POST
mediante 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 a quella dell'esempio seguente 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
Il seguente esempio mostra una richiesta POST
mediante 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 a quella dell'esempio seguente 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 la definizione di un attributo
REST
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo Google Cloud progetto
- LOCATION: la posizione del set di dati
- DATASET_ID: l'ID set di dati
- CONSENT_STORE_ID: l'ID dell'archivio del consenso
- ATTRIBUTE_DEFINITION_ID: l'ID definizione dell'attributo
- DESCRIPTION: una descrizione dell'attributo
Corpo JSON della richiesta:
{ "description": "DESCRIPTION" }
Per inviare la richiesta, scegli una di queste 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 corrente:
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 corrente:
@' { "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 gli altri campi obbligatori e fai clic su Esegui.
Dovresti ricevere una risposta JSON simile alla seguente:
Python
Recuperare una definizione di attributo
REST
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo Google Cloud progetto
- LOCATION: la posizione del set di dati
- DATASET_ID: l'ID set di dati
- CONSENT_STORE_ID: l'ID dell'archivio del consenso
- ATTRIBUTE_DEFINITION_ID: l'ID definizione dell'attributo
Per inviare la richiesta, scegli una di queste 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. Completa i campi obbligatori e fai clic su Esegui.
Dovresti ricevere una risposta JSON simile alla seguente:
Python
Elenco definizioni degli attributi
REST
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo Google Cloud progetto
- LOCATION: la posizione del set di dati
- DATASET_ID: l'ID set di dati
- CONSENT_STORE_ID: l'ID dell'archivio del consenso
Per inviare la richiesta, scegli una di queste 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. Completa 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, apporta le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo Google Cloud progetto
- LOCATION: la posizione del set di dati
- DATASET_ID: l'ID set di dati
- CONSENT_STORE_ID: l'ID dell'archivio del consenso
- ATTRIBUTE_DEFINITION_ID: l'ID definizione dell'attributo
Per inviare la richiesta, scegli una di queste 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. Completa i campi obbligatori e fai clic su Esegui.
Dovresti ricevere una risposta JSON simile alla seguente: