Informazioni di identificazione personale
Il linguaggio rileva, classifica e fornisce opzioni per deidentificare le informazioni di identificazione personale (PII) in testo non strutturato.
Casi d'uso
- Rilevare e curare le informazioni private nel feedback degli utenti
-
Molte organizzazioni raccolgono il feedback degli utenti viene raccolto attraverso vari canali come recensioni di prodotti, richieste di reso, ticket di supporto e forum di feedback. È possibile utilizzare il servizio di rilevamento PII della lingua per il rilevamento automatico delle entità PII per avvisare non solo in modo proattivo, ma anche per rendere anonimi i feedback pubblicati prima di memorizzarli. Utilizzando il rilevamento automatico delle entità PII puoi avvisare in modo proattivo gli utenti della condivisione di dati privati e delle applicazioni per implementare misure come la memorizzazione di dati mascherati.
- Scansione dello storage degli oggetti per rilevare la presenza di dati riservati
-
Le soluzioni di storage cloud come OCI Object Storage sono ampiamente utilizzate dai dipendenti per memorizzare i documenti aziendali nelle posizioni controllate localmente o condivise da molti team. Garantire che tali sedi condivise non memorizzino informazioni private come nomi dei dipendenti, dati demografici e informazioni sul ciclo paghe richiede la scansione automatica di tutti i documenti per la presenza di informazioni di identificazione personale. Il modello PII del linguaggio OCI fornisce API batch per elaborare molti documenti di testo su larga scala per l'elaborazione dei dati su larga scala.
Entità supportate
Nella tabella seguente vengono descritte le diverse entità che le informazioni di identificazione personale possono estrarre.
Tipo di entità | descrizione; |
---|---|
PERSON |
Nome persona |
ADDRESS |
indirizzo |
AGE |
Durata |
DATE_TIME |
Data o ora |
SSN_OR_TAXPAYER |
Numero di previdenza sociale o codice fiscale (USA) |
EMAIL |
Posta elettronica |
PASSPORT_NUMBER_US |
Numero di passaporto (USA) |
TELEPHONE_NUMBER |
Telefono o fax (USA) |
DRIVER_ID_US |
Numero di identificazione del conducente (US) |
BANK_ACCOUNT_NUMBER |
Numero conto bancario (US) |
BANK_SWIFT |
Conto bancario (SWIFT) |
BANK_ROUTING |
Codice instradamento banca |
CREDIT_DEBIT_NUMBER |
Numero carta di credito |
IP_ADDRESS |
Indirizzo IP, sia IPV4 che IPV6 |
MAC_ADDRESS |
Indirizzo MAC |
Di seguito sono riportati i tipi di segreto. |
|
COOKIE |
Cookie del sito |
XSRF TOKEN |
Token XSRF (Cross-Site Request Forgery) |
AUTH_BASIC |
Autenticazione Basic |
AUTH_BEARER |
Autenticazione portatore |
JSON_WEB_TOKEN |
JSON Web Token |
PRIVATE_KEY |
Chiave privata di cifratura |
PUBLIC_KEY |
Chiave pubblica crittografica |
Di seguito sono riportate le credenziali dell'account OCI che rappresentano le informazioni di autenticazione necessarie per accedere e gestire le risorse all'interno di OCI. Queste credenziali hanno lo scopo di garantire l'autenticazione sicura di utenti, applicazioni e servizi per interagire con i servizi e le risorse OCI. |
|
OCI_OCID_USER |
Utente OCI |
OCI_OCID_TENANCY |
OCID tenancy (identificativo Oracle Cloud) |
OCI_SMTP_USERNAME |
Nome utente SMTP (Simple Mail Transfer Protocol) |
OCI_OCID_REFERENCE |
Riferimento OCID |
OCI_FINGERPRINT |
Impronta OCI |
OCI_CREDENTIAL |
Questo tipo riguarda il token di autenticazione OCI, la credenziale OAuth e la credenziale SMTP |
OCI_PRE_AUTH_REQUEST |
Richiesta preautenticata OCI |
OCI_STORAGE_SIGNED_URL |
URL singolo storage OCI |
OCI_CUSTOMER_SECRET_KEY |
Chiave segreta cliente OCI |
OCI_ACCESS_KEY |
Chiavi di accesso OCI o credenziali di sicurezza |
Esempi
Testo di input | Testo di output mascherato con "*" |
---|---|
|
|
Il JSON per l'esempio è:
- Richiesta campione
-
POST https://<region-url>/20210101/actions/batchDetectLanguagePiiEntities
- Formato richiesta 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 } } }
- JSON risposta:
-
{ "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": [] }
Configurazione dell'output di testo PII o PHI
Nel servizio Lingua è possibile configurare l'output PII/PHI durante l'analisi del testo.
Regole informazioni di identificazione personale
- Regole PII personalizzate
-
Chiavi Digita descrizione; ruleId
Stringa Identificativo univoco della regola. regex
Stringa Pattern di espressione regolare corrispondente ai tipi di dati personalizzati. Ad esempio, ([A-Z]{5}[0-9]{4}[A-Z]{1}) per la corrispondenza con la scheda Pan. type
Stringa Nome del tipo di entità da abbinare. Ad esempio, PAN_CARD
.prefix
Elenco<String> Parole o frasi da cercare all'interno di maxDistance
diregex
hanno rilevato una parola.suffix
Elenco<String> Parole o frasi da cercare all'interno di maxDistance
diregex
hanno rilevato una parola.isCaseSensitive
Boolean Determina se il processo di corrispondenza deve considerare distinte le lettere maiuscole e minuscole, con il valore true
che indica la sensibilità dei casi efalse
che indica l'insensibilità dei casi.maxDistance
Valore intero Definisce la distanza massima consentita in caratteri tra il valore prefix
/suffix
e il pattern corrispondente, garantendo che il pattern venga trovato entro una certa prossimità al valoreprefix
/suffix
.priority
Valore intero Priorità delle regole. È compreso tra 1 e 50, dove la priorità 1 è più alta. Ad esempio, se sono presenti due regole con lo stesso regex
maprefix
esuffix
diversi, viene considerata la regola con la priorità più altaregexOnly
Boolean Se true, il modello rimuove le entità rilevate che hanno lo stesso valore
regex
della regolaregex
.Ad esempio:
Nella frase, "Ho 25 anni e lui ha 11 mesi", con il suffisso impostato su ["anni"]:
- Se
regexOnly
è true, ne vengono rilevati solo 25 perché il suffisso "months" non corrisponde al suffisso specificato "years". - Se
regexOnly
è falso, vengono rilevati sia 25 che 11: 25 dalla regola (a causa del suffisso "anni") e 11 dal modello.
filterEntityTypes
Elenco<String> Tipi di entità OCI da filtrare. Ad esempio, [PERSON, AGE] per filtrare i tipi di entità PERSON e AGE dai rilevamenti del modello. Se il filtro è impostato su [ALL], tutte le entità rilevate dal modello vengono filtrate.
Quando si elenca
[All]
, il rilevamento basato suregex
ignora le entità modello predefinite.disable
Boolean Impostare su true per disabilitare questa regola. - Se
File regole di esempio
[
{
"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
}
]