Gerenciamento do mapeamento de consentimento
Os escopos consentidos são armazenados e podem ser gerenciados; consulte “Gerenciamento de consentimentos de privacidade ”. Além disso, o âmbito do consentimento pode estar associado a uma finalidade de proteção de dados. Consulte a seção “Gerenciamento de finalidades de privacidade ”.
Os detalhes da autorização representam uma permissão detalhada; portanto, os detalhes da autorização concedida pelo usuário também são armazenados e podem ser gerenciados. Assim como os escopos, os detalhes da autorização concedida também podem ser associados a uma finalidade de privacidade.
No entanto, ao contrário dos escopos, que são strings, os detalhes de autorização são objetos JSON. Avaliar a igualdade entre dois objetos JSON é complexo. A implementação padrão suporta apenas alguns métodos de comparação.
- A primeira abordagem consiste
full hashem gerar um valor hash a partir do objeto JSON serializado e utilizá-lo para comparar dois objetos JSON de detalhes de autorização do mesmo tipo. - A segunda abordagem é
common fields hash. Nessa abordagem, o valor de hash é calculado a partir dos campos de dados comuns no objeto JSON. Os campos de dados comuns sãolocations,actions,datatypes,identifiereprivileges. Utilize esta abordagem apenas se o objeto JSON com os detalhes de autorização estiver utilizando esses campos. - A última abordagem é
advanced. Essa abordagem utiliza o script CELx para definir a lógica de comparação. Por exemplo, quando os detalhes da autorização representam umtransactione incluem uma propriedade exclusivatransactionID, essa propriedade pode ser utilizada em vez das abordagens descritas anteriormente.
Observação: O objeto JSON pode ser acessado no script usando
requestContext.ad a chave. Se você quiser retornar a transactionID propriedade do objeto JSON, pode usar requestContext.ad.transactionID no script. A estrutura geral e o uso de requestContext são descritos na seção “Contexto de solicitação do HTTP ” da seção “Funções de atributos”.Mapeamento personalizado de consentimentos
Você pode optar por não usar a implementação padrão por vários motivos, tais como:
- Você pode associar a política de privacidade aos detalhes da autorização solicitada.
- Você pode associar propriedades adicionais ao item de consentimento solicitado. Por exemplo, o consentimento deve ser concedido automaticamente ou exigido. A tabela a seguir mostra as propriedades que podem ser associadas ao item de consentimento.
Você pode optar por definir um mapeamento de consentimento personalizado e especificar um script CELx para retornar um objeto JSON. O objeto JSON pode ter as seguintes propriedades:
| Propriedade | Tipo | Obrigatório? | Descrição |
|---|---|---|---|
purpose |
sequência | Sim | Gerenciando propósitos de privacidade |
attribute |
sequência | Depende de propósito | Gerenciando atributos |
accessType |
sequência | Depende de propósito | O tipo de acesso é configurado com o propósito de privacidade de dados. Caso não seja fornecido, odefault valor será utilizado. |
value |
sequência | Não | Indica um pedido de consentimento mais específico. Por exemplo, consentimento para um e-mail específico. |
custom |
Objeto JSON. O tipo de valor da propriedade JSON é sequência. | Não | Qualquer informação de contexto adicional a ser incluída no consentimento. Este está disponível para ser exibido na página de consentimento na forma de macros de modelo. |
claims |
Objeto JSON. O valor da propriedade JSON pode ser de qualquer tipo. | Não | Se a solicitação for autorizada, as solicitações correspondentes serão incluídas no token de ID emitido. |
required |
boolean | Não | Se required estiver definido como verdadeiro, o usuário deverá responder afirmativamente. Esse consentimento não é necessário se a política de privacidade indicar que o consentimento nunca pode ser aceito. |
autoGrant |
boolean | Não | Se autoGrant estiver definido como verdadeiro, o usuário não será solicitado a dar seu consentimento e o item de consentimento será automaticamente autorizado. |
global |
boolean | Não | Se global estiver definido como verdadeiro, o consentimento registrado será válido para todas as aplicações. Essa configuração é relevante para itens de consentimento, como documentos de Termos e Condições, que são aceitos pelo usuário apenas uma vez. |
audience |
sequência | Não | Se a solicitação for autorizada, esse valor será adicionado aos públicos-alvo concedidos, juntamente com a lista de públicos-alvo configurada no aplicativo e o ID de cliente padrão. |
Aqui está um exemplo do JSON retornado pelo mapeamento de consentimento personalizado:
{
"purpose": "marketing",
"attribute": "email",
"accessType": "read",
"value": "jhill@ibm.com",
"custom": {
"type": "personal"
},
"autoGrant": true,
"required": false
}