Información de identificación personal
Language detecta, clasifica y proporciona opciones para desidentificar la información de identificación personal (PII) en texto no estructurado.
Casos de Uso
- Detección y selección de información privada en los comentarios de los usuarios
-
Muchas organizaciones recopilan comentarios de los usuarios a través de varios canales, como reseñas de productos, solicitudes de devolución, tickets de soporte y foros de comentarios. Puede utilizar el servicio de detección de PII de idioma para la detección automática de entidades de PII no solo para advertir de forma proactiva, sino también para anonimizar antes de almacenar los comentarios publicados. Mediante la detección automática de entidades de PII, puede advertir de forma proactiva a los usuarios sobre el uso compartido de datos privados y a las aplicaciones para implementar medidas como el almacenamiento de datos enmascarados.
- Exploración del almacenamiento de objetos para detectar la presencia de datos confidenciales
-
Las soluciones de almacenamiento en la nube, como OCI Object Storage, son ampliamente utilizadas por los empleados para almacenar documentos de negocio en las ubicaciones controladas localmente o compartidas por muchos equipos. Asegurarse de que dichas ubicaciones compartidas no almacenen información privada, como nombres de empleados, datos demográficos e información de nómina, requiere el escaneo automático de todos los documentos para detectar la presencia de PII. El modelo de PII de OCI Language proporciona una API por lotes para procesar muchos documentos de texto a escala para procesar datos a escala.
Entidades soportadas
En la siguiente tabla se describen las diferentes entidades que PII puede extraer.
Tipo de Entidad | Descripción |
---|---|
PERSON |
Nombre de la Persona |
ADDRESS |
Dirección |
AGE |
Duración |
DATE_TIME |
Fecha o hora |
SSN_OR_TAXPAYER |
Número de la Seguridad Social o ID de contribuyente (EE.UU.) |
EMAIL |
Correo |
PASSPORT_NUMBER_US |
Número de pasaporte (EE.UU.) |
TELEPHONE_NUMBER |
Teléfono o fax (EE. UU.) |
DRIVER_ID_US |
Número de identificación del conductor (US) |
BANK_ACCOUNT_NUMBER |
Número de cuenta bancaria (US) |
BANK_SWIFT |
Cuenta bancaria (SWIFT) |
BANK_ROUTING |
Número de entidad bancaria |
CREDIT_DEBIT_NUMBER |
Número de tarjeta de crédito o débito |
IP_ADDRESS |
Dirección IP, IPV4 y IPV6 |
MAC_ADDRESS |
Dirección MAC |
A continuación se muestran los tipos de secreto: |
|
COOKIE |
Cookie de sitio web |
XSRF TOKEN |
Token de falsificación de solicitud entre centros (XSRF) |
AUTH_BASIC |
Autenticación Básica |
AUTH_BEARER |
Autenticación del portador |
JSON_WEB_TOKEN |
Token Web JSON |
PRIVATE_KEY |
Clave privada criptográfica |
PUBLIC_KEY |
Clave pública criptográfica |
A continuación, se muestran las credenciales de la cuenta de OCI que son la información de autenticación necesaria para acceder a los recursos de OCI y gestionarlos. Estas credenciales sirven para garantizar la autenticación segura de usuarios, aplicaciones y servicios para interactuar con los servicios y recursos de OCI. |
|
OCI_OCID_USER |
Usuario de OCI |
OCI_OCID_TENANCY |
OCID de arrendamiento (identificador de Oracle Cloud) |
OCI_SMTP_USERNAME |
Nombre de usuario SMTP (protocolo simple de transferencia de correo) |
OCI_OCID_REFERENCE |
Referencia de OCID |
OCI_FINGERPRINT |
Huella de OCI |
OCI_CREDENTIAL |
Este tipo abarca el token de autenticación de OCI, la credencial OAuth y la credencial SMTP |
OCI_PRE_AUTH_REQUEST |
OCI Pre-Authenticated Request |
OCI_STORAGE_SIGNED_URL |
URL cantada de OCI Storage |
OCI_CUSTOMER_SECRET_KEY |
Clave secreta de cliente de OCI |
OCI_ACCESS_KEY |
Claves de acceso o credenciales de seguridad de OCI |
Ejemplos
Texto de Entrada | Texto de salida enmascarado con "*" |
---|---|
|
|
El JSON para el ejemplo es:
- Solicitud de ejemplo
-
POST https://<region-url>/20210101/actions/batchDetectLanguagePiiEntities
- Formato de solicitud de 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 de respuesta:
-
{ "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": [] }
Configuración de la salida de texto PII o PHI
En el servicio Language, puede configurar la salida PII/PHI al analizar el texto.
Reglas de PII
- Reglas de PII personalizadas
-
Claves Escribir Descripción ruleId
Cadena Identificador único de la regla. regex
Cadena Patrón de expresión regular para que coincida con los tipos de dato personalizados. Por ejemplo, ([A-Z]{5}[0-9]{4}[A-Z]{1}) para que coincida con la tarjeta Pan. type
Cadena Nombre del tipo de entidad que debe coincidir. Por ejemplo, PAN_CARD
.prefix
Lista<String> Se han detectado palabras o frases en maxDistance
deregex
.suffix
Lista<String> Se han detectado palabras o frases para buscar en maxDistance
deregex
.isCaseSensitive
Booleano Determina si el proceso de coincidencia debe considerar las letras mayúsculas y minúsculas como distintas, con un valor de true
que indica la sensibilidad a mayúsculas y minúsculas yfalse
que indica la insensibilidad a mayúsculas y minúsculas.maxDistance
Entero Define la distancia máxima permitida en caracteres entre prefix
/suffix
y el patrón coincidente, lo que garantiza que el patrón se encuentre dentro de una cierta proximidad aprefix
/suffix
.priority
Entero Prioridad de las normas. Rangos entre 1 y 50 donde la prioridad 1 es la más alta. Por ejemplo, si hay dos reglas con la misma regex
peroprefix
ysuffix
diferentes, se considera la regla con la prioridad más altaregexOnly
Booleano Si se define en true, se eliminan las entidades detectadas de modelo que tienen el mismo
regex
que la reglaregex
.Por ejemplo:
En la frase, "Tengo 25 años y él tiene 11 meses", con el sufijo establecido en ["años"]:
- Si
regexOnly
es true, solo se detecta 25 porque el sufijo "months" no coincide con el sufijo especificado "years". - Si
regexOnly
es false, se detectan tanto 25 como 11, 25 de la regla (debido al sufijo "years") y 11 del modelo.
filterEntityTypes
Lista<String> Tipos de entidad de OCI que filtrar. Por ejemplo, [PERSON, AGE] para filtrar los tipos de entidad PERSON y AGE a partir de detecciones de modelo. Si el filtro se define en [ALL], todas las entidades detectadas de modelo se filtran.
Al mostrar
[All]
, la detección se basa enregex
e ignora las entidades de modelo predefinidas.disable
Booleano Definir en true para desactivar esta regla. - Si
Archivos de reglas de ejemplo
[
{
"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
}
]