Informations d'identification personnelle
Le langage détecte, classe et fournit des options pour dépersonnaliser les informations personnelles identifiables (IPI) dans du texte non structuré.
Cas d'emploi
- Détecter et organiser les informations privées dans les commentaires des utilisateurs
-
De nombreuses organisations collectent les commentaires des utilisateurs via divers canaux tels que les évaluations de produits, les demandes de retour, les tickets d'assistance et les forums de commentaires. Vous pouvez utiliser le service de détection des informations d'identification personnelle de langue pour la détection automatique des entités d'informations d'identification personnelle afin non seulement d'avertir de manière proactive, mais également d'anonymiser avant de stocker les commentaires postés. En utilisant la détection automatique des entités d'informations d'identification personnelle, vous pouvez avertir les utilisateurs de manière proactive du partage de données privées et les applications pour implémenter des mesures telles que le stockage de données masquées.
- Analyse du stockage d'objets pour détecter la présence de données sensibles
-
Les solutions de stockage cloud telles qu'OCI Object Storage sont largement utilisées par les employés pour stocker des documents commerciaux dans des emplacements contrôlés localement ou partagés par de nombreuses équipes. Pour 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 de paie, il est nécessaire de scanner automatiquement tous les documents pour détecter la présence d'informations d'identification personnelle. Le modèle OCI Language PII fournit une API par lots pour traiter de nombreux documents texte à grande échelle afin de traiter les 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 la personne |
ADDRESS |
Adresse |
AGE |
Âge |
DATE_TIME |
Date ou heure |
SSN_OR_TAXPAYER |
Numéro de sécurité sociale ou ID contribuable (Etats-Unis) |
EMAIL |
courriel |
PASSPORT_NUMBER_US |
Numéro de passeport (États-Unis) |
TELEPHONE_NUMBER |
Téléphone ou fax (US) |
DRIVER_ID_US |
Numéro d'identification du conducteur (US) |
BANK_ACCOUNT_NUMBER |
Numéro du compte bancaire (États-Unis) |
BANK_SWIFT |
Compte bancaire (SWIFT) |
BANK_ROUTING |
Numéro d'acheminement de la banque |
CREDIT_DEBIT_NUMBER |
Numéro de carte de paiement |
IP_ADDRESS |
Adresse IP, IPV4 et IPV6 |
MAC_ADDRESS |
Adresse MAC |
Voici les types de clé secrète : |
|
COOKIE |
Cookie du site |
XSRF TOKEN |
Jeton de falsification de demande intersite (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 informations d'identification de compte OCI qui sont les informations d'authentification requises pour accéder aux ressources et les gérer dans OCI. Ces informations d'identification ont pour but de garantir une authentification sécurisée des utilisateurs, des applications et des services afin d'interagir avec les services et les ressources OCI. |
|
OCI_OCID_USER |
Utilisateur OCI |
OCI_OCID_TENANCY |
OCID (identificateur Oracle Cloud) de location |
OCI_SMTP_USERNAME |
Nom d'utilisateur SMTP (Simple Mail Transfer Protocol) |
OCI_OCID_REFERENCE |
Référence OCID |
OCI_FINGERPRINT |
Empreinte OCI |
OCI_CREDENTIAL |
Ce type couvre le jeton d'authentification OCI, les informations d'identification OAuth et les informations d'identification SMTP |
OCI_PRE_AUTH_REQUEST |
Demande préauthentifiée OCI |
OCI_STORAGE_SIGNED_URL |
URL unique OCI Storage |
OCI_CUSTOMER_SECRET_KEY |
Clé secrète client OCI |
OCI_ACCESS_KEY |
Clés d'accès OCI ou informations d'identification de sécurité |
Exemples
Texte saisi | Texte de sortie masqué par "*" |
---|---|
|
|
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-0190 also I emailed from my email id sarah.jones1234@hotmail.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 } } }
- Contenu JSON de la réponse :
-
{ "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-0190", "score": 0.9527066349983215, "isCustom": false }, { "offset": 268, "length": 27, "type": "EMAIL", "text": "sarah.jones1234@hotmail.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 d'informations d'identification personnelle ou d'informations de santé protégées
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 ruleId
Chaîne (String) Identifiant unique de la règle. regex
Chaîne (String) Modèle d'expression régulière correspondant aux types de données personnalisés. Par exemple, ([A-Z]{5}[0-9]{4}[A-Z]{1}) pour faire correspondre la carte Pan. type
Chaîne (String) Nom du type d'entité à mettre en correspondance. Par exemple, PAN_CARD
.prefix
Liste<String> Mots ou expressions à rechercher dans maxDistance
du mot détecté parregex
.suffix
Liste<String> Mots ou expressions à rechercher dans maxDistance
du mot détecté parregex
.isCaseSensitive
Boolean Détermine si le processus de mise en correspondance doit considérer les lettres majuscules et minuscules comme distinctes, avec la valeur true
indiquant la sensibilité à la casse etfalse
indiquant l'insensibilité à la casse.maxDistance
Integer Définit la distance maximale autorisée en caractères entre prefix
/suffix
et le modèle mis en correspondance, ce qui garantit que le modèle se trouve à une certaine proximité deprefix
/suffix
.priority
Integer Priorité des règles. Fourchettes comprises entre 1 et 50, la priorité 1 étant la plus élevée. Par exemple, s'il existe deux règles avec la même valeur regex
mais des valeursprefix
etsuffix
différentes, la règle avec la priorité la plus élevée est prise en compteregexOnly
Boolean Si la valeur est True, le modèle enlève les entités détectées qui ont la même valeur
regex
que la règleregex
.Exemples :
Dans la phrase, "J'ai 25 ans et il a 11 mois", avec le suffixe défini sur ["années"] :
- Si
regexOnly
a la valeur True, seul 25 est détecté car le suffixe "months" ne correspond pas au suffixe "years" indiqué. - Si
regexOnly
a la valeur False, les valeurs 25 et 11 sont détectées, à savoir 25 dans la règle (en raison du suffixe "years") et 11 dans le modèle.
filterEntityTypes
Liste<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 défini sur [ALL], toutes les entités détectées par le modèle sont filtrées.
Lorsque vous répertoriez
[All]
, la détection est basée surregex
et ignore les entités de modèle prédéfinies.disable
Boolean Affectez la valeur True 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
}
]