Point d’entrée des politiques de gouvernance des données
Les politiques de gouvernance des données sont des règles qui décrivent les types d’actions marketing que vous êtes autorisé(e) ou non à effectuer sur des données dans Experience Platform. Le point d’entrée /policies
dans l’Policy Service API vous permet de gérer par programmation les politiques de gouvernance des données pour votre organisation.
/policies
de l’API de contrôle d’accès pour plus d’informations sur la gestion par programmation des politiques de contrôle d’accès.Prise en main
Le point d’entrée dʼAPI utilisé dans ce guide fait partie de lʼ Policy Service API. Avant de continuer, consultez le guide de prise en main pour obtenir des liens vers la documentation associée, un guide de lecture des exemples dʼappels API dans ce document et des informations importantes sur les en-têtes requis pour réussir des appels à nʼimporte quel API dʼExperience Platform.
Récupération dʼune liste de politiques list
Vous pouvez répertorier toutes les politiques core
ou custom
en effectuant une requête GET à /policies/core
ou /policies/custom
, respectivement.
Format d’API
GET /policies/core
GET /policies/custom
Requête
La requête suivante récupère une liste de politiques personnalisées définies par votre organisation.
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}'
Réponse
Une réponse réussie comprend un tableau children
qui répertorie les détails de chaque politique récupérée, y compris leurs valeurs id
. Vous pouvez utiliser le champ id
dʼune politique spécifique pour effectuer des requêtes de recherche, de mise à jour et de suppression pour cette politique.
{
"_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
. Par défaut, seules les politiques ENABLED
participent à lʼévaluation. Pour plus dʼinformations, consultez la présentation sur lʼévaluation des politiques.marketingActionRefs
description
deny
Recherche dʼune politique look-up
Vous pouvez rechercher une politique spécifique en incluant la propriété id
de cette politique dans le chemin dʼune requête GET.
Format d’API
GET /policies/core/{POLICY_ID}
GET /policies/custom/{POLICY_ID}
{POLICY_ID}
id
de la politique que vous souhaitez rechercher.Requête
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}'
Réponse
Une réponse réussie renvoie les détails de la politique.
{
"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
. Par défaut, seules les politiques ENABLED
participent à lʼévaluation. Pour plus dʼinformations, consultez la présentation sur lʼévaluation des politiques.marketingActionRefs
description
deny
Création dʼune politique personnalisée create-policy
Dans lʼAPI Policy Service, une politique est définie par les éléments suivants :
- référence à une action marketing spécifique
- expression décrivant les étiquettes dʼutilisation des données pour lesquelles lʼaction marketing ne peut pas être effectuée.
Pour satisfaire à cette dernière exigence, les définitions des politiques doivent inclure une expression booléenne par rapport à la présence dʼétiquettes dʼutilisation des données. Cette expression sʼappelle une expression de politique.
Les expressions de politique sont fournies sous la forme dʼune propriété deny
dans chaque définition de politique. Voici un exemple dʼobjet deny
simple qui vérifie uniquement la présence dʼune seule étiquette :
"deny": {
"label": "C1"
}
Cependant, de nombreuses politiques spécifient des conditions plus complexes par rapport à la présence dʼétiquettes dʼutilisation des données. Pour prendre en charge ces cas dʼutilisation, vous pouvez également inclure des opérations booléennes pour décrire vos expressions de politique. Lʼobjet dʼexpression de politique doit contenir soit une étiquette soit un opérateur et des opérandes, mais pas les deux. De même, chaque opérande est également un objet d’expression de politique.
Par exemple, afin de définir une politique qui interdit lʼexécution dʼune action marketing sur des données contenant des étiquettes C1 OR (C3 AND C7)
, la propriété deny
de la politique est spécifiée comme suit :
"deny": {
"operator": "OR",
"operands": [
{"label": "C1"},
{
"operator": "AND",
"operands": [
{"label": "C3"},
{"label": "C7"}
]
}
]
}
operator
Indique la relation conditionnelle entre les étiquettes fournies dans le tableau operands
frère. Les valeurs acceptées sont les suivantes :
OR
: lʼexpression est résolue en « true » si lʼune des étiquettes du tableauoperands
est présente.AND
: lʼexpression est résolue en « true » uniquement si toutes les étiquettes du tableauoperands
sont présentes.
operands
operator
et operands
. La présence des étiquettes et/ou des opérations dans un tableau operands
est résolue en « true » ou « false » en fonction de la valeur de sa propriété operator
frère.label
Vous pouvez créer une nouvelle politique personnalisée en effectuant une requête POST vers le point d’entrée /policies/custom
.
Format d’API
POST /policies/custom
Requête
La requête suivante crée une nouvelle politique qui limite lʼexécution de lʼaction marketing exportToThirdParty
sur les données contenant des étiquettes 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
. Par défaut, seules les politiques ENABLED
participent à lʼévaluation. Pour plus dʼinformations, consultez la présentation sur lʼévaluation des politiques.marketingActionRefs
_links.self.href
dans la réponse pour la recherche dʼune action marketing.description
deny
Réponse
Une réponse réussie renvoie les détails de la nouvelle politique créée, y compris son id
. Cette valeur est en lecture seule et s’affiche automatiquement lors de la création de la politique.
{
"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"
}
Mise à jour dʼune politique personnalisée update
Vous pouvez mettre à jour une politique personnalisée existante en fournissant son identifiant dans le chemin dʼune requête PUT avec une payload qui inclut la version actualisée de la politique dans son intégralité. En dʼautres termes, la requête PUT réécrit essentiellement la politique.
Format d’API
PUT /policies/custom/{POLICY_ID}
{POLICY_ID}
id
de la politique à mettre à jour.Requête
Dans cet exemple, les conditions d’exportation des données vers un tiers ont été modifiées. Vous devez définir la politique créée de sorte qu’elle rejette cette action marketing en présence d’étiquettes de données C1 AND C5
.
La requête suivante met à jour la politique existante pour inclure la nouvelle expression de politique. Remarquez que puisque cette requête réécrit essentiellement la politique, tous les champs doivent être inclus dans la payload, même si certaines de leurs valeurs ne sont pas mises à jour.
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
. Par défaut, seules les politiques ENABLED
participent à lʼévaluation. Pour plus dʼinformations, consultez la présentation sur lʼévaluation des politiques.marketingActionRefs
_links.self.href
dans la réponse pour la recherche dʼune action marketing.description
deny
Réponse
Une réponse réussie renvoie les détails de la politique mise à jour.
{
"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"
}
Mise à jour dʼune partie dʼune politique patch
Vous pouvez mettre à jour une partie spécifique d’une politique à l’aide d’une requête PATCH. Contrairement aux requêtes PUT qui réécrivent la politique, les requêtes PATCH ne mettent à jour que les propriétés spécifiées dans le corps de la requête. Cela sʼavère particulièrement utile lorsque vous souhaitez activer ou désactiver une politique, car vous devez uniquement fournir le chemin dʼaccès à la propriété appropriée (/status
) et sa valeur (ENABLED
ou DISABLED
).
LʼAPI Policy Service prend en charge les opérations JSON Patch add
, remove
, replace
et vous permet de combiner plusieurs mises à jour en un seul appel, comme illustré dans lʼexemple ci-dessous.
Format d’API
PATCH /policies/custom/{POLICY_ID}
{POLICY_ID}
id
de la politique dont vous souhaitez mettre à jour les propriétés.Requête
La requête suivante utilise deux opérations replace
pour modifier lʼétat de la politique de DRAFT
à ENABLED
et pour mettre à jour le champ description
avec une nouvelle description.
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."
}
]'
Réponse
Une réponse réussie renvoie les détails de la politique mise à jour.
{
"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"
}
Suppression dʼune politique personnalisée delete
Vous pouvez supprimer une politique personnalisée en incluant son id
dans le chemin dʼaccès dʼune requête DELETE.
Format d’API
DELETE /policies/custom/{POLICY_ID}
{POLICY_ID}
Requête
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}'
Réponse
Une réponse réussie renvoie lʼétat HTTP 200 (OK) avec un corps vide.
Vous pouvez confirmer la suppression de la politique en la recherchant à lʼaide de GET. Vous devriez recevoir une erreur HTTP 404 (Not Found) si la politique a bien été supprimée.
Récupération dʼune liste de politiques de base activées list-enabled-core
Par défaut, seules les politiques de gouvernance des données activées participent à lʼévaluation. Vous pouvez récupérer une liste de politiques de base actuellement activées par votre organisation en réalisant une requête GET au point d’entrée /enabledCorePolicies
.
Format d’API
GET /enabledCorePolicies
Requête
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}'
Réponse
Une réponse réussie renvoie la liste des politiques de base activées sous un tableau policyIds
.
{
"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"
}
}
}
Mise à jour de la liste des politiques de base activées update-enabled-core
Par défaut, seules les politiques de gouvernance des données activées participent à lʼévaluation. En réalisant une requête PUT au point d’entrée /enabledCorePolicies
, vous pouvez mettre à jour la liste des politiques de base activées pour votre organisation en un seul appel.
Format d’API
PUT /enabledCorePolicies
Requête
La requête suivante met à jour la liste des politiques de base activées en fonction des identifiants fournis dans la payload.
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
et ne participeront pas à lʼévaluation.Réponse
Une réponse réussie renvoie la liste mise à jour des politiques de base activées sous un tableau policyIds
.
{
"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"
}
}
}
Étapes suivantes
Une fois que vous avez défini de nouvelles politiques ou mis à jour des politiques existantes, vous pouvez utiliser lʼAPI Policy Service pour tester les actions marketing par rapport à des étiquettes ou des jeux de données spécifiques et voir si vos politiques génèrent des violations comme prévu. Pour plus dʼinformations, consultez le guide sur les points d’entrée dʼévaluation des politiques.