• Inicio
  • Novedades
  • Academia SAP
  • FAQ
  • Blog
  • Contacto
S4PCADEMY_Logo
  • Inicio
  • Novedades
  • Academia SAP
  • FAQ
  • Blog
  • Contacto
Twitter Linkedin Instagram

S4PCADEMY_Logo
  • Inicio
  • Novedades
  • Academia SAP
  • FAQ
  • Blog
  • Contacto
Twitter Linkedin Instagram
#DPP  ·  #GDPR  ·  AuditLogs  ·  dataprivacy  ·  DataProtection  ·  PersonalDataManager  ·  Technical Articles

#SAPCAP: gane la confianza del cliente utilizando los servicios de privacidad y protección de datos en BTP – Parte 2

By s4pcademy 


Introducción:

Habiendo cubierto los fundamentos teóricos en el blog anterior de esta serie, examinemos la implementación de la aplicación basada en CAP y los pasos para integrar los servicios de DPP.

Usaremos una aplicación de muestra ‘Game Shop’ que se usa para ordenar uno o más Juegos para un cliente. La aplicación de muestra se ve como se muestra a continuación. Puede encontrar el código de la aplicación de muestra para este blog aquí.

En Game Shop Sample, el sandbox launchpad se utiliza para proporcionar un punto de entrada tanto para la aplicación Cliente, que se utiliza para gestionar/modificar clientes, como para la aplicación Pedido, que se utiliza para gestionar/modificar pedidos de un cliente.

Gestión de la privacidad de datos con aplicaciones CAP:

CAP simplifica el cumplimiento de las normas de privacidad de datos para las aplicaciones mediante la automatización de tareas repetitivas mediante modelos anotados. Lo ayuda a cumplir con los requisitos específicos de privacidad de datos a través de diferentes servicios SAP BTP como Personal Data Manager mediante el uso de anotaciones y configuraciones.

Para usar el Servicio de administrador de datos personales (PDM) en BTP, debemos proporcionar un servicio basado en OData o Rest que sirva datos personales almacenados en nuestra aplicación. Además, PDM requiere ciertas anotaciones para interpretar el servicio para extraer y presentar datos personales en ui. Las anotaciones requeridas para PDM pueden ser parte del documento de metadatos del servicio o también pueden proporcionarse con un punto final separado. Puede encontrar más información sobre las anotaciones requeridas para PDM en las siguientes páginas: Anotaciones de OData V2, Anotaciones de OData V4

en la PAC, ‘@Información personal’ las anotaciones se utilizan para sugerir entidades o elementos/campos en su modelo de dominio que tendrán datos personales.

  • Anotaciones a nivel de entidad: Las anotaciones a nivel de entidad indican qué entidades son relevantes para la privacidad de los datos
  • Anotaciones de nivel clave: Las anotaciones a nivel de clave indican la información clave correspondiente
  • Anotaciones a nivel de campo: Las anotaciones a nivel de campo etiquetan en detalle qué campos son relevantes para la privacidad de datos.

Ahora, agreguemos un servicio OData a la aplicación de muestra que proporcionará los datos personales de los sujetos de datos (individuos) utilizados en la aplicación y agregará las anotaciones de nivel de entidad/clave/campo requeridas para PDM.

using {sap.cap.dpp as db} from '../db/schema';

service PdmService {
    entity Customers               as projection on db.Customers;    
    entity CustomerPostalAddresses as
        select from db.Addresses {
            *,
            type.name as addressType                };
    entity CustomerEmailAddresses  as
        select from db.EmailAddresses {
            *,
            emailType.name as emailAddressType      };
    entity OrderItemView           as
        select from db.Orders {
            key items.ID         as Item_ID,
                ID               as Order_ID,
                orderNo          as Order_No,
                customer.ID      as Customer_ID,
                customer.email   as Customer_Email,
                items.game.title as Item_Game,
                items.quantity   as Item_Quantity,
                items.netprice   as Item_NetPrice   };
}

Como se muestra arriba, el servicio OData ‘DppService’ proporciona cuatro entidades, es decir, Clientes, Dirección postal, Dirección de correo electrónico y OrderItemView. OrderItemView se utiliza para proporcionar información transaccional sobre los Sujetos de datos (Individuos)

Anotaciones

annotate service.Customers with @PersonalData: {
    DataSubjectRole: 'Customer',
    EntitySemantics: 'DataSubject'
};
annotate service.CustomerPostalAddresses with @PersonalData: {
    DataSubjectRole: 'Customer',
    EntitySemantics: 'DataSubjectDetails'
};
annotate service.CustomerEmailAddresses with @PersonalData: {
    DataSubjectRole: 'Customer',
    EntitySemantics: 'DataSubjectDetails'
};
annotate service.OrderItemView with @PersonalData: {
    EntitySemantics: 'Other'
};

Las entidades se pueden anotar con información semántica que, a su vez, informa a PDM sobre el tipo de datos personales que proporcionan estas entidades, como se muestra arriba.

@Información personal.EntitySemantics: ‘Sujeto de datos‘ – Las entidades marcadas con esta anotación describen a un Sujeto de datos, es decir, una persona física identificable.

@Información personal.EntitySemantics: ‘DatosAsuntoDetalles‘ – Las entidades marcadas con esta anotación contienen detalles de un sujeto de datos, pero por sí mismas no identifican/describen a un sujeto de datos.

@Información personal.EntitySemantics: ‘Otro‘ – Las entidades marcadas con esta anotación contienen referencias a interesados, pero no representan a interesados ​​ni detalles de interesados ​​por sí mismos.

@Información personal.DataSubjectRole: ‘Cliente‘ – Esta anotación se utiliza para definir la función de los interesados. Por ejemplo, una persona puede ser un cliente, un proveedor, un socio o un empleado, o todo al mismo tiempo. Según el rol, los datos personales de un individuo pueden ser diferentes.

annotate service.Customers with {
 ID           @PersonalData.FieldSemantics: 'DataSubjectID';
 email        @PersonalData.IsPotentiallyPersonal  @Communication.IsEmailAddress;
 firstName    @PersonalData.IsPotentiallyPersonal;
 lastName     @PersonalData.IsPotentiallyPersonal;
 creditCardNo @PersonalData.IsPotentiallySensitive;
 dateOfBirth  @PersonalData.IsPotentiallyPersonal;
}
annotate service.CustomerPostalAddresses with {
 customer       @PersonalData.FieldSemantics: 'DataSubjectID';
 addressType    @PersonalData.IsPotentiallyPersonal;
 country        @PersonalData.IsPotentiallyPersonal;
 state          @PersonalData.IsPotentiallyPersonal;
 town           @PersonalData.IsPotentiallyPersonal;
 street         @PersonalData.IsPotentiallyPersonal;
 someOtherField @PersonalData.IsPotentiallyPersonal;
}
annotate service.CustomerEmailAddresses with {
 customer         @PersonalData.FieldSemantics: 'DataSubjectID';
 emailAddressType @PersonalData.IsPotentiallyPersonal;
 emailAddress     @PersonalData.IsPotentiallyPersonal;
};
annotate service.OrderItemView with {
 Item_ID         @PersonalData.FieldSemantics: 'ContractRelatedID';
 Customer_ID     @PersonalData.FieldSemantics: 'DataSubjectID';
 personalComment @PersonalData.IsPotentiallyPersonal;
}

@Información personal.Semántica de campo: ‘ID del sujeto de datos‘ – Esta anotación se utiliza para especificar la clave del Titular de los datos y se puede utilizar para relacionar la información y los documentos personales correspondientes.

@Información personal.EsPotencialmentePersonal / @Información personal.EsPotencialmenteSensible : Estas 2 anotaciones se utilizan para administrar las acciones relacionadas con la privacidad de datos en un nivel granular fino.

En el contexto del registro de auditoría, la anotación @PersonalData.IsPotentiallyPersonal genera registros de auditoría para insertar, actualizar y eliminar datos personales, mientras que la anotación @PersonalData.IsPotentiallySensitive agrega registros de auditoría para todas y cada una de las lecturas de datos personales.

annotate service.Customers with @Communication: {Contact: {
    $Type: 'Communication.ContactType',
    n    : { surname: lastName,
             given  : firstName  },
    bday : dateOfBirth,
    email: [{ type   : #preferred,
              address: email       }]
}};

Para realizar una búsqueda válida de interesados ​​en la aplicación SAP Personal Data Manager, se requiere una de las siguientes combinaciones de información.

  • Apellido, nombre y cumpleaños
  • Apellido, Apellido y Email
  • la identificación del sujeto de datos

Por lo tanto, para identificar los campos de búsqueda obligatorios del interesado, los campos deben anotarse con la anotación correspondiente @Comunicación.Contacto como se muestra arriba. Se puede encontrar más información sobre esta anotación en Vocabulario de comunicación.

Seguridad

‘DppService’ debe protegerse para la restricción de datos personales confidenciales mediante la anotación @requires.

using {DppService as service} from './dpp-service';
annotate service with @(
    path    : '/pdm',
    requires: 'PersonalDataManagerUser'
);

El servicio PDM llamará a la aplicación CAP para leer los datos personales, lo que significa que se debe asignar al PDM el rol ‘PersonalDataManagerUser’. La llamada entre el servicio PDM y la aplicación CAP utiliza comunicación técnica. Al igual que un acuerdo de confianza, la aplicación CAP debe otorgar la autoridad al servicio PDM para usar el alcance ‘PersonalDataManagerUser’ y el servicio PDM debe aceptar dicha declaración de autoridad.

La siguiente información debe agregarse a xs-security.json en la aplicación CAP para iniciar el acuerdo de confianza.

{
  "scopes": [
    .....
    {
      "name": "$XSAPPNAME.PersonalDataManagerUser",
      "description": "Authority for Personal Data Manager",
      "grant-as-authority-to-apps": [
        "$XSSERVICENAME(cap-dpp-example-pdm)"
      ]
    }
  ],
  "attributes": [],
  "role-templates": [
    .....
    {
      "name": "PersonalDataManagerUser",
      "description": "generated",
      "scope-references": [
        "$XSAPPNAME.PersonalDataManagerUser"
      ],
      "attribute-references": []
    }
  ]
}

La línea «conceder-como-autoridad-a-las-aplicaciones»: [“$XSSERVICENAME(cap-dpp-example-pdm)”] indica xsuaa para otorgar el alcance de PersonalDataManagerUser a un servicio con el nombre ‘cap-dpp-example-prm’.

Significa que necesitamos crear el servicio PDM de instancia con el nombre exacto de ‘cap-dpp-example-prm’

Ahora nuestra aplicación CAP está lista para implementarse en BTP y luego el servicio PDM se puede vincular para administrar las solicitudes de privacidad de datos.

Conexión al servicio de administrador de datos personales:

Antes de continuar con otros pasos, asegúrese de tener derechos de PDM en su subcuenta donde se implementará la aplicación CAP.

Servicio Plan
Administrador de datos personales estándar (aplicación)
Administrador de datos personales estándar

Creación de instancias de servicio de PDM

Usando BTP Cockpit, cree una instancia de servicio PDM con el nombre ‘cap-dpp-ejemplo-pdm‘ que se proporciona en xs-security.json de la aplicación CAP como se muestra a continuación:

También requiere las siguientes configuraciones de seguridad. También puede encontrar las configuraciones de seguridad desde aquí. La sección xs-security se proporciona con «autoridades»: [ “$ACCEPT_GRANTED_AUTHORITIES” ] para que la instancia de PDM acepte el alcance ‘PersonalDataManagerUser’ proporcionado por la aplicación CAP. Tenga en cuenta que xsappname debe ser el mismo que se define en xs-security.json de la aplicación CAP.

Puede encontrar la configuración anterior aquí [ pdm-security-config.json ].

Implementar aplicación CAP

La base completa del código de la aplicación CAP está disponible aquí [ cap-dpp-example ]. Puede clonar la base de código completa, construir e implementar usando los siguientes comandos. Asegúrese de haber iniciado sesión en Cloud Foundry con el comando cf login antes de usar los comandos anteriores.

instalar npm
compilación de ejecución de npm
npm ejecutar implementar

Después de la implementación, asigne los roles ‘GameShop-Admin’ y ‘GameShop-User’ al usuario para acceder a la aplicación de muestra (aprobador). Pocos clientes están precargados como parte de la aplicación de muestra.

Cree un pedido para un cliente utilizando el mosaico «Gestionar pedidos» como se muestra a continuación:

Enlazar la instancia de servicio de PDM con la aplicación CAP

Abra la instancia de PDM (cap-dpp-example-pdm) en BTP Cockpit y cree un enlace debajo de la sección de aplicación enlazada.

Luego elija su servicio de aplicación CAP (cap-dpp-example-srv) y cree los siguientes parámetros de enlace desde aquí [ pdm-config.json ].

  • nombre de aplicación totalmente calificado : el nombre de la aplicación debe ser único en el entorno de fundición en la nube. También se debe usar el mismo nombre al crear la instancia de PDM.
  • nombre de módulo totalmente calificado : Esto indica el módulo de su aplicación, por ejemplo, Ventas, Compras o Pagos, etc.
  • Titulo de la aplicación : nombre de la aplicación que se mostrará en la interfaz de usuario.
  • aplicaciónURL : URL de host de la aplicación CAP
  • puntos finales : proporcionar todos los servicios OData o RESTful de la aplicación CAP que sirve los datos personales. Es posible proporcionar más de un punto final de OData.
  • servicioURI : el URI relativo del servicio OData o RESTful
  • puntos finales[x] > hasGdprV4Anotaciones : indica si las anotaciones de privacidad de datos forman parte o no de los metadatos de OData. Puede encontrar más información sobre los parámetros de vinculación anteriores en esta página. [ Configuration Properties ].

Suscríbase a la aplicación PDM

Vaya a BTP Cockpit y suscríbase a la aplicación Administrador de datos personales.

Una vez suscrito, PDM proporciona los siguientes roles:

  1. PDM_Representante de servicio al cliente : puede ver los datos de la persona, administrar las solicitudes de corrección o eliminación de la persona
  2. PDM_OperatorsClerk : puede ver y procesar solicitudes de gestión de datos
  3. PDM_Administrador : el usuario puede exportar datos

Puede asignar roles según sus requisitos. A los efectos de esta serie de blogs, asignaremos todas las funciones a un solo usuario y exploraremos las funciones de PDM. Para obtener más información acerca de cómo crear roles y cómo agruparlos en colecciones de roles mediante el cockpit de SAP BTP, consulte Creación de roles y colecciones de roles para aplicaciones. y Puede encontrar más información sobre estos roles aquí [ Identification and Access Management ].

Conclusión:

En esta publicación de blog, exploramos cómo CAP admite diferentes conjuntos de anotaciones que se requieren para integrar el servicio PDM. Además, implementamos la aplicación CAP y la integramos con el servicio PDM.

En la próxima publicación de blog de esta serie, exploraremos más sobre cómo podemos usar la aplicación de interfaz de usuario de PDM para administrar las solicitudes de privacidad de datos.

Se puede encontrar más información sobre el modelo de programación de aplicaciones en la nube aquí. Puede seguir mi perfil para recibir notificaciones de la próxima publicación de blog sobre CAP. Siéntase libre de proporcionar cualquier comentario que tenga en la sección de comentarios a continuación y haga sus preguntas sobre el tema en la comunidad de sap usando este enlace.



Source link


BTPclienteconfianzadatosdelganelospartePrivacidadProtecciónSAPCAPserviciosutilizando

Artículos relacionados


crm  ·  cx  ·  help  ·  Product Information  ·  support
Mejore su equipo de proyecto: el nuevo soporte de experiencia del cliente de SAP brinda experiencia a los socios sin costo adicional
abap  ·  analytics  ·  big data  ·  cloud  ·  emerging technologies  ·  Mobile  ·  sap  ·  Technical Articles
Seguridad SAP BTP para proteger los datos/acceso
Technical Articles
SAP BTP, Kyma Runtime: use un dominio personalizado en una regla API a través de Istio Gateway

Deja tu comentario Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

Resumen de diferentes tipos de ASDO en SAP BW, BW/4HANA y funcionalidades
Previo
#SAPCAP: gane la confianza del cliente utilizando los servicios de privacidad y protección de datos en BTP - Parte 3
Siguiente

Madrid

Calle Eloy Gonzalo, 27
Madrid, Madrid.
Código Postal 28010

México

Paseo de la Reforma 26
Colonia Juárez,  Cuauhtémoc
Ciudad de México 06600

Costa Rica

Real Cariari
Autopista General Cañas, 
San José, SJ 40104

Perú

Av. Jorge Basadre 349
San Isidro
Lima, LIM 15073

Twitter Linkedin Instagram
Copyright 2022 | All Right Reserved.
Cookies Para que este sitio funcione adecuadamente, a veces instalamos en los dispositivos de los usuarios pequeños ficheros de datos, conocidos como cookies. La mayoría de los grandes sitios web también lo hacen.
Aceptar
Cambiar ajustes
Configuración de Cookie Box
Configuración de Cookie Box

Ajustes de privacidad

Decida qué cookies quiere permitir. Puede cambiar estos ajustes en cualquier momento. Sin embargo, esto puede hacer que algunas funciones dejen de estar disponibles. Para obtener información sobre eliminar las cookies, por favor consulte la función de ayuda de su navegador. Aprenda más sobre las cookies que usamos.

Con el deslizador, puede habilitar o deshabilitar los diferentes tipos de cookies:

  • Bloquear todas
  • Essentials
  • Funcionalidad
  • Análisis
  • Publicidad

Este sitio web hará:

Este sitio web no:

  • Esencial: recuerde su configuración de permiso de cookie
  • Esencial: Permitir cookies de sesión
  • Esencial: Reúna la información que ingresa en un formulario de contacto, boletín informativo y otros formularios en todas las páginas
  • Esencial: haga un seguimiento de lo que ingresa en un carrito de compras
  • Esencial: autentica que has iniciado sesión en tu cuenta de usuario
  • Esencial: recuerda la versión de idioma que seleccionaste
  • Functionality: Remember social media settings
  • Functionality: Remember selected region and country
  • Analytics: Keep track of your visited pages and interaction taken
  • Analytics: Keep track about your location and region based on your IP number
  • Analytics: Keep track of the time spent on each page
  • Analytics: Increase the data quality of the statistics functions
  • Advertising: Tailor information and advertising to your interests based on e.g. the content you have visited before. (Currently we do not use targeting or targeting cookies.
  • Advertising: Gather personally identifiable information such as name and location
  • Recuerde sus detalles de inicio de sesión
  • Esencial: recuerde su configuración de permiso de cookie
  • Esencial: Permitir cookies de sesión
  • Esencial: Reúna la información que ingresa en un formulario de contacto, boletín informativo y otros formularios en todas las páginas
  • Esencial: haga un seguimiento de lo que ingresa en un carrito de compras
  • Esencial: autentica que has iniciado sesión en tu cuenta de usuario
  • Esencial: recuerda la versión de idioma que seleccionaste
  • Functionality: Remember social media settings
  • Functionality: Remember selected region and country
  • Analytics: Keep track of your visited pages and interaction taken
  • Analytics: Keep track about your location and region based on your IP number
  • Analytics: Keep track of the time spent on each page
  • Analytics: Increase the data quality of the statistics functions
  • Advertising: Tailor information and advertising to your interests based on e.g. the content you have visited before. (Currently we do not use targeting or targeting cookies.
  • Advertising: Gather personally identifiable information such as name and location
Guardar y cerrar