Extremo de políticas de gobernanza de datos
Las políticas de gobernanza de datos son reglas que describen los tipos de acciones de marketing que se le permite realizar, o que se le restringe, en los datos de Experience Platform. El /policies
punto final en la Policy Service API le permite administrar mediante programación las directivas de control de datos de su organización.
/policies
guía de extremo para API de control de acceso para obtener más información sobre cómo administrar mediante programación las directivas de control de acceso.Introducción
El extremo de API utilizado en esta guía forma parte del Policy Service API. Antes de continuar, consulte la guía de introducción para obtener vínculos a documentación relacionada, una guía para leer las llamadas de API de ejemplo en este documento e información importante sobre los encabezados necesarios para realizar correctamente llamadas a cualquier Experience Platform API.
Recuperación de una lista de directivas list
Puede enumerar todos core
o custom
políticas realizando una solicitud de GET a /policies/core
o /policies/custom
, respectivamente.
Formato de API
GET /policies/core
GET /policies/custom
Solicitud
La siguiente solicitud recupera una lista de directivas personalizadas definidas por su organización.
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}'
Respuesta
Una respuesta correcta incluye una children
matriz que enumera los detalles de cada directiva recuperada, incluido su id
valores. Puede usar el complemento id
campo de una directiva concreta que se va a realizar búsqueda, actualizar, y eliminar solicitudes de esa directiva.
{
"_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
, o DISABLED
. De forma predeterminada, solo ENABLED
las políticas participan en la evaluación. Consulte la información general sobre evaluación política para obtener más información.marketingActionRefs
description
deny
Buscar una directiva look-up
Puede buscar una directiva específica incluyendo la de id
en la ruta de una petición GET.
Formato de API
GET /policies/core/{POLICY_ID}
GET /policies/custom/{POLICY_ID}
{POLICY_ID}
id
de la directiva que desea buscar.Solicitud
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}'
Respuesta
Una respuesta correcta devuelve los detalles de la directiva.
{
"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
, o DISABLED
. De forma predeterminada, solo ENABLED
las políticas participan en la evaluación. Consulte la información general sobre evaluación política para obtener más información.marketingActionRefs
description
deny
Crear una directiva personalizada create-policy
En el Policy Service API, una política se define de la siguiente manera:
- Una referencia a una acción de marketing específica
- Una expresión que describe las etiquetas de uso de datos con las que está restringida la acción de marketing
Para cumplir este último requisito, las definiciones de políticas deben incluir una expresión booleana con respecto a la presencia de etiquetas de uso de datos. Esta expresión se denomina expresión de directiva.
Las expresiones de política se proporcionan en forma de deny
dentro de cada definición de directiva. Un ejemplo de un deny
que solo comprueba la presencia de una sola etiqueta tendría el siguiente aspecto:
"deny": {
"label": "C1"
}
Sin embargo, muchas políticas especifican condiciones más complejas con respecto a la presencia de etiquetas de uso de datos. Para admitir estos casos de uso, también puede incluir operaciones booleanas para describir las expresiones de directiva. El objeto de expresión de directiva debe contener una etiqueta o un operador y operandos, pero no ambos. A su vez, cada operando también es un objeto de expresión de directiva.
Por ejemplo, para definir una política que prohíba que se realice una acción de marketing en datos en los que C1 OR (C3 AND C7)
están presentes, las etiquetas deny
La propiedad se especificaría como:
"deny": {
"operator": "OR",
"operands": [
{"label": "C1"},
{
"operator": "AND",
"operands": [
{"label": "C3"},
{"label": "C7"}
]
}
]
}
operator
Indica la relación condicional entre las etiquetas proporcionadas en el elemento secundario operands
matriz. Los valores aceptados son:
OR
: la expresión se resuelve en true si alguna de las etiquetas de la variableoperands
están presentes.AND
: la expresión solo se resuelve en true si todas las etiquetas deloperands
están presentes.
operands
operator
y operands
propiedades. La presencia de las etiquetas u operaciones en un operands
la matriz se resuelve en true o false en función del valor de su elemento secundario operator
propiedad.label
Puede crear una nueva directiva personalizada realizando una solicitud de POST a /policies/custom
punto final.
Formato de API
POST /policies/custom
Solicitud
La siguiente solicitud crea una nueva directiva que restringe la acción de marketing exportToThirdParty
de realizarse en datos que contengan etiquetas 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
, o DISABLED
. De forma predeterminada, solo ENABLED
las políticas participan en la evaluación. Consulte la información general sobre evaluación política para obtener más información.marketingActionRefs
_links.self.href
en la respuesta de búsqueda de una acción de marketing.description
deny
Respuesta
Una respuesta correcta devuelve los detalles de la directiva recién creada, incluido su id
. Este valor es de sólo lectura y se asigna automáticamente cuando se crea la directiva.
{
"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"
}
Actualizar una directiva personalizada update
Puede actualizar una directiva personalizada existente proporcionando su ID en la ruta de una solicitud de PUT con una carga útil que incluya el formulario actualizado de la directiva en su totalidad. En otras palabras, la solicitud del PUT básicamente reescribe la directiva.
Formato de API
PUT /policies/custom/{POLICY_ID}
{POLICY_ID}
id
de la directiva que desea actualizar.Solicitud
En este ejemplo, las condiciones para exportar datos a un tercero han cambiado y ahora necesita la directiva que ha creado para denegar esta acción de marketing si C1 AND C5
hay etiquetas de datos.
La siguiente solicitud actualiza la directiva existente para incluir la nueva expresión de directiva. Tenga en cuenta que, como esta solicitud básicamente reescribe la directiva, todos los campos deben incluirse en la carga útil, incluso si algunos de sus valores no se actualizan.
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
, o DISABLED
. De forma predeterminada, solo ENABLED
las políticas participan en la evaluación. Consulte la información general sobre evaluación política para obtener más información.marketingActionRefs
_links.self.href
en la respuesta de búsqueda de una acción de marketing.description
deny
Respuesta
Una respuesta correcta devuelve los detalles de la directiva actualizada.
{
"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"
}
Actualizar una parte de una directiva personalizada patch
Una parte específica de una directiva se puede actualizar mediante una solicitud de PATCH. A diferencia de las solicitudes de PUT que reescriben la directiva, las solicitudes de PATCH actualizan únicamente las propiedades especificadas en el cuerpo de la solicitud. Esto resulta especialmente útil cuando desea habilitar o deshabilitar una directiva, ya que solo necesita proporcionar la ruta a la propiedad adecuada (/status
) y su valor (ENABLED
o DISABLED
).
El Policy Service La API admite las operaciones de parches de JSON add
, remove
, y replace
y le permite combinar varias actualizaciones en una sola llamada, como se muestra en el ejemplo siguiente.
Formato de API
PATCH /policies/custom/{POLICY_ID}
{POLICY_ID}
id
de la directiva cuyas propiedades desea actualizar.Solicitud
La siguiente solicitud utiliza dos replace
operaciones desde las que cambiar el estado de la directiva DRAFT
hasta ENABLED
y para actualizar el description
con una nueva descripción.
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."
}
]'
Respuesta
Una respuesta correcta devuelve los detalles de la directiva actualizada.
{
"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"
}
Eliminar una directiva personalizada delete
Puede eliminar una directiva personalizada incluyendo su id
en la ruta de una petición de DELETE.
Formato de API
DELETE /policies/custom/{POLICY_ID}
{POLICY_ID}
Solicitud
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}'
Respuesta
Una respuesta correcta devuelve el estado HTTP 200 (OK) con un cuerpo en blanco.
Para confirmar la eliminación, intente buscar (GET) la directiva de nuevo. Debería recibir un error HTTP 404 (no encontrado) si la directiva se ha eliminado correctamente.
Recuperar una lista de directivas principales habilitadas list-enabled-core
De forma predeterminada, solo las políticas de gobernanza de datos habilitadas participan en la evaluación. Puede recuperar una lista de las directivas principales actualmente habilitadas por su organización realizando una solicitud de GET a /enabledCorePolicies
punto final.
Formato de API
GET /enabledCorePolicies
Solicitud
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}'
Respuesta
Una respuesta correcta devuelve la lista de directivas principales habilitadas en una 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"
}
}
}
Actualizar la lista de directivas principales habilitadas update-enabled-core
De forma predeterminada, solo las políticas de gobernanza de datos habilitadas participan en la evaluación. Realizando una solicitud de PUT a /enabledCorePolicies
punto final, puede actualizar la lista de directivas principales habilitadas para su organización mediante una sola llamada.
Formato de API
PUT /enabledCorePolicies
Solicitud
La siguiente solicitud actualiza la lista de directivas principales habilitadas en función de los ID proporcionados en la carga útil.
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
estado y no participarán en la evaluación.Respuesta
Una respuesta correcta devuelve la lista actualizada de directivas principales habilitadas en un 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"
}
}
}
Pasos siguientes
Una vez que haya definido nuevas directivas o actualizado las existentes, puede utilizar el Policy Service API para probar acciones de marketing con etiquetas o conjuntos de datos específicos y ver si las políticas están generando infracciones según lo esperado. Consulte la guía en la extremos de evaluación de directivas para obtener más información.