Gérer le masquage des informations permettant d'identifier personnellement l'utilisateur

Présentation

Dans le cadre de l'intégration du connecteur API Hub, l'importation des métadonnées pour les bundles de flux partagés et de proxy d'API est synchronisée avec API Hub. Ces bundles peuvent contenir des informations permettant d'identifier personnellement les utilisateurs ou d'autres données sensibles dans les configurations des règles. Cette fonctionnalité vous permet de masquer les champs d'informations permettant d'identifier personnellement les utilisateurs avant l'importation des bundles dans le hub d'API. Vous assurez ainsi la confidentialité et la conformité des données pour votre environnement Edge for Private Cloud.

Approche de masquage

Le masquage des informations permettant d'identifier personnellement l'utilisateur est appliqué à l'aide d'expressions XPath pour cibler des éléments spécifiques dans les configurations de règles au format XML à l'intérieur des bundles. Cette fonctionnalité est divisée en deux parties.

Masques par défaut

Apigee Edge pour Private Cloud inclut une liste prédéfinie et intégrée d'expressions XPath (appelées masques par défaut) qui ciblent automatiquement les champs connus comme étant des sources potentielles d'informations permettant d'identifier personnellement l'utilisateur dans différentes règles.

Sources potentielles d'informations permettant d'identifier personnellement l'utilisateur et masques par défaut

Le tableau suivant répertorie les règles et les éléments pour lesquels le masquage par défaut est appliqué :

Nom de la règle Élément sensible XPath du masque par défaut Justification
BasicAuthentication Nom d'utilisateur codé en dur //BasicAuthentication/User Stocke directement l'identité de l'utilisateur en texte brut.
BasicAuthentication Mot de passe codé en dur //BasicAuthentication/Password Stocke directement le mot de passe en texte clair.
GenerateJWT Clé symétrique (secrète) //GenerateJWT/SecretKey/Value Clé de signature/chiffrement symétrique codée en dur.
GenerateJWT Clé privée //GenerateJWT/PrivateKey/Value Clé privée encodée au format PEM pour la signature asymétrique.
GenerateJWT Mot de passe de la clé privée //GenerateJWT/PrivateKey/Password Mot de passe permettant de déchiffrer la clé privée.
GenerateJWS Clé symétrique (secrète) //GenerateJWS/SecretKey/Value Clé de signature/chiffrement symétrique codée en dur.
GenerateJWS Clé privée //GenerateJWS/PrivateKey/Value Clé privée encodée au format PEM pour la signature asymétrique.
GenerateJWS Mot de passe de la clé privée //GenerateJWS/PrivateKey/Password Mot de passe permettant de déchiffrer la clé privée.
VerifyJWT Clé symétrique (secrète) //VerifyJWT/SecretKey/Value Clé symétrique codée en dur pour la validation.
VerifyJWS Clé symétrique (secrète) //VerifyJWS/SecretKey/Value Clé symétrique codée en dur pour la validation.
HMAC Clé secrète partagée //HMAC/SecretKey Clé secrète codée en dur pour le calcul HMAC.
KeyValueMapOperations Valeur codée en dur (PUT) //KeyValueMapOperations/Put/Value Secret codé en dur en cours d'écriture dans le KVM.
ServiceCallout Nom d'utilisateur pour l'authentification de base //ServiceCallout//Authentication/BasicAuth/UserName Nom d'utilisateur codé en dur pour l'authentification du backend.
ServiceCallout Mot de passe de l'authentification de base** //ServiceCallout//Authentication/BasicAuth/Password Mot de passe codé en dur pour l'authentification du backend.
SAMLAssertion Valeur de la clé privée //SAMLAssertion//PrivateKey/Value Clé privée pour le déchiffrement/la signature.
SAMLAssertion Mot de passe de la clé privée //SAMLAssertion//PrivateKey/Password Mot de passe permettant de déchiffrer la clé privée.

Masques personnalisés

Pour les champs que vous identifiez comme contenant des informations permettant d'identifier personnellement les utilisateurs, mais qui ne sont pas couverts par les masques par défaut (comme la configuration personnalisée dans les règles), vous pouvez fournir votre propre liste d'expressions XPath (masques personnalisés).

Les masques personnalisés sont gérés en mettant à jour une propriété de configuration dans le fichier uapim-connector.properties de votre système Edge pour le cloud privé.

Configurer des masques personnalisés

Pour ajouter des chemins de masquage personnalisés, mettez à jour la propriété conf_uapim_connector.uapim.mask.xpaths dans le fichier de configuration du connecteur :

  • Chemin d'accès au fichier de configuration : /opt/apigee/customer/application/uapim-connector.properties
  • Propriété : conf_uapim_connector.uapim.mask.xpaths

La propriété accepte une liste d'expressions XPath séparées par une virgule, ciblant les éléments spécifiques dont vous souhaitez masquer les valeurs.

Exemple de configuration

Pour masquer la valeur d'une variable personnalisée et d'un champ de statistique, vous devez définir la propriété comme suit :

conf_uapim_connector.uapim.mask.xpaths=//StatisticsCollector/Statistics/Statistic[@name='caller'],//StatisticsCollector/Statistics/Statistic[@name='location'],//AssignMessage/AssignVariable[Name='password']/Value
Expression XPath Élément masqué Objectif
//StatisticsCollector/Statistics/Statistic[@name='caller'] Valeur de la statistique (où name="caller") Masque l'identité sensible de l'appelant.
//AssignMessage/AssignVariable[Name='password']/Value Valeur AssignVariable (où Name='password') Masque les valeurs de mot de passe codées en dur.

Règles masquées

La valeur des éléments ciblés sera masquée. Ce contenu masqué est importé dans le hub d'API.

Exemple de règle 1 (StatisticsCollector – Masqué) :

<StatisticsCollector name="publishPurchaseDetails">
  <Statistics>
    <Statistic name="caller" type="string">****</Statistic>
    <Statistic name="location" type="string">****</Statistic>
  </Statistics>
</StatisticsCollector>