Questa pagina descrive come configurare le norme e gli attributi 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 relativi al consenso. Una norma sul consenso è composta 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 di validità del criterio. Per maggiori 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 comprensibile da un archivio di consensi. Gli attributi sono usati per descrivere i consensi archiviati e i dati che vengono gestiti. Anche le richieste di determinazione dell'accesso utilizzano attributi per descrivere le richieste effettuate.
Le risorse di attributeDefinition
sono le risorse all'interno di un archivio di consensi che determinano quali attributi relativi al 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 un criterio relativo al consenso, per descrivere i dati registrati conuser data mappings
e per restringere l'ambito di alcune richieste di determinazione dell'accesso a specifiche classi di risorse. - Un attributo
REQUEST
è un attributo il cui valore è determinato dall'identità o dallo scopo del richiedente. ad esempio le professioni autorizzate all'uso come ricercatori o operatori sanitari. Questo tipo di attributo viene utilizzato per scrivere la regola di autorizzazione di un criterio per il 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. I valori degli attributi rappresentano i possibili
valori di un attributo. Per un esempio, vedi Rappresentazione dei criteri.
Nel tempo è possibile aggiungere valori di attributi aggiuntivi a una definizione di attributo, ma non possono essere rimossi. 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 l'ultima revisione di una risorsa del consenso fa riferimento a tale definizione.
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 dell'attributo RESOURCE
e Creazione di una definizione dell'attributo REQUEST
.
Creazione di una definizione dell'attributo RESOURCE
in corso...
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 principale.
- Un nome per la definizione dell'attributo univoco nell'archivio di consensi principale. Il nome può essere qualsiasi lettera minuscola o maiuscola, numeri e trattini bassi. Non deve essere una parola chiave riservata all'interno del linguaggio CEL (Common Expression Language).
- La categoria dell'attributo, in questo caso
RESOURCE
- I possibili valori che questo attributo può rappresentare
- Un token di accesso
curl
Il seguente esempio mostra una richiesta POST
che utilizza 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 ha esito positivo, il server restituisce una risposta simile alla 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 ha esito positivo, il server restituisce una risposta simile alla 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 dell'attributo REQUEST
in corso...
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 principale.
- Un nome per la definizione dell'attributo univoco nell'archivio di consensi principale. Il nome può essere qualsiasi stringa Unicode di lunghezza compresa tra 1 e 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 verrà applicato alle norme relative al consenso. L'impostazione di un valore per questo campo configurerà l'archivio di consensi in modo che presupponga che i criteri relativi al consenso includano questo attributo e questo valore se non è specificato altrimenti nel criterio. 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 ha esito positivo, il server restituisce una risposta simile alla 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
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 ha esito positivo, il server restituisce una risposta simile alla 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 archivio di consensi
- ATTRIBUTE_DEFINITION_ID: l'ID definizione attributo
- DESCRIPTION: una descrizione dell'attributo
Corpo JSON della richiesta:
{ "description": "DESCRIPTION" }
Per inviare la richiesta, scegli una delle seguenti opzioni:
arricciatura
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. Il riquadro Explorer 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
Ottenere 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 archivio di consensi
- ATTRIBUTE_DEFINITION_ID: l'ID definizione attributo
Per inviare la richiesta, scegli una delle seguenti opzioni:
arricciatura
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 Explorer API si apre sul lato destro della pagina. 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
Elenco definizioni 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 archivio di consensi
Per inviare la richiesta, scegli una delle seguenti opzioni:
arricciatura
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 Explorer API si apre sul lato destro della pagina. 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 archivio di consensi
- ATTRIBUTE_DEFINITION_ID: l'ID definizione attributo
Per inviare la richiesta, scegli una delle seguenti opzioni:
arricciatura
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 Explorer API si apre sul lato destro della pagina. 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: