7.6 KiB
Security and Data Privacy
Security guidelines, data protection, and privacy configurations for SAP Master Data Integration.
Source: https://github.com/SAP-docs/sap-btp-master-data-integration/tree/main/docs/security
Security Guidelines
Transport Layer Security
MDI relies on SAP BTP infrastructure with TLS protection for all connections.
Credential Protection
- Store credentials securely at all times
- Credentials allow read/write access to company master data
- Rotate any compromised credentials immediately
HTTPS Enforcement
All communications must use HTTPS:
- Client applications to MDI
- MDI to XSUAA
- Destination Service configurations
- Manual debugging requests
Certificate Validation
- Always validate HTTPS certificates
- Never disable certificate validation
- Disabled validation allows credential interception and traffic monitoring
Credential Rotation Process
When credentials are compromised:
- Delete compromised service key from service instance
- Generate new service key
- Reconfigure clients with new credentials
Security Incident Reporting
Report security issues through SAP Security Management portal.
Authentication Methods
OAuth2 Client Credentials (Default)
Binding-level client ID and client secret created automatically.
XSUAA-managed Certificates
System generates private keys and certificates:
| Parameter | Default | Options |
|---|---|---|
| key-length | 2048 bytes | |
| validity-type | DAYS | DAYS, MONTHS, YEARS |
| validity | 7 days |
{
"xsuaa": {
"credential-type": "x509",
"x509": {
"key-length": 2048,
"validity": 7,
"validity-type": "DAYS"
}
}
}
Important: Authentication only works while certificate is valid. Renewal requires recreating service binding.
Externally-managed Certificates
User-provided certificates with options:
| Parameter | Default | Description |
|---|---|---|
| ensure-uniqueness | false | Enforce certificate uniqueness across instances |
| certificate-pinning | true | When false, allows simplified rotation by DN comparison |
Token Endpoints
- Client credentials:
<uaa.url>/oauth/token - X.509:
<uaa.certurl>/oauth/token
Credential Update Process
- Create new service binding
- Update client configuration
- Delete old service binding
- Do NOT delete service instance (disconnects client)
Business User Authentication
Passcode Flow (Recommended)
- Visit XSUAA URL passcode endpoint
- Obtain code
- Exchange via POST request with service instance credentials
Password Flow
Direct authentication with username/password plus service instance credentials.
Required Roles
| Role | Purpose |
|---|---|
| BusinessConfigurationAdmin | Configuration tasks |
| ExtensionDeveloper | Extensibility tasks |
Data Protection and Privacy
SAP's Role
SAP provides compliance features but does not advise on best methods for specific organizations or regions.
Key Principles
- Data protection involves legal requirements and privacy concerns
- Case-by-case assessment required
- SAP does not provide legal advice
- Compliance often extends beyond product features
Integration with SAP Data Privacy Integration
Supported Capabilities:
| Capability | Objects | Integration |
|---|---|---|
| Blocking | Business Partner | Via SOAP API, SAP Data Retention Manager |
| Business Context Management | Workforce Person | Purpose recalculation, expiration identification |
| Information (reports/export) | NOT SUPPORTED |
Deletion of Master Data
Retention and Lifecycle Management
Master data retention and deletion are customer-configurable via SAP Information Lifecycle Management (ILM) and Retention Management.
Key Points:
- Retention periods are defined by customer policy, not fixed by SAP
- Blocking and residence rules are set per customer requirements
- Delta token expiry depends on customer-configured retention settings
- Clients must perform full reload if retention settings result in token expiration
General Master Data Deletion
- Client triggers deletion through MDI
- Service processes deletion per configured retention policy
- Service notifies all downstream clients
- Each client removes data from local systems per their retention settings
Business Partner Deletion
Uses SAP Data Retention Manager with ILM controls:
- Triggered when personal data processing no longer required per policy
- Blocking requests initiate the deletion workflow
- SAP S/4HANA clients can initiate via Data Retention Manager
- Retention periods governed by ILM residence rules
Client Disconnection
- Data not automatically removed when client disconnects
- Apply ILM/retention policies to manage data lifecycle
- Proactively identify and delete unneeded data per policy
- Consider impact on remaining connected clients
Filtering
Purpose
Controls which event information clients receive through LOG API.
Configuration
Filters registered per client (service instance) in Cloud Foundry.
Filter Levels
- Object-instance level: Which records are replicated
- Data scope level: Which parts of records are replicated
Filter Behavior
- Activated filters apply to all following LOG API responses
- New include/exclude messages generated when visibility changes
- New filter automatically deactivates previous filter
Distribution Models
Configure filters through Business Data Orchestration:
- Object Selection Filters
- Data Scope Filters
Benefits
- Reduces unnecessary data traffic
- Prevents irrelevant data replication (e.g., customer data to non-sales units)
- Enables regional data boundaries
Read Access Logging
Tracks access to sensitive personal data via SAP Audit Log service.
Key Annotations
@AuditLog.Operation Controls logging behavior for Read, Insert, Update, Delete operations.
- Read-access logging enabled by default when annotation absent
- Set
read: falseto disable
@PersonalData.FieldSemantics
When set to DataSubjectID:
- Attribute value identifies data subject in log entries
- Multiple annotated attributes all recorded
- Falls back to instance ID if attribute not transmitted
@PersonalData.IsPotentiallySensitive
- Marks attributes as sensitive personal data
- Attribute names appear in log entries
- No log entry written if no attribute has this annotation
Activation Condition
Read-access logging activates only when:
- Attributes representing sensitive personal data
- Are actually exposed to downstream systems
Data Export
For personal data export:
- Open customer ticket
- Component:
BC-CP-CF-ONEMDS - Request data export
Schema Validation
What MDI Validates
- Data adherence to SAP One Domain Model integration models
What MDI Does NOT Validate
- Referential integrity
- References within master data records pointing to existing records
- Code list entry validity
Implication: Organizations must independently verify cross-references.
Security Best Practices Checklist
- Use HTTPS for all communications
- Validate certificates (never disable)
- Store credentials securely
- Grant minimal writePermissions
- Rotate compromised credentials immediately
- Separate MDI subaccounts from other services
- Configure read-access logging for sensitive data
- Implement proper filtering to limit data exposure
- Document data retention policies
- Establish deletion procedures for disconnecting clients