Nesta página, descrevemos como configurar políticas e atributos de consentimento.
As políticas de consentimento são usadas pela API Consent Management para representar o consentimento concedido
por um usuário final ou por uma diretriz organizacional. Essas
políticas são os elementos
básicos dos recursos do
consent
. Cada recurso consent
pode conter até 10 políticas de consentimento. Uma política
de consentimento consiste em atributos RESOURCE
que descrevem a que a política
se aplica e atributos de REQUEST
que definem uma regra de autorização que
determina em quais condições a política é válida. Saiba mais sobre políticas de
consentimento em
Representação da política.
A API Consent Management usa atributos para definir a taxonomia de consentimento e privacidade que um armazenamento de consentimento pode entender. Os atributos são usados para descrever os consentimentos que estão sendo armazenados e os dados que estão sendo gerenciados. As solicitações de determinação de acesso também usam atributos para descrever as solicitações que estão sendo feitas.
Os recursos de attributeDefinition
são de um repositório de consentimento que determinam quais
atributos de consentimento a API Consent Management pode processar. Um armazenamento de consentimento pode
conter até 200 recursos de definição de atributos. Cada definição de atributo tem um dos seguintes
tipos:
- Um atributo
RESOURCE
tem valores que são determinados pelas propriedades dos dados ou da ação. Por exemplo, se os dados são desidentificados ou identificáveis. Esse tipo de atributo é usado para descrever a que uma política de consentimento se aplica, descrever dados registrados comuser data mappings
e restringir o escopo de algumas solicitações de determinação de acesso a classes específicas de recursos. - Um atributo
REQUEST
tem valores que são determinados pela identidade ou finalidade do solicitante. Por exemplo, profissões que consentem o uso, como pesquisadores ou profissionais de saúde. Esse tipo de atributo é usado para escrever a regra de autorização de uma política de consentimento e especificar o uso proposto em uma solicitação de determinação de acesso.
Um recurso attributeDefinition
representa um único atributo com até 500
valores de atributos. Os valores dos atributos representam os possíveis valores
que um atributo pode ter. Veja um exemplo em Representação da política.
Outros valores de atributo podem ser adicionados a uma
definição de atributo ao longo do tempo, mas não podem ser removidos. A integridade referencial das
definições de atributos é aplicada como relacionada aos recursos consent
. Isso significa
que alguns campos de uma definição de atributo não podem ser alterados ou excluídos enquanto
essa definição de atributo estiver sendo referenciada pela última revisão de um
recurso de consentimento.
O diagrama a seguir mostra o processo para criar atributos de consentimento em um novo armazenamento de consentimento:
Para criar todas as definições de atributo exigidas pela taxonomia de consentimento e privacidade,
repita o processo mostrado em
Como criar uma definição de atributo RESOURCE
e
Como criar uma definição de atributo REQUEST
.
Como criar uma definição de atributo RESOURCE
Para criar uma definição de atributo RESOURCE
, use o
método
projects.locations.datasets.consentStores.attributeDefinitions.create
. Faça uma solicitação POST
e especifique as seguintes informações na
solicitação:
- É o nome do repositório de consentimento dos responsáveis.
- Um nome para a definição de atributo exclusivo no repositório de consentimentos dos responsáveis. O nome pode ser qualquer letra maiúscula ou minúscula, números e sublinhados. Ela não pode ser uma palavra-chave reservada no Common Expression Language (CEL).
- A categoria do atributo, neste caso,
RESOURCE
- Os possíveis valores que este atributo pode representar
- Um token de acesso
curl
O exemplo a seguir mostra uma solicitação POST
usando curl
que cria um
atributo RESOURCE
denominado data_identifiable
com os valores 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 a solicitação for bem-sucedida, o servidor retornará uma resposta semelhante à seguinte amostra no 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
O exemplo a seguir mostra uma solicitação POST
usando o Windows PowerShell que
cria um atributo RESOURCE
denominado data_identifiable
com valores
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 a solicitação for bem-sucedida, o servidor retornará uma resposta semelhante à seguinte amostra no 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
Como criar uma definição de atributo REQUEST
Para criar uma definição de atributo REQUEST
, use o
método
projects.locations.datasets.consentStores.attributeDefinitions.create
. Faça uma solicitação POST
e especifique as seguintes informações na
solicitação:
- É o nome do repositório de consentimento dos responsáveis.
- Um nome para a definição de atributo exclusivo no repositório de consentimentos dos responsáveis. O nome pode ser qualquer string Unicode de 1 a 256 caracteres, composta de números, letras, sublinhados, traços e pontos, mas não pode começar com um número
- A categoria do atributo, neste caso,
REQUEST
- Os valores que este atributo pode representar.
- Um conjunto opcional de valores padrão que será aplicado às políticas de consentimento. Definir um valor para esse campo configura seu armazenamento de consentimento para presumir que as políticas de consentimento incluem esse atributo e esse valor, caso o atributo não esteja especificado nessa política. Este campo só deve ser definido se for especificamente necessário para seu caso de uso.
- Um token de acesso.
curl
O exemplo a seguir mostra uma solicitação POST
usando curl
que cria um
atributo REQUEST
denominado 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 a solicitação for bem-sucedida, o servidor retornará uma resposta semelhante à seguinte amostra no 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
O exemplo a seguir mostra uma solicitação POST
usando o Windows PowerShell que
cria um atributo REQUEST
denominado 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 a solicitação for bem-sucedida, o servidor retornará uma resposta semelhante à seguinte amostra no 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
Editar uma definição de atributo
REST
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT_ID: o ID do seu projeto do Google Cloud;
- LOCATION: o local do conjunto de dados;
- DATASET_ID: o ID do conjunto de dados;
- CONSENT_STORE_ID: o ID da loja de consentimento
- ATTRIBUTE_DEFINITION_ID: o ID da definição do atributo
- DESCRIPTION: uma descrição do atributo
Corpo JSON da solicitação:
{ "description": "DESCRIPTION" }
Para enviar a solicitação, escolha uma destas opções:
curl
Salve o corpo da solicitação em um arquivo chamado request.json
.
Execute o comando a seguir no terminal para criar ou substituir
esse arquivo no diretório atual:
cat > request.json << 'EOF' { "description": "DESCRIPTION" } EOF
Depois execute o comando a seguir para enviar a solicitação 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
Salve o corpo da solicitação em um arquivo chamado request.json
.
Execute o comando a seguir no terminal para criar ou substituir
esse arquivo no diretório atual:
@' { "description": "DESCRIPTION" } '@ | Out-File -FilePath request.json -Encoding utf8
Depois execute o comando a seguir para enviar a solicitação 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
APIs Explorer
Copie o corpo da solicitação e abra a página de referência do método. O painel "APIs Explorer" é aberto no lado direito da página. Interaja com essa ferramenta para enviar solicitações. Cole o corpo da solicitação nessa ferramenta, preencha todos os outros campos obrigatórios e clique em Executar.
Você receberá uma resposta JSON semelhante a esta:
Python
Conferir uma definição de atributo
REST
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT_ID: o ID do seu projeto do Google Cloud;
- LOCATION: o local do conjunto de dados;
- DATASET_ID: o ID do conjunto de dados;
- CONSENT_STORE_ID: o ID da loja de consentimento
- ATTRIBUTE_DEFINITION_ID: o ID da definição do atributo
Para enviar a solicitação, escolha uma destas opções:
curl
execute o seguinte 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
Execute o seguinte 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
APIs Explorer
Abra a página de referência do método. O painel "APIs Explorer" é aberto no lado direito da página. Interaja com essa ferramenta para enviar solicitações. Preencha todos os campos obrigatórios e clique em Executar.
Você receberá uma resposta JSON semelhante a esta:
Python
Listar definições de atributos
REST
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT_ID: o ID do seu projeto do Google Cloud;
- LOCATION: o local do conjunto de dados;
- DATASET_ID: o ID do conjunto de dados;
- CONSENT_STORE_ID: o ID da loja de consentimento
Para enviar a solicitação, escolha uma destas opções:
curl
execute o seguinte 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
Execute o seguinte 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
APIs Explorer
Abra a página de referência do método. O painel "APIs Explorer" é aberto no lado direito da página. Interaja com essa ferramenta para enviar solicitações. Preencha todos os campos obrigatórios e clique em Executar.
Você receberá uma resposta JSON semelhante a esta:
Python
Excluir uma definição de atributo
REST
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT_ID: o ID do seu projeto do Google Cloud;
- LOCATION: o local do conjunto de dados;
- DATASET_ID: o ID do conjunto de dados;
- CONSENT_STORE_ID: o ID da loja de consentimento
- ATTRIBUTE_DEFINITION_ID: o ID da definição do atributo
Para enviar a solicitação, escolha uma destas opções:
curl
execute o seguinte 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
Execute o seguinte 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
APIs Explorer
Abra a página de referência do método. O painel "APIs Explorer" é aberto no lado direito da página. Interaja com essa ferramenta para enviar solicitações. Preencha todos os campos obrigatórios e clique em Executar.
Você receberá uma resposta JSON semelhante a esta: