Datenschutz in SAP mit der DLP API

In diesem Dokument wird eine Referenzarchitektur zum Schutz sensibler Unternehmensdaten in SAP beschrieben, bei der die Cloud Data Loss Prevention API (DLP API) mit der SAP BTP-Version des ABAP SDK for Google Cloud verwendet wird.

Es ist wichtig, die vertraulichen Unternehmensdaten wie personenidentifizierbare Informationen zu schützen, die Sie in SAP speichern. Wenn Sie vertrauliche Unternehmensdaten aus SAP an die falschen Personen oder Systeme weitergeben, kann das den Ruf Ihres Unternehmens schädigen und zu finanziellen Verlusten führen. Die DLP API bietet eine leistungsstarke und flexible Möglichkeit, sensible Daten zusätzlich zu schützen. Mit dieser API können sensible Daten erkannt, klassifiziert und de-identifiziert werden, bevor sie in SAP gespeichert oder von SAP übertragen werden. So können Sie vertrauliche Informationen proaktiv erkennen und schützen, das Risiko von Datenpannen verringern und die Einhaltung von Datenschutzbestimmungen sicherstellen.

Die Zielgruppe für dieses Dokument umfasst ABAP-Entwickler, SAP-Lösungsarchitekten und Cloud-Architekten, deren Aufgaben in den Bereichen Datensicherheit, Datenverarbeitung oder Datenanalyse liegen. In diesem Dokument wird davon ausgegangen, dass Sie mit Datenverarbeitung und Datenschutz vertraut sind, sowie mit dem Schutz sensibler Daten und den zugehörigen Konzepten, z. B. InfoTypes und InfoType-Detektoren.

Architektur

Das folgende Diagramm zeigt eine Referenzarchitektur für eine DLP-Lösung, die Komponenten aus einer SAP BTP ABAP-Umgebung und Google Cloud umfasst.

DLP-Lösung für den Datenschutz in SAP

Diese DLP-Lösungsarchitektur umfasst die folgenden Komponenten:

Komponente Subsystem Details
1 Eingabequelle Dient als Einstiegspunkt für Daten.
2 Kundenservice Eine ABAP-Klasse, die mit allen anderen Komponenten interagiert. Es empfängt die Quelldaten, sendet sie zur Verarbeitung über das ABAP SDK for Google Cloud an die DLP API und speichert die verarbeiteten Daten im SAP-Datenspeicher.
3 ABAP SDK for Google Cloud Die SAP BTP-Version des ABAP SDK for Google Cloud für den Zugriff auf die DLP API.
4 DLP API Die DLP API bietet verschiedene Transformationsmethoden zur De-Identifikation personenidentifizierbarer Informationen.
5 Ziel-Datastore Ein SAP-ERP-System, das in der Cloud oder lokal ausgeführt wird und in dem die Daten gespeichert werden, nachdem die personenidentifizierbaren Informationen verarbeitet und de-identifiziert wurden.

Verwendete Produkte

In dieser Referenzarchitektur werden die folgenden Google Cloud-Produkte verwendet:

Anwendungsfall

In diesem Abschnitt finden Sie Beispiele für Anwendungsfälle, in denen Sie die DLP API zum Schutz sensibler Unternehmensdaten in SAP verwenden können.

Einhaltung der Datenschutzbestimmungen

Organisationen müssen sensible Daten häufig de-identifizieren. Es gibt viele behördliche Richtlinien wie die DSGVO und die DPDP, die vorschreiben, dass personenbezogene Daten unter bestimmten Bedingungen nicht gespeichert werden dürfen.

Kosten

Eine Schätzung der Kosten der Google Cloud-Ressourcen, die von der DLP API verwendet werden, finden Sie im Google Cloud-Preisrechner.

Designalternative

In diesem Dokument liegt der Schwerpunkt auf der SAP BTP-Version des ABAP SDK for Google Cloud. Mit der lokalen oder einer beliebigen Cloud-Version des ABAP SDK for Google Cloud können Sie jedoch ähnliche Ergebnisse erzielen. Bei dieser Konfiguration können Sie die verarbeiteten und de-identifizierten sensiblen Daten (PII) in Ihrem lokalen SAP-System speichern.

Bereitstellung

In diesem Abschnitt erfahren Sie, wie Sie eine Lösung bereitstellen, die sensible Daten beim Erstellen eines Geschäftspartners (Person) in Ihrem SAP-System schützt. Je nach Konfiguration Ihrer Organisation können mit dieser Lösung Daten entfernt, de-identifiziert oder anonymisiert werden.

Hinweise

Bevor Sie eine Lösung auf Grundlage dieser Referenzarchitektur implementieren, müssen Sie die folgenden Voraussetzungen erfüllen:

Clientdienst zur De-Identifikation personenbezogener Daten implementieren

Die Eingaben aus der Datenquelle werden in einem Clientdienst verarbeitet, den Sie in Ihrer SAP BTP ABAP-Umgebung implementieren. Dieser Clientdienst kann aus den folgenden Unterkomponenten bestehen:

  • Regelnkonfiguration: Hier werden Geschäftsregeln gespeichert, die für verschiedene Arten von Feldern mit personenidentifizierbaren Informationen angewendet werden müssen.
  • DLP-Proxy-Modul: Ruft die DLP API über die SAP BTP-Version des ABAP SDK for Google Cloud auf.

Regelkonfiguration

In Ihrer SAP BTP ABAP-Umgebung erstellen Sie eine Konfigurationstabelle, um die Transformationsregeln zu verwalten, die für verschiedene Arten von Feldern mit personenidentifizierbaren Informationen angewendet werden müssen. In einer Produktionsumgebung können Sie ein Tool wie SAP Fiori verwenden, um die Daten in dieser Tabelle zu verwalten.

Sie können die folgenden Beispielregeln implementieren:

  • Alle Felder mit einer E-Mail-Adresse müssen durch einen Dummy-Wert ersetzt werden.
  • Alle Felder mit Telefonnummern müssen unkenntlich gemacht werden.
  • Felder mit Kommentaren, Notizen oder Anmerkungen dürfen keine Informationen zur E-Mail-Adresse enthalten.
  • Alle Felder mit Bankverbindungsdaten müssen mithilfe einer kryptobasierten De-Identifikationsmethode tokenisiert werden.

Hier ist die Definition einer Beispielkonfigurationstabelle:

define table zgoog_dlp_config {
 key client         : abap.clnt not null;
 key keyword        : abap.char(60) not null;
 key infotype       : abap.char(60) not null;
 surrogate_infotype : abap.char(60);
 common_alphabhet   : abap.char(20);
 masking_char       : abap.char(1);
 number_to_mask     : int4;
}

Das folgende Beispiel zeigt die Beispieltransformationsregeln:

   lt_dlp_config = VALUE #(
      ( client = sy-mandt keyword  = 'EMAIL' infotype = 'EMAIL_ADDRESS'  )
      ( client = sy-mandt keyword  = 'PHONE NUMBER' infotype = 'PHONE_NUMBER' number_to_mask = 5 masking_char = '*' )
      ( client = sy-mandt keyword  = 'REMARKS' infotype = 'EMAIL_ADDRESS'  )
      ( client = sy-mandt keyword  = 'REMARKS' infotype = 'PHONE_NUMBER'  )
      ( client = sy-mandt keyword  = 'BANK ACCOUNT' infotype = 'FINANCIAL_ACCOUNT_NUMBER' surrogate_infotype = 'ACCOUNT' common_alphabhet = 'ALPHA_NUMERIC' )
    ).

DLP-Proxy-Modul

Sie können eine spezielle Unterkomponente namens DLP-Proxy-Modul erstellen. Dieses Modul kann eine ABAP-Klasse oder ein REST-Dienst sein. Seine Hauptfunktion besteht darin, personenidentifizierbare Informationen mithilfe der zuvor definierten Transformationsregeln zu entfernen.

Das DLP-Proxy-Modul verwendet die DEIDENTIFY_CONTENT-Methode der Klasse /GOOG/CL_DLP_V2 in der SAP BTP-Version des ABAP SDK for Google Cloud.

In den folgenden Abschnitten finden Sie Beispielimplementierungen für die Verwendung des DLP-Proxy-Moduls zur De-Identifikation personenbezogener Daten in verschiedenen Szenarien.

Ersetzen: Ersetzt einen erkannten sensiblen Wert durch einen angegebenen Ersatzwert.

So ersetzen Sie eine erkannte E-Mail-ID durch einen generischen Wert:

  1. Erstelle ein Clientobjekt für die Klasse /GOOG/CL_DLP_V2.

  2. In der Konfigurationstabelle wird der anzuwendende Transformationstyp festgelegt.

  3. Ersetzen Sie die E-Mail-IDs durch einen Ersatzwert wie EMAIL_ID@EXAMPLE.COM, um sie zu maskieren.

  4. Rufen Sie die DLP API auf.

  5. Verwende die Methode DEIDENTIFY_CONTENT mit allen relevanten Parametern, einschließlich des Ersatzwerts, und gib die Ausgabe an den Clientdienst zurück.

Das folgende Codebeispiel veranschaulicht die vorherigen Schritte:

DATA:    ls_input           TYPE /goog/cl_dlp_v2=>ty_055,
         ls_transformations TYPE /goog/cl_dlp_v2=>ty_100.

TRY.
   DATA(lo_client) = NEW /goog/cl_dlp_v2( iv_key_name = 'CLIENT_KEY' ).
   DATA(lv_p_projects_id) = CONV string( lo_client->gv_project_id ).

   "As a developer, you need to read the configuration into mt_dlp_config
   TRY.
   "As a developer, you need to read the configuration
    DATA(ls_dlp_config) = mt_dlp_config[ keyword = iv_input_type ].
        "Populate the input parameters to DLP API for replacement
INSERT VALUE #( name = ls_dlp_config-infotype ) INTO TABLE ls_input-inspect_config-info_types.ls_transformations-primitive_transformation-replace_config-new_value-string_value  = 'REPLACEMENT_VALUE'.
INSERT ls_transformations INTO TABLE ls_input-deidentify_config-info_type_transformations-transformations.
        ls_input-item-value = iv_input_value.
        "Call DLP API client stub
        TRY.
            lo_client->deidentify_content(
               EXPORTING
                   iv_p_projects_id = lv_p_projects_id
                   is_input         = ls_input
               IMPORTING
                   es_output        = DATA(ls_output)
                   ev_ret_code      = DATA(lv_ret_code)
                   ev_err_text      = DATA(lv_err_text)
                ).
        CATCH /goog/cx_sdk INTO DATA(lx_sdk_exception).
             ev_message = lx_sdk_exception->get_text( ).
        ENDTRY.
        IF lo_client->is_success( lv_ret_code ).
             ev_message = lv_err_text.
        ELSE.
            ev_output_value = ls_output-item-value.
        ENDIF.
    CATCH cx_sy_itab_line_not_found INTO DATA(lx_not_found).
        ev_output_value = iv_input_value.
    ENDTRY.
"Close the http client
lo_client->close_http_client( ).
CATCH /goog/cx_sdk INTO DATA(lx_sdk).
   ev_message = lx_sdk->get_text(  ).
ENDTRY.

Ersetzen Sie Folgendes:

  • CLIENT_KEY: Der für die Authentifizierung konfigurierte Clientschlüssel.
  • REPLACEMENT_VALUE: Der Ersatzwert, z. B. EMAIL_ID@EXAMPLE.COM.
Entfernen: Löscht einen erkannten sensiblen Wert ganz oder teilweise.

So löschen Sie einen erkannten sensiblen Wert ganz oder teilweise:

  1. Erstelle ein Clientobjekt für die Klasse /GOOG/CL_DLP_V2.

  2. In der Konfigurationstabelle wird der anzuwendende Transformationstyp festgelegt.

  3. Hier können Sie angeben, ob ein erkannter sensibler Wert ganz oder teilweise gelöscht werden soll.

  4. Rufen Sie die DLP API auf.

  5. Verwende die Methode DEIDENTIFY_CONTENT mit allen relevanten Parametern und gib die Ausgabe an den Clientdienst zurück.

DATA:    ls_input           TYPE /goog/cl_dlp_v2=>ty_055,
         ls_transformations TYPE /goog/cl_dlp_v2=>ty_100,
 lo_redact          TYPE REF TO data.

   DATA(lo_client) = NEW /goog/cl_dlp_v2( iv_key_name = 'CLIENT_KEY' ).
   DATA(lv_p_projects_id) = CONV string( lo_client->gv_project_id ).

   "As a developer, you need to read the configuration into mt_dlp_config
   TRY.
        "Read the configuration
DATA(ls_dlp_config) = mt_dlp_config[ keyword = iv_input_type ].
        "Populate the input parameters to DLP API for redaction
CREATE DATA lo_redact TYPE REF TO string.
INSERT VALUE #( name = ls_dlp_config-infotype ) INTO TABLE ls_input-inspect_config-info_types.
INSERT VALUE #( name = ls_dlp_config-infotype ) INTO TABLE ls_transformations-info_types.
        ls_transformations-primitive_transformation-redact_config = lo_redact.
INSERT ls_transformations INTO TABLE ls_input-deidentify_config-info_type_transformations-transformations.
        ls_input-item-value = iv_input_value.
        "Call DLP API client stub
        TRY.
lo_client->deidentify_content(
                        EXPORTING
                                iv_p_projects_id = lv_p_projects_id
                            is_input         = ls_input
                        IMPORTING
                            es_output        = DATA(ls_output)
                            ev_ret_code      = DATA(lv_ret_code)
                            ev_err_text      = DATA(lv_err_text)
                 ).
CATCH /goog/cx_sdk INTO lx_sdk_exception.
              ev_message = lx_sdk_exception->get_text( ).
        ENDTRY.
     IF lo_client->is_success( lv_ret_code ).
           ev_message = lv_err_text.
        ELSE.
          ev_output_value = ls_output-item-value.
        ENDIF.
  CATCH cx_sy_itab_line_not_found INTO lx_not_found.
      ev_output_value = iv_input_value.
  ENDTRY.

  "Close the http client
     lo_client->close_http_client( ).
CATCH /goog/cx_sdk INTO DATA(lx_sdk).
   ev_message = lx_sdk->get_text(  ).
ENDTRY.

Ersetzen Sie CLIENT_KEY durch den für die Authentifizierung konfigurierten Clientschlüssel.

Maskieren: Ersetzt eine Anzahl von Zeichen eines sensiblen Werts durch ein angegebenes Zeichen, z. B. eine Raute (#) oder ein Sternchen (*).

So ersetzen Sie Werte durch ein bestimmtes Zeichen:

  1. Erstelle ein Clientobjekt für die Klasse /GOOG/CL_DLP_V2.

  2. In der Konfigurationstabelle wird der anzuwendende Transformationstyp festgelegt.

  3. Legen Sie das Maskierungszeichen und die Anzahl der zu maskierenden Zeichen gemäß der Konfigurationstabelle fest.

  4. Rufen Sie die DLP API auf.

  5. Verwende die Methode DEIDENTIFY_CONTENT mit allen relevanten Parametern, einschließlich des Ersatzwerts, und gib die Ausgabe an den Kundenservice zurück.

DATA:    ls_input           TYPE /goog/cl_dlp_v2=>ty_055,
         ls_transformations TYPE /goog/cl_dlp_v2=>ty_100.
TRY.
   DATA(lo_client) = NEW /goog/cl_dlp_v2( iv_key_name = 'CLIENT_KEY' ).
   DATA(lv_p_projects_id) = CONV string( lo_client->gv_project_id ).

   "As a developer, you need to read the configuration into mt_dlp_config
   TRY.
"Read the configuration
        DATA(ls_dlp_config) = mt_dlp_config[ keyword = iv_input_type ].
    "Populate the input parameters to DLP API for masking
INSERT VALUE #( name = ls_dlp_config-infotype ) INTO TABLE ls_input-inspect_config-info_types.
ls_transformations-primitive_transformation-character_mask_config-number_to_mask =  ls_dlp_config-number_to_mask.
ls_transformations-primitive_transformation-character_mask_config-masking_character = ls_dlp_config-masking_char.
INSERT ls_transformations INTO TABLE ls_input-deidentify_config-info_type_transformations-transformations.
        ls_input-item-value = iv_input_value.
        "Call DLP API client stub
         TRY.
                   lo_client->deidentify_content(
                       EXPORTING
                         iv_p_projects_id = lv_p_projects_id
                         is_input         = ls_input
                       IMPORTING
                         es_output        = DATA(ls_output)
                         ev_ret_code      = DATA(lv_ret_code)
                         ev_err_text      = DATA(lv_err_text)
                     ).
              CATCH /goog/cx_sdk INTO lx_sdk_exception.
                   ev_message = lx_sdk_exception->get_text( ).
              ENDTRY.
              IF lo_client->is_success( lv_ret_code ).
                 ev_message = lv_err_text.
              ELSE.
                 ev_output_value = ls_output-item-value.
              ENDIF.
      CATCH cx_sy_itab_line_not_found INTO lx_not_found.
         ev_output_value = iv_input_value.
      ENDTRY.
   "Close the http client
     lo_client->close_http_client( ).
CATCH /goog/cx_sdk INTO DATA(lx_sdk).
   ev_message = lx_sdk->get_text(  ).
ENDTRY.

Ersetzen Sie CLIENT_KEY durch den für die Authentifizierung konfigurierten Clientschlüssel.

Kryptobasierte Tokenisierung: Verschlüsselt den ursprünglichen Wert der sensiblen Daten mithilfe eines kryptografischen Schlüssels.

Für die kryptobasierte Tokenisierung müssen Sie einen kryptografischen Schlüssel und einen verpackten Schlüssel erstellen. In dieser Anleitung wird die formaterhaltende Verschlüsselung verwendet. Mit dieser Methode wird ein Token mit derselben Länge und denselben Zeichen wie der ursprüngliche Eingabewert erstellt.

So de-identifizieren Sie einen sensiblen Datenwert mithilfe der Krypto-Hash-Zuordnung:

  1. Erstelle ein Clientobjekt für die Klasse /GOOG/CL_DLP_V2.

  2. In der Konfigurationstabelle wird der anzuwendende Transformationstyp festgelegt.

  3. Legen Sie den zuvor erstellten kryptografischen Schlüssel und den verpackten Schlüssel fest.

  4. Rufen Sie die DLP API auf.

  5. Verwende die Methode DEIDENTIFY_CONTENT mit allen relevanten Parametern für die kryptografische Verschlüsselung und gib die Ausgabe an den Kundenservice zurück.

DATA:    ls_input               TYPE /goog/cl_dlp_v2=>ty_055,
         ls_transformations     TYPE /goog/cl_dlp_v2=>ty_100,
         ls_kms_wrapped_key     TYPE /goog/cl_dlp_v2=>ty_123,
         ls_crypto_key          TYPE /goog/cl_dlp_v2=>ty_040,
         ls_crypto_hash_config  TYPE /goog/cl_dlp_v2=>ty_039.

TRY.
   DATA(lo_client) = NEW /goog/cl_dlp_v2( iv_key_name = 'CLIENT_KEY' ).
   DATA(lv_p_projects_id) = CONV string( lo_client->gv_project_id ).

   "As a developer, you need to read the configuration into lt_dlp_config
   "As a developer, you need to populate the crypto key name and wrapped key

   ls_kms_wrapped_key-crypto_key_name = 'CRYPTO_KEY_NAME'. "Crypto_key_name.
   ls_kms_wrapped_key-wrapped_key = 'WRAPPED_KEY_NAME'. "Wrapped_key.
   ls_crypto_key-kms_wrapped = ls_kms_wrapped_key.
   ls_crypto_hash_config-crypto_key = ls_crypto_key.
   TRY.
"Read the configuration
        DATA(ls_dlp_config) = mt_dlp_config[ keyword = iv_input_type ].
    "Populate the input parameters to DLP API for cryptographic encryption
INSERT VALUE #( name = ls_dlp_config-infotype ) INTO TABLE ls_input-inspect_config-info_types.
INSERT VALUE #( name = ls_dlp_config-infotype ) INTO TABLE ls_transformations-info_types.             ls_transformations-primitive_transformation-crypto_replace_ffx_fpe_config-crypto_key-kms_wrapped = ls_kms_wrapped_key.             ls_transformations-primitive_transformation-crypto_replace_ffx_fpe_config-surrogate_info_type-name = ls_dlp_config-surrogate_infotype.          ls_transformations-primitive_transformation-crypto_replace_ffx_fpe_config-common_alphabet = ls_dlp_config-common_alphabhet.
INSERT ls_transformations INTO TABLE ls_input-deidentify_config-info_type_transformations-transformations.
        ls_input-item-value = iv_input_value.
    "Add the info type identification string to map the subsequent value to relevant infotype
CONCATENATE 'Bank Account' ls_input-item-value INTO ls_input-item-value SEPARATED BY space.
"Call DLP API client stub
TRY.
                lo_client->deidentify_content(
                        EXPORTING
                            iv_p_projects_id = lv_p_projects_id
                            is_input         = ls_input
                        IMPORTING
                            es_output        = DATA(ls_output)
                            ev_ret_code      = DATA(lv_ret_code)
                            ev_err_text      = DATA(lv_err_text)
                 ).
CATCH /goog/cx_sdk INTO DATA(lx_sdk_exception).
                        ev_message = lx_sdk_exception->get_text( ).
                ENDTRY.
         IF lo_client->is_success( lv_ret_code ).
            ev_message = lv_err_text.
         ELSE.
"Removing the info type identification string added earlier and keeping only the encrypted value
    REPLACE ALL OCCURRENCES OF SUBSTRING 'Bank Account' IN ls_output-item-value WITH ''.
    REPLACE ALL OCCURRENCES OF SUBSTRING 'ACCOUNT(10):' IN ls_output-item-value WITH ''.
        ev_output_value  = ls_output-item-value.
        ENDIF.
      CATCH cx_sy_itab_line_not_found INTO lx_not_found.
         ev_output_value = iv_input_value.
      ENDTRY.
 "Close the http client
   lo_client->close_http_client( ).
CATCH /goog/cx_sdk INTO DATA(lx_sdk).
   ev_message = lx_sdk->get_text(  ).
ENDTRY.

Ersetzen Sie Folgendes:

  • CLIENT_KEY: Der für die Authentifizierung konfigurierte Clientschlüssel.
  • CRYPTO_KEY_NAME: Der Name des kryptografischen Schlüssels.
  • WRAPPED_KEY_NAME: Der Name des verpackten Schlüssels.

Eingabedaten an den Clientdienst senden

Daten von Ihrem Eingabequellensystem an den Clientdienst übertragen. Sie können Daten über einen API-Aufruf, eine frontend-UI-Anwendung, eine lokale Datei, eine Drittanbieteranwendung oder eine andere Quelle übertragen.

Informationen zum Erstellen einer SAP Fiori App finden Sie unter SAP Fiori App mit dem ABAP RESTful Application Programming Model erstellen.

DLP-Proxymodul aufrufen

Rufen Sie das DLP-Proxy-Modul über den Clientdienst auf, der die Quelleingabe empfängt.

Im folgenden Codebeispiel wird gezeigt, wie das DLP-Proxy-Modul über den Clientdienst aufgerufen wird:

 DATA : lv_input  TYPE string,
            lv_output TYPE String.

"As a developer, you need to populate input data into relevant fields
"Redaction: Deletes all or part of a detected sensitive value
" - Remarks
lv_input = lv_email_address.
zgoog_cl_dlp_proxy=>call_dlp( EXPORTING iv_input_value  = lv_input iv_input_type = 'EMAIL'
                              IMPORTING ev_output_value = lv_output ev_message = ev_message ).
ls_bupa_email_address-email_address = lv_output.

"Masking: Replaces a number of characters of a sensitive value with a specified surrogate character, such as a hash (#) or asterisk (*).
" - Phone Number
lv_input = lv_phone_number.
zgoog_cl_dlp_proxy=>call_dlp( EXPORTING iv_input_value = lv_input iv_input_type = 'PHONE NUMBER'
                              IMPORTING ev_output_value = lv_output ev_message = ev_message ).
ls_bupa_phone_number-phone_number = lv_output.

"Replacement: Replaces a detected sensitive value with a specified surrogate value.
" - Email ID
lv_input = lv_address_comm_remarks.
zgoog_cl_dlp_proxy=>call_dlp( EXPORTING iv_input_value  = lv_input iv_input_type = 'REMARKS'
                              IMPORTING ev_output_value = lv_output ev_message = ev_message ).
ls_bupa_email_address-address_comm_remarks = lv_output.

"Crypto-based tokenization: Encrypts the original sensitive data value by using a cryptographic key. Sensitive Data Protection supports several types of tokenization,
"including transformations that can be reversed, or "re-identified."
" - Bank account number
lv_input = lv_bank_account.
zgoog_cl_dlp_proxy=>call_dlp( EXPORTING iv_input_value  = lv_input iv_input_type = 'BANK ACCOUNT'
                              IMPORTING ev_output_value = lv_output ev_message = ev_message ).
ls_bupa_bank_details-bank_account = lv_output.

Daten im SAP-ERP-System speichern

Nachdem die relevanten Felder de-identifiziert wurden, implementieren Sie im Clientdienst die Logik zum Speichern der Daten im Zielspeicher. Dies kann ein Cloud Storage-Dienst oder Ihr lokales SAP-System sein.

Nächste Schritte

  • Wenn Sie die in dieser Anleitung beschriebene Beispiellösung mit minimalem Aufwand bereitstellen möchten, verwenden Sie das Codebeispiel auf GitHub.

  • Sehen Sie sich das gesamte Spektrum der Transformationsmethoden an, die in der DLP API verfügbar sind, um die für Ihre spezifischen Geschäftsanforderungen am besten geeignete Methode zu finden.

  • Weitere Informationen zum ABAP SDK for Google Cloud finden Sie unter ABAP SDK for Google Cloud – Übersicht.

  • Wenn Sie Hilfe bei der Behebung von Problemen mit dem ABAP SDK for Google Cloud benötigen, gehen Sie so vor:

Beitragende

Autorin: Sanchita Mohta | SAP Application Engineer

Weiterer Mitwirkender: Vikash Kumar | Technischer Autor