Esta página descreve 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 utilizador final ou através de uma diretriz organizacional. As políticas de consentimento são a base dos recursos 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 se aplica a política e atributos REQUEST
que definem uma regra de autorização que determina em que condições a política é válida. Para mais informações sobre as políticas de consentimento, consulte a Representação de políticas.
A API Consent Management usa atributos para definir a taxonomia de consentimento e privacidade que um armazenamento de consentimento pode compreender. Os atributos são usados para descrever os consentimentos que estão a ser armazenados e os dados que estão a ser geridos. As solicitações de determinação de acesso também usam atributos para descrever as solicitações que estão a ser feitas.
Os recursos attributeDefinition
são os recursos numa loja de consentimento que determinam que 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 de atributos:
- Um
RESOURCE
atributo é um atributo cujo valor é determinado pelas propriedades dos dados ou da ação. Por exemplo, se os dados são anonimizados ou identificáveis. Este tipo de atributo é usado para descrever a que se aplica uma política de consentimento, para descrever os dados registados comuser data mappings
e para restringir o âmbito de alguns pedidos de determinação de acesso a classes específicas de recursos. - Um atributo
REQUEST
é um atributo cujo valor é determinado pela identidade ou finalidade do requerente. Por exemplo, profissões cujo uso é consentido, como investigadores ou prestadores de cuidados. Este tipo de atributo é usado para escrever a regra de autorização de uma política de consentimento e para especificar a utilização proposta num pedido de determinação de acesso.
Um recurso attributeDefinition
representa um único atributo com até 500 valores de atributos. Os valores dos atributos representam os valores possíveis que um atributo pode ter. Para ver um exemplo, consulte a secção Representação de políticas.
Podem ser adicionados valores de atributos adicionais 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 em relação aos recursos consent
. Isto significa que alguns campos de uma definição de atributo não podem ser alterados nem eliminados enquanto essa definição de atributo estiver a ser referenciada pela revisão mais recente de um recurso de consentimento.
O diagrama seguinte mostra o processo de criação de atributos de consentimento num novo armazenamento de consentimento:
Para criar todas as definições de atributos que a sua taxonomia de consentimento e privacidade requer, repita o processo apresentado em Criar uma definição de atributo RESOURCE
e Criar uma definição de atributo REQUEST
.
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 um pedido POST
e especifique as seguintes informações no pedido:
- O nome da loja de consentimento parental.
- Um nome para a definição do atributo que seja exclusivo na loja de consentimento principal. O nome pode ser qualquer letra minúscula ou maiúscula, número e sublinhado. Não pode ser uma palavra-chave reservada no Idioma de expressão comum (IEC).
- A categoria do atributo, neste caso,
RESOURCE
- Os valores possíveis que este atributo pode representar
- Uma chave de acesso
curl
O exemplo seguinte mostra um pedido POST
que usa curl
para criar um atributo RESOURCE
com o nome data_identifiable
e 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 o pedido for bem-sucedido, o servidor devolve uma resposta semelhante ao exemplo seguinte 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 seguinte mostra um pedido POST
através do Windows PowerShell que
cria um atributo RESOURCE
denominado data_identifiable
com os 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 o pedido for bem-sucedido, o servidor devolve uma resposta semelhante ao exemplo seguinte 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
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 um pedido POST
e especifique as seguintes informações no pedido:
- O nome da loja de consentimento parental.
- Um nome para a definição do atributo que seja exclusivo na loja de consentimento principal. O nome pode ser qualquer string Unicode de 1 a 256 carateres composta por números, letras, sublinhados, traços e pontos finais, mas não pode começar por um número.
- A categoria do atributo, neste caso,
REQUEST
. - Os valores possíveis que este atributo pode representar.
- Um conjunto opcional de valores predefinidos que serão aplicados às políticas de consentimento. Se definir um valor para este campo, a sua loja de consentimento é configurada para assumir que as políticas de consentimento incluem este atributo e valor se este atributo não for especificado de outra forma nessa política. Este campo só deve ser definido se for especificamente necessário para o seu exemplo de utilização.
- Uma chave de acesso.
curl
O exemplo seguinte mostra um pedido POST
que usa curl
para criar um atributo REQUEST
com o nome 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 o pedido for bem-sucedido, o servidor devolve uma resposta semelhante ao exemplo seguinte 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 seguinte mostra um pedido POST
através do 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 o pedido for bem-sucedido, o servidor devolve uma resposta semelhante ao exemplo seguinte 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
Edite uma definição de atributo
REST
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- PROJECT_ID: o ID do seu Google Cloud projeto
- LOCATION: a localização 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 do pedido:
{ "description": "DESCRIPTION" }
Para enviar o seu pedido, escolha uma destas opções:
curl
Guarde o corpo do pedido num ficheiro denominado request.json
.
Execute o seguinte comando no terminal para criar ou substituir
este ficheiro no diretório atual:
cat > request.json << 'EOF' { "description": "DESCRIPTION" } EOF
Em seguida, execute o seguinte comando para enviar o seu pedido 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
Guarde o corpo do pedido num ficheiro denominado request.json
.
Execute o seguinte comando no terminal para criar ou substituir
este ficheiro no diretório atual:
@' { "description": "DESCRIPTION" } '@ | Out-File -FilePath request.json -Encoding utf8
Em seguida, execute o seguinte comando para enviar o seu pedido 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
Explorador de APIs
Copie o corpo do pedido e abra a página de referência do método. O painel APIs Explorer é aberto no lado direito da página. Pode interagir com esta ferramenta para enviar pedidos. Cole o corpo do pedido nesta ferramenta, preencha todos os outros campos obrigatórios e clique em Executar.
Deve receber uma resposta JSON semelhante à seguinte:
Python
Obtenha uma definição de atributo
REST
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- PROJECT_ID: o ID do seu Google Cloud projeto
- LOCATION: a localização 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 o seu pedido, 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
Explorador de APIs
Abra a página de referência do método. O painel APIs Explorer é aberto no lado direito da página. Pode interagir com esta ferramenta para enviar pedidos. Preencha todos os campos obrigatórios e clique em Executar.
Deve receber uma resposta JSON semelhante à seguinte:
Python
Apresentar definições de atributos
REST
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- PROJECT_ID: o ID do seu Google Cloud projeto
- LOCATION: a localização do conjunto de dados
- DATASET_ID: o ID do conjunto de dados
- CONSENT_STORE_ID: o ID da loja de consentimento
Para enviar o seu pedido, 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
Explorador de APIs
Abra a página de referência do método. O painel APIs Explorer é aberto no lado direito da página. Pode interagir com esta ferramenta para enviar pedidos. Preencha todos os campos obrigatórios e clique em Executar.
Deve receber uma resposta JSON semelhante à seguinte:
Python
Elimine uma definição de atributo
REST
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- PROJECT_ID: o ID do seu Google Cloud projeto
- LOCATION: a localização 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 o seu pedido, 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
Explorador de APIs
Abra a página de referência do método. O painel APIs Explorer é aberto no lado direito da página. Pode interagir com esta ferramenta para enviar pedidos. Preencha todos os campos obrigatórios e clique em Executar.
Deve receber uma resposta JSON semelhante à seguinte: