Show Menu
SUJETS×

Enforce data usage policies using the Policy Service API

Once you have created data usage labels for your data, and have created usage policies for marketing actions against those labels, you can use the DULE Policy Service API to evaluate whether a marketing action performed on a dataset or an arbitrary group of labels constitutes a policy violation. Vous pouvez ensuite configurer vos propres protocoles internes pour gérer les violations de stratégie en fonction de la réponse de l’API.
Par défaut, seules les stratégies dont l’état est défini sur ENABLED peuvent participer à l’évaluation. Pour autoriser les stratégies DRAFT à participer à l’évaluation, vous devez inclure le paramètre de requête includeDraft=true au chemin d’accès de la requête.
This document provides steps on how to use the Policy Service API to check for policy violations in different scenarios.

Prise en main

Ce tutoriel nécessite une compréhension pratique des concepts clés suivants, qui sont impliqués dans l’application des stratégies DULE :
  • Gouvernance des données Platform : cadre selon lequel applique la conformité d’utilisation des données.
    • Libellés d’utilisation des données  : les libellés d’utilisation des données sont appliqués aux jeux de données (et/ou aux champs individuels de ces jeux de données), spécifiant les restrictions d’utilisation de ces données.
    • Stratégies d’utilisation des données  : les stratégies d’utilisation des données sont des règles décrivant les types d’actions marketing autorisées ou non pour certains ensembles de libellés DULE.
  • Sandbox : Experience Platform fournit des sandbox virtuels qui partitionnent une Platform instance unique en environnements virtuels distincts pour aider à développer et développer des applications d'expérience numérique.
Avant de commencer ce tutoriel, consultez le guide de développement pour obtenir les informations importantes à connaître afin d’effectuer avec succès des appels vers l’API DULE , y compris les en-têtes requis et la méthode de lecture d’exemples d’appels API.Policy Service

Évaluation à l’aide de libellés DULE et d’une action marketing

Vous pouvez évaluer une stratégie en testant une action marketing en fonction d’un ensemble de libellés DULE éventuellement présents dans un jeu de données. Pour cela, vous devez utiliser des paramètres de requête duleLabels où les libellés DULE sont fournis sous la forme d’une liste de valeurs séparées par des virgules, comme indiqué dans l’exemple ci-dessous.
Format d’API
GET /marketingActions/core/{MARKETING_ACTION_NAME}/constraints?duleLabels={LABEL_1},{LABEL_2}
GET /marketingActions/custom/{MARKETING_ACTION_NAME}/constraints?duleLabels={LABEL_1},{LABEL_2}

Paramètre
Description
{MARKETING_ACTION_NAME}
Nom de l’action marketing associée à la stratégie DULE que vous évaluez.
{LABEL_1}
Libellé d’utilisation des données permettant de tester l’action marketing. Au moins un libellé doit être fourni. Lorsque vous fournissez plusieurs libellés, ceux-ci doivent être séparés par des virgules.
Requête
La requête suivante teste l’action marketing exportToThirdParty par rapport aux libellés C1 et C3 . Puisque la stratégie d’utilisation des données que vous avez créée précédemment dans ce tutoriel définit le libellé C1 comme l’une des conditions deny de sa stratégie, l’action marketing doit signaler une violation de la stratégie.
Les libellés d’utilisation des données sont sensibles à la casse. Les violations de stratégie ne surviennent qu’en cas de correspondance exacte avec les libellés définis dans leurs expressions de stratégie. Dans cet exemple, un libellé C1 déclenche une violation, mais pas un libellé c1 .
curl -X GET \
  https://platform.adobe.io/data/foundation/dulepolicy/marketingActions/custom/exportToThirdParty/constraints?duleLabels=C1,C3 \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'x-api-key: {API_KEY}' \
  -H 'x-gw-ims-org-id: {IMS_ORG}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}'

Réponse
Une réponse réussie renvoie l’URL de l’action marketing, les libellés DULE en fonction desquels ont été réalisés les tests et une liste de toute stratégie DULE violée en résultat du test de l’action en fonction de ces libellés. Dans cet exemple, la stratégie « Export Data to Third Party » s’affiche dans le tableau violatedPolicies , indiquant que l’action marketing a déclenché la violation de stratégie attendue.
{
    "timestamp": 1565727821209,
    "clientId": "string",
    "userId": "string",
    "imsOrg": "{IMS_ORG}",
    "marketingActionRef": "https://platform-stage.adobe.io:443/data/foundation/dulepolicy/marketingActions/custom/exportToThirdParty",
    "duleLabels": [
        "C1",
        "C3"
    ],
    "violatedPolicies": [
        {
            "name": "Export Data to Third Party",
            "status": "ENABLED",
            "marketingActionRefs": [
                "https://platform-stage.adobe.io:443/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": "{IMS_ORG}",
            "created": 1565651746693,
            "createdClient": "{CREATED_CLIENT}",
            "createdUser": "{CREATED_USER",
            "updated": 1565723012139,
            "updatedClient": "{UPDATED_CLIENT}",
            "updatedUser": "{UPDATED_USER}",
            "_links": {
                "self": {
                    "href": "https://platform-stage.adobe.io/data/foundation/dulepolicy/policies/custom/5d51f322e553c814e67af1a3"
                }
            },
            "id": "5d51f322e553c814e67af1a3"
        }
    ]
}

Propriété
Description
violatedPolicies
Un tableau répertoriant toutes les stratégies DULE violées lors du test de l’action marketing (spécifiée dans marketingActionRef ) en fonction des duleLabels fournies.

Évaluation à l’aide de jeux de données

Vous pouvez évaluer une stratégie DULE en testant une action marketing en fonction d’un ou de plusieurs jeux de données à partir desquels il est possible de collecter les libellés DULE. Pour ce faire, vous devez envoyer une requête POST à /marketingActions/core/{MARKETING_ACTION_NAME}/constraints et fournir des identifiants de jeux de données dans le corps de la requête, comme indiqué dans l’exemple ci-dessous.
Format d’API
POST /marketingActions/core/{MARKETING_ACTION_NAME}/constraints
POST /marketingActions/custom/{MARKETING_ACTION_NAME}/constraints

Paramètre
Description
{MARKETING_ACTION_NAME}
Nom de l’action marketing associée à la stratégie DULE que vous évaluez.
Requête
La requête suivante teste l’action marketing exportToThirdParty en fonction de trois jeux de données différents. Les jeux de données sont référencés par type et par identifiant dans un tableau fourni dans le payload.
curl -X POST \
  https://platform.adobe.io/data/foundation/dulepolicy/marketingActions/custom/exportToThirdParty/constraints
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'x-api-key: {API_KEY}' \
  -H 'x-gw-ims-org-id: {IMS_ORG}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}' \
  -H 'Content-Type: application/json' \
  -d '[
    {
      "entityType": "dataSet",
      "entityId": "5c423dc25f2f2e00005e2319"
    },
    {
      "entityType": "dataSet",
      "entityId": "5cc323e15410ef14b749481e"
    },
    {
      "entityType": "dataSet",
      "entityId": "5cc1fb685410ef14b748c55f"
    }
  ]'

Propriété
Description
entityType
Chaque élément du tableau de payload doit indiquer le type d’entité en cours de définition. Dans ce cas d’utilisation, la valeur sera toujours « dataSet ».
entityId
Chaque élément du tableau de payload doit fournir l’identifiant unique d’un jeu de données.
Réponse
Une réponse réussie renvoie l’URL de l’action marketing, les libellés DULE collectés à partir des jeux de données fournis et une liste de toute stratégie DULE violée suite au test de l’action en fonction de ces libellés. Dans cet exemple, la stratégie « Export Data to Third Party » s’affiche dans le tableau violatedPolicies , indiquant que l’action marketing a déclenché la violation de stratégie attendue.
{
    "timestamp": 1556324277895,
    "clientId": "{CLIENT_ID}",
    "userId": "{USER_ID}",
    "imsOrg": "{IMS_ORG}",
    "marketingActionRef": "https://platform.adobe.io:443/data/foundation/dulepolicy/marketingActions/custom/exportToThirdParty",
    "duleLabels": [
        "C1",
        "C2",
        "C4",
        "C5",
        "C6"
    ],
    "discoveredLabels": [
        {
            "entityType": "dataSet",
            "entityId": "5c423dc25f2f2e00005e2319",
            "dataSetLabels": {
                "connection": {
                    "labels": []
                },
                "dataSet": {
                    "labels": [
                        "C6"
                    ]
                },
                "fields": [
                    {
                        "labels": [
                            "C2",
                            "C5"
                        ],
                        "path": "/properties/_customer"
                    },
                    {
                        "labels": [
                            "C4",
                            "C5"
                        ],
                        "path": "/properties/geoUnit"
                    },
                    {
                        "labels": [
                            "C4"
                        ],
                        "path": "/properties/identityMap"
                    },
                    {
                        "labels": [
                            "C4"
                        ],
                        "path": "/properties/journeyAI"
                    },
                    {
                        "labels": [
                            "C5"
                        ],
                        "path": "/properties/createdByBatchID"
                    },
                    {
                        "labels": [
                            "C5"
                        ],
                        "path": "/properties/faxPhone"
                    }
                ]
            }
        },
        {
            "entityType": "dataSet",
            "entityId": "5cc323e15410ef14b749481e",
            "dataSetLabels": {
                "connection": {
                    "labels": []
                },
                "dataSet": {
                    "labels": [
                        "C5"
                    ]
                },
                "fields": [
                    {
                        "labels": [
                            "C2",
                        ],
                        "path": "/properties/_customer"
                    },
                    {
                        "labels": [
                            "C5"
                        ],
                        "path": "/properties/geoUnit"
                    },
                    {
                        "labels": [
                            "C1"
                        ],
                        "path": "/properties/identityMap"
                    }
                ]
            }
        },
        {
            "entityType": "dataSet",
            "entityId": "5cc1fb685410ef14b748c55f",
            "dataSetLabels": {
                "connection": {
                    "labels": []
                },
                "dataSet": {
                    "labels": [
                        "C5"
                    ]
                },
                "fields": [
                    {
                        "labels": [
                            "C5"
                        ],
                        "path": "/properties/createdByBatchID"
                    },
                    {
                        "labels": [
                            "C5"
                        ],
                        "path": "/properties/faxPhone"
                    }
                ]
            }
        }
    ],
    "violatedPolicies": [
        {
            "name": "Export Data to Third Party",
            "status": "ENABLED",
            "marketingActionRefs": [
                "https://platform-stage.adobe.io:443/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": "{IMS_ORG}",
            "created": 1565651746693,
            "createdClient": "{CREATED_CLIENT}",
            "createdUser": "{CREATED_USER",
            "updated": 1565723012139,
            "updatedClient": "{UPDATED_CLIENT}",
            "updatedUser": "{UPDATED_USER}",
            "_links": {
                "self": {
                    "href": "https://platform-stage.adobe.io/data/foundation/dulepolicy/policies/custom/5d51f322e553c814e67af1a3"
                }
            },
            "id": "5d51f322e553c814e67af1a3"
        }
    ]
}

Propriété
Description
duleLabels
Liste des libellés DULE extraits des jeux de données fournis dans le payload de la requête.
discoveredLabels
Liste des jeux de données fournis dans le payload de la requête affichant les libellés DULE au niveau du jeu de données et au niveau du champ trouvées dans chaque jeu.
violatedPolicies
Un tableau répertoriant toutes les stratégies DULE violées lors du test de l’action marketing (spécifiée dans marketingActionRef ) en fonction des duleLabels fournies.

Étapes suivantes

La lecture de ce document vous a permis de comprendre comment identifier les violations de stratégie lors de l’exécution d’une action marketing sur un jeu de données ou sur un ensemble de libellés DULE. En utilisant les données renvoyées dans les réponses de l’API, vous pouvez configurer des protocoles dans votre application d’expérience de façon à appliquer les violations de stratégie lorsque celles-ci se produisent.
For steps on how to enforce data usage policies for audience segments in Real-time Customer Profile, please refer to the following tutorial .