数据湖中的隐私请求处理
Adobe Experience Platform Privacy Service处理客户访问、选择退出销售或删除其个人数据的请求,如法律和组织隐私法规所述。
本文档介绍了与处理存储在数据湖中的客户数据的隐私请求相关的基本概念。
快速入门
在阅读本指南之前,建议您实际了解以下Experience Platform服务:
- Privacy Service:管理客户跨多个Adobe Experience Cloud应用程序访问、选择退出销售或删除其个人数据的请求。
- Catalog Service: Experience Platform内数据位置和族系的记录系统。 提供可用于更新数据集元数据的API。
- Experience Data Model (XDM) System: Experience Platform用于组织客户体验数据的标准化框架。
- Identity Service:通过跨设备和系统桥接身份,解决了客户体验数据碎片化带来的基本挑战。
了解标识命名空间 namespaces
Adobe Experience Platform Identity Service跨系统和设备桥接客户身份数据。 Identity Service使用身份命名空间通过将身份值与原始系统关联来提供身份值的上下文。 命名空间可以表示通用概念,例如电子邮件地址(“电子邮件”),也可以将身份与特定应用程序关联,例如Adobe Advertising Cloud ID (“AdCloud”)或Adobe Target ID (“TNTID”)。
Identity Service维护全局定义(标准)和用户定义(自定义)身份命名空间的存储。 标准命名空间适用于所有组织(例如,“Email”和“ECID”),而您的组织也可以创建自定义命名空间以满足其特定需求。
有关Experience Platform中身份命名空间的更多信息,请参阅身份命名空间概述。
向数据集添加身份数据
在为数据湖创建隐私请求时,必须为每位客户提供有效的身份值(及其关联的命名空间),以便找到其数据并相应地对其进行处理。 因此,所有服从隐私请求的数据集都必须在其关联的XDM架构中包含身份描述符。
本节介绍将身份描述符添加到现有数据集的XDM架构的步骤。 如果您已有具有标识描述符的数据集,则可以跳至下一部分。
有两种方法可以将身份描述符添加到数据集架构:
使用UI identity-ui
在Experience Platform用户界面中,架构 工作区允许您编辑现有XDM架构。 要将标识描述符添加到架构,请从列表中选择架构,然后按照Schema Editor教程中将架构字段设置为标识字段的步骤操作。
将架构中的相应字段设置为身份字段后,您可以继续有关提交隐私请求的下一部分。
使用 API identity-api
您可以通过向Schema Registry API中的/descriptors
端点发出POST请求,将标识描述符添加到数据集的XDM架构中。
API格式
POST /descriptors
请求
以下请求在示例架构中的“电子邮件地址”字段中定义标识描述符。
curl -X POST \
https://platform.adobe.io/data/foundation/schemaregistry/tenant/descriptors \
-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}' \
-H 'Content-Type: application/json' \
-d '
{
"@type": "xdm:descriptorIdentity",
"xdm:sourceSchema": "https://ns.adobe.com/{TENANT_ID}/schemas/fbc52b243d04b5d4f41eaa72a8ba58be",
"xdm:sourceVersion": 1,
"xdm:sourceProperty": "/personalEmail/address",
"xdm:namespace": "Email",
"xdm:property": "xdm:code",
"xdm:isPrimary": false
}'
@type
xdm:sourceSchema
xdm:sourceVersion
xdm:sourceSchema
中指定的XDM架构的版本。xdm:sourceProperty
xdm:namespace
xdm:property
xdm:namespace
下使用的命名空间。xdm:isPrimary
响应
成功的响应返回HTTP状态201 (已创建)以及新创建的描述符的详细信息。
{
"@type": "xdm:descriptorIdentity",
"xdm:sourceSchema": "https://ns.adobe.com/{TENANT_ID}/schemas/fbc52b243d04b5d4f41eaa72a8ba58be",
"xdm:sourceVersion": 1,
"xdm:sourceProperty": "/personalEmail/address",
"xdm:namespace": "Email",
"xdm:property": "xdm:code",
"xdm:isPrimary": false,
"meta:containerId": "tenant",
"@id": "f3a1dfa38a4871cf4442a33074c1f9406a593407"
}
提交请求 submit
以下部分概述了如何使用Privacy Service UI或API向Data Lake发出隐私请求。
使用UI
在UI中创建作业请求时,请确保选择 产品 下的 AEP数据湖,以便处理存储在数据湖中的数据的作业。
使用 API
在API中创建作业请求时,提供的任何userIDs
都必须使用特定的namespace
和type
,具体取决于它们应用于的数据存储。 数据湖的ID必须使用unregistered
作为其type
值,并且使用namespace
与添加到适用数据集的隐私标签之一匹配的值。
此外,请求有效负载的include
数组必须包含请求所接收的不同数据存储的产品值。 向数据湖发出请求时,数组必须包含值aepDataLake
。
以下请求使用未注册的email_label
命名空间为数据湖创建新的隐私作业。 它还包含include
数组中数据湖的产品值:
curl -X POST \
https://platform.adobe.io/data/core/privacy/jobs \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'Content-Type: application/json' \
-d '{
"companyContexts": [
{
"namespace": "imsOrgID",
"value": "{ORG_ID}"
}
],
"users": [
{
"key": "user12345",
"action": ["access","delete"],
"userIDs": [
{
"namespace": "email_label",
"value": "ajones@acme.com",
"type": "unregistered"
},
{
"namespace": "email_label",
"value": "jdoe@example.com",
"type": "unregistered"
}
]
}
],
"include": ["aepDataLake"],
"expandIds": false,
"priority": "normal",
"regulation": "ccpa"
}'
x-sandbox-name
标头都会被系统忽略。正在处理删除请求
当Experience Platform收到来自Privacy Service的删除请求时,Platform向Privacy Service发送确认,确认已收到该请求并且受影响的数据已标记为删除。 然后,这些记录会在七天内从数据湖中删除。 在这七天窗口内,数据将被软删除,因此任何Platform服务都无法访问。
如果您还在隐私请求中包含ProfileService
或identity
,则其关联的数据将单独进行处理。 有关详细信息,请参阅有关配置文件🔗的删除请求处理的部分。
后续步骤
通过阅读本文档,您已了解与处理Data Lake的隐私请求相关的重要概念。 建议您继续阅读本指南中提供的文档,以加深您对如何管理身份数据和创建隐私作业的了解。
有关处理Profile存储区的隐私请求的步骤,请参阅实时客户个人资料的隐私请求处理文档。
附录
以下部分包含有关在数据湖中处理隐私请求的其他信息。
为嵌套映射类型字段设置标签 nested-maps
需要注意的是,有两种嵌套映射类型字段不支持隐私标签:
- 数组类型字段中的映射类型字段
- 另一个映射类型字段中的映射类型字段
上述两个示例的隐私作业处理最终都将失败。 因此,建议您避免使用嵌套的映射类型字段来存储专用客户数据。 对于基于记录的数据集,相关使用者ID应作为非映射数据类型存储在identityMap
字段(本身是映射类型字段)中,对于基于时间序列的数据集,应作为非映射数据类型存储endUserID
字段。