Ponto de extremidade de políticas de governança de dados
As políticas de governança de dados são regras que descrevem os tipos de ações de marketing que você tem permissão ou restrição para realizar em dados dentro do Experience Platform. A variável /policies
endpoint na variável Policy Service API O permite gerenciar programaticamente as políticas de governança de dados da sua organização.
/policies
manual de endpoint para o API de controle de acesso para obter detalhes sobre como gerenciar programaticamente as políticas de controle de acesso.Introdução
O endpoint da API usado neste guia faz parte da Policy Service API. Antes de continuar, reveja o guia de introdução para obter links para a documentação relacionada, um guia para ler as chamadas de API de exemplo neste documento e informações importantes sobre os cabeçalhos necessários para fazer chamadas com êxito para qualquer Experience Platform API.
Recuperar uma lista de políticas list
Você pode listar todos core
ou custom
fazendo uma solicitação para GET /policies/core
ou /policies/custom
, respectivamente.
Formato da API
GET /policies/core
GET /policies/custom
Solicitação
A solicitação a seguir recupera uma lista de políticas personalizadas definidas por sua organização.
curl -X GET \
https://platform.adobe.io/data/foundation/dulepolicy/policies/custom \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
Resposta
Uma resposta bem-sucedida inclui uma children
que lista os detalhes de cada política recuperada, incluindo suas id
valores. Você pode usar o id
de uma política específica a ser executada pesquisa, atualizar, e excluir para essa política.
{
"_page": {
"start": "5c6dacdf685a4913dc48937c",
"count": 2
},
"_links": {
"page": {
"href": "https://platform.adobe.io/policies/custom?{?limit,start,property}",
"templated": true
}
},
"children": [
{
"name": "Export Data to Third Party",
"status": "DRAFT",
"marketingActionRefs": [
"https://platform.adobe.io/data/foundation/dulepolicy/marketingActions/custom/exportToThirdParty"
],
"description": "Conditions under which data cannot be exported to a third party",
"deny": {
"operator": "AND",
"operands": [
{
"label": "C1"
},
{
"operator": "OR",
"operands": [
{
"label": "C3"
},
{
"label": "C7"
}
]
}
]
},
"imsOrg": "{ORG_ID}",
"created": 1550691551888,
"createdClient": "{CLIENT_ID}",
"createdUser": "{USER_ID}",
"updated": 1550701472910,
"updatedClient": "{CLIENT_ID}",
"updatedUser": "{USER_ID}",
"_links": {
"self": {
"href": "https://platform.adobe.io/data/foundation/dulepolicy/policies/custom/5c6dacdf685a4913dc48937c"
}
},
"id": "5c6dacdf685a4913dc48937c"
},
{
"name": "Combine Data",
"status": "ENABLED",
"marketingActionRefs": [
"https://platform.adobe.io/data/foundation/dulepolicy/marketingActions/custom/combineData"
],
"description": "Data that meets these conditions cannot be combined.",
"deny": {
"operator": "AND",
"operands": [
{
"label": "C3"
},
{
"label": "I1"
}
]
},
"imsOrg": "{ORG_ID}",
"created": 1550703519823,
"createdClient": "{CLIENT_ID}",
"createdUser": "{USER_ID}",
"updated": 1550714340335,
"updatedClient": "{CLIENT_ID}",
"updatedUser": "{USER_ID}",
"_links": {
"self": {
"href": "https://platform.adobe.io/data/foundation/dulepolicy/policies/custom/5c6ddb9f5c404513dc2dc454"
}
},
"id": "5c6ddb9f5c404513dc2dc454"
}
]
}
_page.count
name
status
DRAFT
, ENABLED
ou DISABLED
. Por padrão, somente ENABLED
políticas participam da avaliação. Consulte a visão geral em avaliação de política para obter mais informações.marketingActionRefs
description
deny
Pesquisar uma política look-up
É possível pesquisar uma política específica incluindo as id
propriedade no caminho de uma solicitação GET.
Formato da API
GET /policies/core/{POLICY_ID}
GET /policies/custom/{POLICY_ID}
{POLICY_ID}
id
da política que você deseja pesquisar.Solicitação
curl -X GET \
https://platform.adobe.io/data/foundation/dulepolicy/policies/custom/5c6dacdf685a4913dc48937c \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
Resposta
Uma resposta bem-sucedida retorna os detalhes da política.
{
"name": "Export Data to Third Party",
"status": "DRAFT",
"marketingActionRefs": [
"https://platform.adobe.io/data/foundation/dulepolicy/marketingActions/custom/exportToThirdParty"
],
"description": "Conditions under which data cannot be exported to a third party",
"deny": {
"operator": "AND",
"operands": [
{
"label": "C1"
},
{
"operator": "OR",
"operands": [
{
"label": "C3"
},
{
"label": "C7"
}
]
}
]
},
"imsOrg": "{ORG_ID}",
"created": 1550703519823,
"createdClient": "{CLIENT_ID}",
"createdUser": "{USER_ID}",
"updated": 1550714340335,
"updatedClient": "{CLIENT_ID}",
"updatedUser": "{USER_ID}",
"_links": {
"self": {
"href": "https://platform.adobe.io/data/foundation/dulepolicy/policies/custom/5c6dacdf685a4913dc48937c"
}
},
"id": "5c6dacdf685a4913dc48937c"
}
name
status
DRAFT
, ENABLED
ou DISABLED
. Por padrão, somente ENABLED
políticas participam da avaliação. Consulte a visão geral em avaliação de política para obter mais informações.marketingActionRefs
description
deny
Criar uma política personalizada create-policy
No Policy Service , uma política é definida pelo seguinte:
- Uma referência a uma ação de marketing específica
- Uma expressão que descreve os rótulos de uso de dados nos quais a ação de marketing está restrita de ser executada
Para atender a esse último requisito, as definições de política devem incluir uma expressão booleana em relação à presença de rótulos de uso de dados. Essa expressão é chamada de expressão de política.
As expressões de política são fornecidas no formato de um deny
em cada definição de política. Um exemplo de uma deny
O objeto que verifica apenas a presença de um único rótulo seria semelhante ao seguinte:
"deny": {
"label": "C1"
}
No entanto, muitas políticas especificam condições mais complexas em relação à presença de rótulos de uso de dados. Para dar suporte a esses casos de uso, também é possível incluir operações booleanas para descrever suas expressões de política. O objeto de expressão de política deve conter um rótulo ou um operador e operandos, mas não ambos. Por sua vez, cada operando também é um objeto de expressão de política.
Por exemplo, para definir uma política que proíba uma ação de marketing de ser executada em dados em que C1 OR (C3 AND C7)
rótulos estiverem presentes, a política de deny
A propriedade seria especificada como:
"deny": {
"operator": "OR",
"operands": [
{"label": "C1"},
{
"operator": "AND",
"operands": [
{"label": "C3"},
{"label": "C7"}
]
}
]
}
operator
Indica a relação condicional entre os rótulos fornecidos no irmão operands
matriz. Os valores aceitos são:
OR
: a expressão declara verdadeiro se qualquer um dos rótulos naoperands
estão presentes.AND
: a expressão somente resolverá como true se todos os rótulos naoperands
estão presentes.
operands
operator
e operands
propriedades. A presença dos rótulos e/ou operações num operands
A matriz resolve para verdadeiro ou falso com base no valor de seu irmão operator
propriedade.label
Você pode criar uma nova política personalizada fazendo uma solicitação POST para a /policies/custom
terminal.
Formato da API
POST /policies/custom
Solicitação
A solicitação a seguir cria uma nova política que restringe a ação de marketing exportToThirdParty
de ser executado em dados que contêm rótulos C1 OR (C3 AND C7)
.
curl -X POST \
https://platform.adobe.io/data/foundation/dulepolicy/policies/custom \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'Content-Type: application/json' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-d '{
"name": "Export Data to Third Party",
"status": "DRAFT",
"marketingActionRefs": [
"https://platform.adobe.io/data/foundation/dulepolicy/marketingActions/custom/exportToThirdParty"
],
"description": "Conditions under which data cannot be exported to a third party",
"deny": {
"operator": "OR",
"operands": [
{"label": "C1"},
{
"operator": "AND",
"operands": [
{"label": "C3"},
{"label": "C7"}
]
}
]
}
}'
name
status
DRAFT
, ENABLED
ou DISABLED
. Por padrão, somente ENABLED
políticas participam da avaliação. Consulte a visão geral em avaliação de política para obter mais informações.marketingActionRefs
_links.self.href
na resposta a pesquisar uma ação de marketing.description
deny
Resposta
Uma resposta bem-sucedida retorna os detalhes da política recém-criada, incluindo sua id
. Esse valor é somente leitura e é atribuído automaticamente quando a política é criada.
{
"name": "Export Data to Third Party",
"status": "DRAFT",
"marketingActionRefs": [
"https://platform.adobe.io/data/foundation/dulepolicy/marketingActions/custom/exportToThirdParty"
],
"description": "Conditions under which data cannot be exported to a third party",
"deny": {
"operator": "OR",
"operands": [
{
"label": "C1"
},
{
"operator": "AND",
"operands": [
{
"label": "C3"
},
{
"label": "C7"
}
]
}
]
},
"imsOrg": "{ORG_ID}",
"created": 1550691551888,
"createdClient": "{CLIENT_ID}",
"createdUser": "{USER_ID}",
"updated": 1550691551888,
"updatedClient": "{CLIENT_ID}",
"updatedUser": "{USER_ID}",
"_links": {
"self": {
"href": "https://platform.adobe.io/data/foundation/dulepolicy/policies/custom/5c6dacdf685a4913dc48937c"
}
},
"id": "5c6dacdf685a4913dc48937c"
}
Atualizar uma política personalizada update
Você pode atualizar uma política personalizada existente fornecendo a respectiva ID no caminho de uma solicitação PUT com uma carga que inclui a forma atualizada da política em sua totalidade. Em outras palavras, o pedido PUT reescreve essencialmente a política.
Formato da API
PUT /policies/custom/{POLICY_ID}
{POLICY_ID}
id
da política que você deseja atualizar.Solicitação
Neste exemplo, as condições para exportar dados para terceiros foram alteradas e agora é necessário ter a política criada para negar essa ação de marketing se C1 AND C5
os rótulos de dados estão presentes.
A solicitação a seguir atualiza a política existente para incluir a nova expressão de política. Como essa solicitação reescreve essencialmente a política, todos os campos devem ser incluídos na carga, mesmo se alguns de seus valores não estiverem sendo atualizados.
curl -X PUT \
https://platform.adobe.io/data/foundation/dulepolicy/policies/custom/5c6dacdf685a4913dc48937c \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'Content-Type: application/json' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-d '{
"name": "Export Data to Third Party",
"status": "DRAFT",
"marketingActionRefs": [
"../marketingActions/custom/exportToThirdParty"
],
"description": "Conditions under which data cannot be exported to a third party",
"deny": {
"operator": "AND",
"operands": [
{"label": "C1"},
{"label": "C5"}
]
}
}'
name
status
DRAFT
, ENABLED
ou DISABLED
. Por padrão, somente ENABLED
políticas participam da avaliação. Consulte a visão geral em avaliação de política para obter mais informações.marketingActionRefs
_links.self.href
na resposta a pesquisar uma ação de marketing.description
deny
Resposta
Uma resposta bem-sucedida retorna os detalhes da política atualizada.
{
"name": "Export Data to Third Party",
"status": "DRAFT",
"marketingActionRefs": [
"https://platform.adobe.io/data/foundation/dulepolicy/marketingActions/core/exportToThirdParty"
],
"description": "Conditions under which data cannot be exported to a third party",
"deny": {
"operator": "AND",
"operands": [
{
"label": "C1"
},
{
"label": "C5"
}
]
},
"imsOrg": "{ORG_ID}",
"created": 1550691551888,
"createdClient": "{CLIENT_ID}",
"createdUser": "{USER_ID}",
"updated": 1550701472910,
"updatedClient": "{CLIENT_ID}",
"updatedUser": "{USER_ID}",
"_links": {
"self": {
"href": "https://platform.adobe.io/data/foundation/dulepolicy/policies/custom/5c6dacdf685a4913dc48937c"
}
},
"id": "5c6dacdf685a4913dc48937c"
}
Atualizar uma parte de uma política personalizada patch
Uma parte específica de uma política pode ser atualizada usando uma solicitação PATCH. Diferentemente das solicitações PUT que reescrevem a política, as solicitações PATCH atualizam somente as propriedades especificadas no corpo da solicitação. Isso é especialmente útil quando você deseja ativar ou desativar uma política, pois só é necessário fornecer o caminho para a propriedade apropriada (/status
) e seu valor (ENABLED
ou DISABLED
).
A variável Policy Service A API oferece suporte às operações de patch de JSON add
, remove
, e replace
, e permite combinar várias atualizações em uma única chamada, como mostrado no exemplo abaixo.
Formato da API
PATCH /policies/custom/{POLICY_ID}
{POLICY_ID}
id
da política cujas propriedades você deseja atualizar.Solicitação
A solicitação a seguir usa dois replace
operações para alterar o status da política de DRAFT
para ENABLED
e para atualizar a description
com uma nova descrição.
curl -X PATCH \
https://platform.adobe.io/data/foundation/dulepolicy/policies/custom/5c6dacdf685a4913dc48937c \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'Content-Type: application/json' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-d ' [
{
"op": "replace",
"path": "/status",
"value": "ENABLED"
},
{
"op": "replace",
"path": "/description",
"value": "New policy description."
}
]'
Resposta
Uma resposta bem-sucedida retorna os detalhes da política atualizada.
{
"name": "Export Data to Third Party",
"status": "ENABLED",
"marketingActionRefs": [
"https://platform.adobe.io/data/foundation/dulepolicy/marketingActions/custom/exportToThirdParty"
],
"description": "New policy description.",
"deny": {
"operator": "AND",
"operands": [
{
"label": "C1"
},
{
"operator": "OR",
"operands": [
{
"label": "C3"
},
{
"label": "C7"
}
]
}
]
},
"imsOrg": "{ORG_ID}",
"created": 1550703519823,
"createdClient": "{CLIENT_ID}",
"createdUser": "{USER_ID}",
"updated": 1550712163182,
"updatedClient": "{CLIENT_ID}",
"updatedUser": "{USER_ID}",
"_links": {
"self": {
"href": "https://platform.adobe.io/data/foundation/dulepolicy/policies/custom/5c6dacdf685a4913dc48937c"
}
},
"id": "5c6dacdf685a4913dc48937c"
}
Excluir uma política personalizada delete
É possível excluir uma política personalizada incluindo suas id
no caminho de uma solicitação DELETE.
Formato da API
DELETE /policies/custom/{POLICY_ID}
{POLICY_ID}
Solicitação
curl -X DELETE \
https://platform.adobe.io/data/foundation/dulepolicy/policies/custom/5c6ddb56eb60ca13dbf8b9a8 \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
Resposta
Uma resposta bem-sucedida retorna o status HTTP 200 (OK) com um corpo em branco.
Você pode confirmar a exclusão tentando pesquisar (GET) a política novamente. Você deverá receber um erro HTTP 404 (Não encontrado) se a política tiver sido excluída com sucesso.
Recuperar uma lista de políticas principais habilitadas list-enabled-core
Por padrão, somente as políticas de governança de dados habilitadas participam da avaliação. Você pode recuperar uma lista de políticas principais que estão atualmente habilitadas por sua organização fazendo uma solicitação GET para a /enabledCorePolicies
terminal.
Formato da API
GET /enabledCorePolicies
Solicitação
curl -X GET \
https://platform.adobe.io/data/foundation/dulepolicy/enabledCorePolicies \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
Resposta
Uma resposta bem-sucedida retorna a lista de políticas principais habilitadas em um policyIds
matriz.
{
"policyIds": [
"corepolicy_0001",
"corepolicy_0002",
"corepolicy_0003",
"corepolicy_0004",
"corepolicy_0005",
"corepolicy_0006",
"corepolicy_0007",
"corepolicy_0008"
],
"imsOrg": "{ORG_ID}",
"created": 1529696681413,
"createdClient": "{CLIENT_ID}",
"createdUser": "{USER_ID}",
"updated": 1529697651972,
"updatedClient": "{CLIENT_ID}",
"updatedUser": "{USER_ID}",
"_links": {
"self": {
"href": "https://platform.adobe.io:443/data/foundation/dulepolicy/enabledCorePolicies"
}
}
}
Atualizar a lista de políticas principais habilitadas update-enabled-core
Por padrão, somente as políticas de governança de dados habilitadas participam da avaliação. Ao fazer uma solicitação PUT para o /enabledCorePolicies
você pode atualizar a lista de políticas principais habilitadas para sua organização usando uma única chamada.
Formato da API
PUT /enabledCorePolicies
Solicitação
A solicitação a seguir atualiza a lista de políticas principais habilitadas com base nas IDs fornecidas na carga.
curl -X GET \
https://platform.adobe.io/data/foundation/dulepolicy/enabledCorePolicies \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-d '{
"policyIds": [
"corepolicy_0001",
"corepolicy_0002",
"corepolicy_0007",
"corepolicy_0008"
]
}'
policyIds
DISABLED
status e não participarão da avaliação.Resposta
Uma resposta bem-sucedida retorna a lista atualizada de políticas principais habilitadas em um policyIds
matriz.
{
"policyIds": [
"corepolicy_0001",
"corepolicy_0002",
"corepolicy_0007",
"corepolicy_0008"
],
"imsOrg": "{ORG_ID}",
"created": 1529696681413,
"createdClient": "{CLIENT_ID}",
"createdUser": "{USER_ID}",
"updated": 1595876052649,
"updatedClient": "{CLIENT_ID}",
"updatedUser": "{USER_ID}",
"_links": {
"self": {
"href": "https://platform.adobe.io:443/data/foundation/dulepolicy/enabledCorePolicies"
}
}
}
Próximas etapas
Depois de definir novas políticas ou atualizar as existentes, você poderá usar o Policy Service API para testar ações de marketing em relação a rótulos ou conjuntos de dados específicos e ver se suas políticas estão gerando violações conforme esperado. Consulte o guia no endpoints de avaliação de política para obter mais informações.