Informations d'identification personnelle
Le langage détecte, classe et fournit des options pour dépersonnaliser les informations d'identification personnelle (PII) dans du texte non structuré.
Cas d'utilisation
- Détection et conservation des informations privées dans les commentaires des utilisateurs
-
De nombreuses organisations collectent les commentaires des utilisateurs via divers canaux tels que les avis sur les produits, les demandes de retour, les tickets de support et les forums de commentaires. Vous pouvez utiliser le service de détection des informations d'identification personnelle du langage pour la détection automatique des entités d'informations d'identification personnelle pour non seulement avertir de manière proactive, mais aussi anonymiser avant de stocker les commentaires publiés. En utilisant la détection automatique des entités d'informations d'identification personnelle, vous pouvez avertir de manière proactive les utilisateurs du partage de données privées et les applications pour mettre en œuvre des mesures telles que le stockage de données masquées.
- Balayage du stockage d'objets pour détecter la présence de données sensibles
-
Les solutions de stockage en nuage telles qu'OCI Object Storage sont largement utilisées par les employés pour stocker des documents d'affaires dans des emplacements contrôlés localement ou partagés par de nombreuses équipes. S'assurer que ces emplacements partagés ne stockent pas d'informations privées telles que les noms des employés, les données démographiques et les informations sur la paie nécessite un balayage automatique de tous les documents pour détecter la présence d'informations d'identification personnelle. Le modèle d'informations d'identification personnelle du service de langue pour OCI fournit une API par lots pour traiter de nombreux documents texte à grande échelle pour le traitement des données à grande échelle.
Entités prises en charge
Le tableau suivant décrit les différentes entités que les informations d'identification personnelle peuvent extraire.
| Type d'entité | Description |
|---|---|
PERSON
|
Nom de personne |
ADDRESS
|
Addresse |
AGE
|
Ancienneté |
DATE_TIME
|
Date ou heure |
SSN_OR_TAXPAYER
|
Numéro de sécurité sociale ou ID contribuable (États-Unis) |
EMAIL
|
Courriel |
PASSPORT_NUMBER_US
|
Numéro de passeport (États-Unis) |
TELEPHONE_NUMBER
|
Téléphone ou télécopieur (États-Unis) |
DRIVER_ID_US
|
Numéro d'identification du conducteur (É.-U.) |
BANK_ACCOUNT_NUMBER
|
Numéro du compte bancaire (É.-U.) |
BANK_SWIFT
|
Compte bancaire (SWIFT) |
BANK_ROUTING
|
Numéro d'acheminement de la banque |
CREDIT_DEBIT_NUMBER
|
Numéro de carte de crédit ou de débit |
IP_ADDRESS
|
Adresse IP, IPV4 et IPV6 |
MAC_ADDRESS
|
Adresse MAC |
|
Voici les types de clé secrète : |
|
COOKIE
|
Cookies de site Web |
XSRF TOKEN
|
Jeton de faux de demande inter-sites (XSRF) |
AUTH_BASIC
|
Authentification de base |
AUTH_BEARER
|
Authentification du porteur |
JSON_WEB_TOKEN
|
Jeton Web JSON |
PRIVATE_KEY
|
Clé privée cryptographique |
PUBLIC_KEY
|
Clé publique cryptographique |
|
Voici les données d'identification du compte OCI qui sont les informations d'authentification requises pour accéder aux ressources et les gérer dans OCI. Ces données d'identification ont pour but de garantir une authentification sécurisée des utilisateurs, des applications et des services pour interagir avec les services et les ressources OCI. |
|
OCI_OCID_USER
|
Utilisateur OCI |
OCI_OCID_TENANCY
|
OCID (identificateur Oracle Cloud) de la location |
OCI_SMTP_USERNAME
|
Nom d'utilisateur SMTP (Simple Mail Transfer Protocol) |
OCI_OCID_REFERENCE
|
Référence OCID |
OCI_FINGERPRINT
|
Empreinte numérique OCI |
OCI_CREDENTIAL
|
Ce type couvre le jeton d'authentification OCI, les données d'identification OAuth et les données d'identification SMTP |
OCI_PRE_AUTH_REQUEST
|
Demande préauthentification OCI |
OCI_STORAGE_SIGNED_URL
|
URL dédiée au stockage OCI |
OCI_CUSTOMER_SECRET_KEY
|
Clé secrète de client OCI |
OCI_ACCESS_KEY
|
Clés d'accès OCI ou données d'identification de sécurité |
Exemples
| Texte entré | Texte de sortie masqué avec "*" |
|---|---|
|
|
|
Le JSON de l'exemple est :
- Exemple de demande
-
POST https://<region-url>/20210101/actions/batchDetectLanguagePiiEntities - Format de demande d'API :
-
{ "documents": [ { "languageCode": "en", "key": "1", "text": "Hello Support Team, I am reaching out to seek help with my credit card number 5111 1111 1111 1118 expiring on 11/23. There was a suspicious transaction on 12-Aug-2022 which I reported by calling from my mobile number +1 (650) 555-01900 also I emailed from my email id my.name1234@myemail.com. Would you please let me know the refund status? Regards, Sarah" } ], "compartmentId": "ocid1.tenancy.oc1..aaaaaaaadany3y6wdh3u3jcodcmm42ehsdno525pzyavtjbpy72eyxcu5f7q", "masking": { "ALL": { "mode": "MASK", "isUnmaskedFromEnd": true, "leaveCharactersUnmasked": 4 } } }
- Réponse JSON :
-
{ "documents": [ { "key": "1", "entities": [ { "offset": 79, "length": 19, "type": "CREDIT_DEBIT_NUMBER", "text": "5111 1111 1111 1118", "score": 0.75, "isCustom": false }, { "offset": 111, "length": 5, "type": "DATE_TIME", "text": "11/23", "score": 0.9992455840110779, "isCustom": false }, { "offset": 156, "length": 11, "type": "DATE_TIME", "text": "12-Aug-2022", "score": 0.998766303062439, "isCustom": false }, { "offset": 218, "length": 2, "type": "TELEPHONE_NUMBER", "text": "+1", "score": 0.6941494941711426, "isCustom": false }, { "offset": 221, "length": 14, "type": "TELEPHONE_NUMBER", "text": "(650) 555-0100", "score": 0.9527066349983215, "isCustom": false }, { "offset": 268, "length": 27, "type": "EMAIL", "text": "my.name1234@myemail.com", "score": 0.95, "isCustom": false }, { "offset": 354, "length": 5, "type": "PERSON", "text": "Sarah", "score": 0.9918518662452698, "isCustom": false } ], "languageCode": "en", "maskedText": "Hello Support Team, \nI am reaching out to seek help with my credit card number ***************2345 expiring on *1/23. There was a suspicious transaction on *******2022 which I reported by calling from my mobile number +1 **********9999 also I emailed from my email id ***********************.com. Would you please let me know the refund status?\nRegards,\n*arah" } ], "errors": [] }
Configuration de la sortie de texte des informations d'identification personnelle ou des informations personnelles
Dans le service Language, vous pouvez configurer la sortie PII/PHI lors de l'analyse du texte.
Règles d'informations d'identification personnelle
- Règles d'informations d'identification personnelle personnalisées
-
Clés Type Description ruleIdChaîne Identificateur unique de la règle. regexChaîne Modèle d'expression rationnelle pour mettre en correspondance les types de données personnalisés. Par exemple, ([A-Z]{5}[0-9]{4}[A-Z]{1}) pour faire correspondre la carte panoramique. typeChaîne Nom du type d'entité à mettre en correspondance. Par exemple, PAN_CARD.prefixListe<String> Mots ou expressions à rechercher dans maxDistancederegexmot détecté.suffixListe<String> Mots ou expressions à rechercher dans maxDistancederegexmot détecté.isCaseSensitiveBoolean Détermine si le processus de correspondance doit considérer les lettres majuscules et minuscules comme distinctes, avec une valeur trueindiquant la sensibilité à la casse etfalseindiquant l'insensibilité à la casse.maxDistanceEntier Définit la distance maximale autorisée en caractères entre prefix/suffixet le modèle correspondant, en s'assurant que le modèle se trouve à une certaine proximité deprefix/suffix.priorityEntier Priorité des règles. Intervalle entre 1 et 50 où la priorité 1 est la plus élevée. Par exemple, s'il existe deux règles avec le même regexmais différentesprefixetsuffix, la règle ayant la priorité la plus élevée est prise en compteregexOnlyBoolean Si la valeur est Vrai, le modèle supprime les entités détectées qui ont le même
regexque la règleregex.Par exemple :
Dans la phrase, "J'ai 25 ans et il a 11 mois", avec le suffixe réglé à ["années"] :
- Si
regexOnlyest vrai, seulement 25 est détecté, car le suffixe "months" ne correspond pas au suffixe "years" spécifié. - Si
regexOnlyest faux, 25 et 11 sont détectés : 25 de la règle (en raison du suffixe "years") et 11 du modèle.
filterEntityTypesListe<String> Types d'entité OCI à filtrer. Par exemple, [PERSON, AGE] pour filtrer les types d'entité PERSON et AGE à partir des détections de modèle. Si le filtre est réglé à [ALL], toutes les entités détectées du modèle sont exclues du filtrage.
Lors de la création de la liste
[All], la détection est basée surregexet ignore les entités de modèle prédéfinies.disableBoolean Réglez à Vrai pour désactiver cette règle. - Si
Exemples de fichiers de règles
[
{
"ruleId": "rule 1",
"regex": "([A-Z]{2}[0-9]{2}-[0-9]{3}-[0-9]{3}-[0-9]{3}\/[0-9]{3})",
"type": "NAREGA_ID",
"isCaseSensitive": true,
"suffix": ["id", "narega"],
"regexOnly": true,
"maxDistance": 10,
"priority": 2
},
{
"ruleId": "rule 2",
"regex": "([A-Z]{5}[0-9]{4}[A-Z]{3})",
"type": "PAN_CARD",
"prefix": ["pan", "pancard"],
"isCaseSensitive": false,
"regexOnly": false,
"maxDistance": 10,
"priority": 2,
"filterEntityTypes": ["PERSON"]
},
{
"ruleId": "rule 3",
"regex": "([A-Z]{4}[0-9]{7})",
"type": "IFSC_CODE",
"prefix": ["IFSC"],
"isCaseSensitive": false,
"regexOnly":false,
"maxDistance": 20,
"priority": 2,
"disable": false
},
{
"ruleId": "rule 4",
"regex": "([A-Z]{2}[0-9]{2}-[0-9]{3}-[0-9]{3}-[0-9]{3}\/[0-9]{3})",
"type": "TIRA_ID",
"isCaseSensitive": false,
"prefix": ["Narega"],
"regexOnly": false,
"maxDistance": 10,
"priority": 1
}
]