Questa pagina descrive come configurare i criteri e gli attributi per il consenso.
I criteri di consenso vengono utilizzati dall'API Consent Management per rappresentare il consenso concesso da un utente finale o tramite una linea guida dell'organizzazione. I criteri per il consenso sono gli elementi costitutivi delle risorse consent
. Ogni risorsa consent
può contenere fino a 10 norme sul consenso. Un criterio di consenso è costituito da attributi RESOURCE
che descrivono a cosa si applica il criterio e da attributi REQUEST
che definiscono una regola di autorizzazione che determina le condizioni in cui il criterio è valido. Per ulteriori informazioni sulle norme relative al consenso, consulta la sezione Rappresentazione delle norme.
L'API Consent Management utilizza gli attributi per definire la classificazione 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. Anche le richieste di determinazione dell'accesso utilizzano gli attributi per descrivere le richieste inviate.
Le risorse attributeDefinition
sono le risorse all'interno di un archivio dei consensi che determinano quali
attributi del consenso possono essere elaborati dall'API di gestione del consenso. 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 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 per il consenso e per specificare l'utilizzo proposto in una richiesta di determinazione dell'accesso.
Una risorsa attributeDefinition
rappresenta un singolo attributo con fino a 500 valori. I valori degli attributi rappresentano i valori possibili
che un attributo può avere. Per un esempio, consulta Rappresentazione dei criteri.
È possibile aggiungere valori aggiuntivi a una definizione di attributo nel tempo, ma non è possibile rimuoverli. L'integrità referenziale delle definizioni degli attributi viene applicata in base alle risorse consent
. Ciò significa che alcuni campi di una definizione di attributo non possono essere modificati o eliminati mentre la definizione di attributo è richiamata dalla revisione più recente di una risorsa per il consenso.
Il seguente diagramma mostra la procedura per la creazione di attributi del consenso in un nuovo archivio del consenso:
Per creare tutte le definizioni degli attributi richieste dalla tassonomia del consenso e della privacy, ripeti la procedura descritta in Creare una definizione di attributo RESOURCE
e Creare una definizione di attributo REQUEST
.
Creazione di una definizione di attributo RESOURCE
Per creare una definizione di attributo RESOURCE
, utilizza il metodo
projects.locations.datasets.consentStores.attributeDefinitions.create
. Fai una richiesta POST
e specifica le seguenti informazioni:
- Il nome dello Store per il consenso principale.
- Un nome univoco per la definizione dell'attributo nell'archivio dei consensi principale. Il nome può essere composto da lettere minuscole o maiuscole, 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 valori possibili che questo attributo può rappresentare
- Un token di accesso
curl
L'esempio seguente 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 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
Il seguente esempio mostra una richiesta POST
mediante Windows PowerShell che
crea un attributo RESOURCE
denominato data_identifiable
con 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 di attributo REQUEST
, utilizza il metodo
projects.locations.datasets.consentStores.attributeDefinitions.create
. Fai una richiesta POST
e specifica le seguenti informazioni:
- Il nome dello Store per il consenso principale.
- Un nome univoco per la definizione dell'attributo nell'archivio dei 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 norme sul consenso. Se imposti un valore per questo campo, il tuo archivio del consenso assumerà che le norme relative al consenso includano questo attributo e questo valore se non è diversamente specificato in queste norme. Questo campo deve essere impostato solo se richiesto specificamente per il tuo caso d'uso.
- Un token di accesso.
curl
Il seguente esempio mostra una richiesta POST
che utilizza curl
per creare 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
Il seguente esempio mostra una richiesta POST
che utilizza Windows PowerShell per creare 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, apporta le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo progetto Google Cloud
- LOCATION: la posizione del set di dati
- DATASET_ID: l'ID set di dati
- CONSENT_STORE_ID: l'ID store 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 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 corrente:
cat > request.json << 'EOF' { "description": "DESCRIPTION" } EOF
Quindi, esegui il seguente 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 il seguente 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. Il riquadro Esplora API si apre sul lato destro della pagina. 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 progetto Google Cloud
- LOCATION: la posizione del set di dati
- DATASET_ID: l'ID set di dati
- CONSENT_STORE_ID: l'ID store del consenso
- ATTRIBUTE_DEFINITION_ID: l'ID definizione dell'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. Il riquadro Esplora API si apre sul lato destro della pagina. Puoi interagire con questo strumento per inviare richieste. Compila 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 progetto Google Cloud
- LOCATION: la posizione del set di dati
- DATASET_ID: l'ID set di dati
- CONSENT_STORE_ID: l'ID store del consenso
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. Il riquadro Esplora API si apre sul lato destro della pagina. Puoi interagire con questo strumento per inviare richieste. Compila 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 progetto Google Cloud
- LOCATION: la posizione del set di dati
- DATASET_ID: l'ID set di dati
- CONSENT_STORE_ID: l'ID store del consenso
- ATTRIBUTE_DEFINITION_ID: l'ID definizione dell'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. Il riquadro Esplora API si apre sul lato destro della pagina. Puoi interagire con questo strumento per inviare richieste. Compila i campi obbligatori e fai clic su Esegui.
Dovresti ricevere una risposta JSON simile alla seguente: