Cette page explique comment configurer des règles et des attributs d'autorisations.
Les règles d'autorisation sont utilisées par l'API Consent Management pour représenter l'autorisation accordée par un utilisateur final ou par le biais d'une consigne organisationnelle. Les règles d'autorisation sont les composants fondamentaux des ressources consent
. Chaque ressource consent
peut contenir jusqu'à 10 règles d'autorisation. Une règle d'autorisation comprend des attributs RESOURCE
qui décrivent la règle à appliquer et des attributs REQUEST
qui définissent une règle d'autorisation qui détermine les conditions de validité de la règle. Pour en savoir plus sur les règles d'autorisation, consultez la section Représentation des règles.
L'API Consent Management utilise des attributs pour définir la taxonomie d'autorisations et de confidentialité qu'un magasin d'autorisations peut comprendre. Les attributs sont utilisés pour décrire les autorisations stockées et les données gérées. Les requêtes de décision d'accès utilisent également des attributs pour décrire les requêtes en cours.
Les ressources attributeDefinition
sont les ressources d'un magasin d'autorisations qui déterminent les attributs d'autorisation que l'API Consent Management peut traiter. Un magasin d'autorisations peut contenir jusqu'à 200 ressources de définition d'attribut. Chaque définition d'attribut est associée à l'un des types d'attributs suivants :
- Un attribut
RESOURCE
est un attribut dont la valeur est déterminée par les propriétés des données ou de l'action, par exemple si les données sont anonymisées ou identifiables. Ce type d'attribut est utilisé pour décrire ce à quoi une règle d'autorisation s'applique, pour décrire les données enregistrées auprès deuser data mappings
et pour réduire le champ d'application de certaines requêtes de détermination d'accès à des classes de ressources spécifiques. - Un attribut
REQUEST
est un attribut dont la valeur est déterminée par l'identité ou l'objectif du demandeur. Par exemple, les professions dont l'utilisation est autorisée, tels que les chercheurs ou les prestataires de soins. Ce type d'attribut est utilisé pour écrire la règle d'autorisation d'une règle d'autorisation et pour spécifier l'utilisation proposée dans une requête de décision d'accès.
Une ressource attributeDefinition
représente un attribut unique avec un maximum de 500 valeurs d'attributs. Les valeurs d'attribut représentent les valeurs possibles d'un attribut. Vous trouverez un exemple dans la section Représentation des règles.
Des valeurs d'attributs supplémentaires peuvent être ajoutées à une définition d'attribut au fil du temps, mais ne peuvent pas être supprimées. L'intégrité référentielle des définitions d'attributs est appliquée comme étant liée aux ressources consent
. Cela signifie que certains champs d'une définition d'attribut ne peuvent pas être modifiés ni supprimés pendant que cette définition d'attribut est référencée par la dernière révision d'une ressource d'autorisation.
Le schéma suivant illustre le processus de création d'attributs d'autorisation dans un nouveau magasin d'autorisations :
Pour créer toutes les définitions d'attributs requises par votre taxonomie d'autorisations et de confidentialité, répétez le processus décrit dans les sections Créer une définition d'attribut RESOURCE
et Créer une définition d'attributs REQUEST
.
Créer une définition d'attribut RESOURCE
Pour créer une définition d'attribut RESOURCE
, utilisez la méthode projects.locations.datasets.consentStores.attributeDefinitions.create
. Effectuez une requête POST
et spécifiez les informations suivantes dans la requête :
- Nom du magasin d'autorisations parent
- Nom de la définition d'attribut qui est unique dans le magasin d'autorisations parent. Le nom peut être composé de lettres majuscules ou minuscules, de chiffres et de traits de soulignement. Il ne doit pas s'agir d'un mot clé réservé dans le CEL (Common Expression Language).
- Catégorie de l'attribut, dans ce cas
RESOURCE
- Valeurs possibles que cet attribut peut représenter
- Un jeton d'accès
curl
L'exemple suivant montre une requête POST
utilisant curl
qui crée un attribut RESOURCE
nommé data_identifiable
avec les valeurs identifiable
et 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 requête aboutit, le serveur affiche une réponse semblable à l'exemple suivant au format 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'exemple suivant montre une requête POST
utilisant Windows PowerShell, qui crée un attribut RESOURCE
nommé data_identifiable
avec les valeurs identifiable
et 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 requête aboutit, le serveur affiche une réponse semblable à l'exemple suivant au format 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
Créer une définition d'attribut REQUEST
Pour créer une définition d'attribut REQUEST
, utilisez la méthode projects.locations.datasets.consentStores.attributeDefinitions.create
. Effectuez une requête POST
et spécifiez les informations suivantes dans la requête :
- Nom du magasin d'autorisations parent
- Nom de la définition d'attribut qui est unique dans le magasin d'autorisations parent. Le nom peut être une chaîne Unicode de 1 à 256 caractères composée de chiffres, de lettres, de traits de soulignement, de tirets et de points, mais ne peut pas commencer par un chiffre.
- Catégorie de l'attribut, dans ce cas
REQUEST
. - Valeurs possibles que cet attribut peut représenter.
- Ensemble facultatif de valeurs par défaut qui seront appliquées aux règles d'autorisation. La définition d'une valeur pour ce champ configure votre magasin d'autorisations de manière à considérer que les règles d'autorisation incluent cet attribut et cette valeur si cet attribut n'est pas spécifié dans cette règle. Ce champ ne doit être défini que si cela est spécifiquement requis pour votre cas d'utilisation.
- Un jeton d'accès
curl
L'exemple suivant montre une requête POST
utilisant curl
qui crée un attribut REQUEST
nommé 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 requête aboutit, le serveur affiche une réponse semblable à l'exemple suivant au format 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'exemple suivant montre une requête POST
utilisant Windows PowerShell, qui crée un attribut REQUEST
nommé 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 requête aboutit, le serveur affiche une réponse semblable à l'exemple suivant au format 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
Modifier une définition d'attribut
REST
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- PROJECT_ID : ID de votre projet Google Cloud
- LOCATION : emplacement de l'ensemble de données
- DATASET_ID : ID de l'ensemble de données
- CONSENT_STORE_ID : ID du magasin d'autorisations
- ATTRIBUTE_DEFINITION_ID : ID de définition de l'attribut
- DESCRIPTION : description de l'attribut
Corps JSON de la requête :
{ "description": "DESCRIPTION" }
Pour envoyer votre requête, choisissez l'une des options suivantes :
curl
Enregistrez le corps de la requête dans un fichier nommé request.json
.
Exécutez la commande suivante dans le terminal pour créer ou écraser ce fichier dans le répertoire actuel :
cat > request.json << 'EOF' { "description": "DESCRIPTION" } EOF
Exécutez ensuite la commande suivante pour envoyer votre requête 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
Enregistrez le corps de la requête dans un fichier nommé request.json
.
Exécutez la commande suivante dans le terminal pour créer ou écraser ce fichier dans le répertoire actuel :
@' { "description": "DESCRIPTION" } '@ | Out-File -FilePath request.json -Encoding utf8
Exécutez ensuite la commande suivante pour envoyer votre requête 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
API Explorer
Copiez le corps de la requête et ouvrez la page de référence de la méthode. Le panneau APIs Explorer s'ouvre dans la partie droite de la page. Vous pouvez interagir avec cet outil pour envoyer des requêtes. Collez le corps de la requête dans cet outil, renseignez tous les champs obligatoires, puis cliquez sur Execute (Exécuter).
Vous devriez recevoir une réponse JSON de ce type :
Python
Obtenir une définition d'attribut
REST
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- PROJECT_ID : ID de votre projet Google Cloud
- LOCATION : emplacement de l'ensemble de données
- DATASET_ID : ID de l'ensemble de données
- CONSENT_STORE_ID : ID du magasin d'autorisations
- ATTRIBUTE_DEFINITION_ID : ID de définition de l'attribut
Pour envoyer votre requête, choisissez l'une des options suivantes :
curl
Exécutez la commande suivante :
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
Exécutez la commande suivante :
$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
API Explorer
Ouvrez la page de référence de la méthode. Le panneau APIs Explorer s'ouvre dans la partie droite de la page. Vous pouvez interagir avec cet outil pour envoyer des requêtes. Renseignez tous les champs obligatoires, puis cliquez sur Exécuter.
Vous devriez recevoir une réponse JSON de ce type :
Python
Répertorier les définitions d'attributs
REST
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- PROJECT_ID : ID de votre projet Google Cloud
- LOCATION : emplacement de l'ensemble de données
- DATASET_ID : ID de l'ensemble de données
- CONSENT_STORE_ID : ID du magasin d'autorisations
Pour envoyer votre requête, choisissez l'une des options suivantes :
curl
Exécutez la commande suivante :
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
Exécutez la commande suivante :
$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
API Explorer
Ouvrez la page de référence de la méthode. Le panneau APIs Explorer s'ouvre dans la partie droite de la page. Vous pouvez interagir avec cet outil pour envoyer des requêtes. Renseignez tous les champs obligatoires, puis cliquez sur Exécuter.
Vous devriez recevoir une réponse JSON de ce type :
Python
Supprimer une définition d'attribut
REST
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- PROJECT_ID : ID de votre projet Google Cloud
- LOCATION : emplacement de l'ensemble de données
- DATASET_ID : ID de l'ensemble de données
- CONSENT_STORE_ID : ID du magasin d'autorisations
- ATTRIBUTE_DEFINITION_ID : ID de définition de l'attribut
Pour envoyer votre requête, choisissez l'une des options suivantes :
curl
Exécutez la commande suivante :
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
Exécutez la commande suivante :
$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
API Explorer
Ouvrez la page de référence de la méthode. Le panneau APIs Explorer s'ouvre dans la partie droite de la page. Vous pouvez interagir avec cet outil pour envoyer des requêtes. Renseignez tous les champs obligatoires, puis cliquez sur Exécuter.
Vous devriez recevoir une réponse JSON de ce type :