enterprise_ai.dlp
Source : sdks/python/src/enterprise_ai/dlp/__init__.py. Retour à l'index de la référence du SDK Python.
Cette page est générée par tools/docs/gen_sdk_reference.py depuis les sources du SDK et les dossiers de textes OpenAPI. Ne la modifiez pas à la main : changez la source et régénérez.
Modèle Finding
Une détection DLP locale.
Champs :
| Nom | Type | Requis | Description |
|---|---|---|---|
type | str | oui | Type de donnée détectée : email, iban, credit_card, fr_nir, phone, ipv4 ou secret. |
start | int | oui | Démarrer les services une fois installés. Vrai par défaut. |
end | int | oui | Position de fin de la correspondance dans le texte (exclue). |
value | str | oui | Texte détecté, en clair. |
Finding.to_dict
to_dict(reveal: bool = False) -> dict[str, Any]
La détection sous forme de dict {type, start, end, value}, valeur masquée sauf avec reveal.
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
reveal | bool | False | non | Conserve la valeur détectée en clair (False par défaut : masquée par mask_value). |
Retour : dict[str, Any]. Dict {type, start, end, value}.
Classe DlpClient
Vie privée et protection des données. Services de protection des données du tenant : classification, DLP (prévention des fuites de données), tokenisation et chiffrement par enveloppe.
Resource
DlpClient.create_rule
create_rule(name: str, pattern: str, action: str = 'mask', **extra: Any) -> Any
Créer ou modifier une règle DLP. Crée la règle, ou remplace la règle de même nom. Une règle exige un entity_type ou un pattern (expression régulière valide) ; les erreurs répondent 400 invalid_request (action inconnue, motif ou classification invalide). Exige tenant_admin ou security_officer. Écrit l'événement d'audit dlp.rule.upsert. Répond 201 avec la règle.
Route : /v1/dlp/rules (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
name | str | oui | Nom unique de la règle, 1 à 120 caractères. | |
pattern | str | oui | Expression régulière d'une entité personnalisée, 500 caractères au plus. | |
action | str | 'mask' | non | Action sur un constat : allow, detect, mask (par défaut), tokenize ou block ; elle remplace le mode de la requête. |
**extra | Any | non | Champs supplémentaires fusionnés dans le corps de la requête. |
Retour : Any. Réponse JSON décodée de l'opération « Créer ou modifier une règle DLP ».
Erreurs levées : les erreurs typées du transport (Erreurs).
DlpClient.inspect
inspect(text: str, **extra: Any) -> Any
Inspecter un texte à la recherche de données sensibles. Applique la DLP au texte avec les règles du tenant, en mode detect sauf si mode en décide autrement. La réponse donne text, findings (type, position, score, classification, court aperçu, action, règle), action (action la plus forte appliquée), classification, mode, engine (builtin ou presidio), blocked et count. Un mode inconnu répond 400. Ouvert à tout membre du tenant. Écrit l'événement d'audit dlp.inspect (nombres et types uniquement).
Route : /v1/dlp/inspect (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
text | str | oui | Texte à inspecter ou à masquer. | |
**extra | Any | non | Champs supplémentaires fusionnés dans le corps de la requête. |
Retour : Any. Réponse JSON décodée de l'opération « Inspecter un texte à la recherche de données sensibles ».
Erreurs levées : les erreurs typées du transport (Erreurs).
DlpClient.list_rules
list_rules() -> Any
Lister les règles DLP. Liste les règles DLP du tenant triées par nom. Ouvert à tout membre du tenant. next_cursor vaut toujours null.
Route : /v1/dlp/rules (GET).
Cet élément ne prend aucun paramètre.
Retour : Any. Réponse JSON décodée de l'opération « Lister les règles DLP ».
Erreurs levées : les erreurs typées du transport (Erreurs).
DlpClient.prescan
prescan(text: str) -> list[dict[str, Any]]
Pré-analyse locale par expressions régulières, valeurs masquées.
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
text | str | oui | Texte à analyser localement avant qu'il ne quitte le processus. |
Retour : list[dict[str, Any]]. Un dict {type, start, end, value} par détection, value masquée par mask_value.
DlpClient.redact
redact(text: str, mode: str = 'mask', **extra: Any) -> Any
Masquer les données sensibles d'un texte. Comme l'inspection, en mode mask par défaut : chaque constat est remplacé par [TYPE] (par exemple [EMAIL]), ou tokenisé ou bloqué quand une règle du tenant ou mode le demande ; un texte bloqué revient vide avec blocked: true. Ouvert à tout membre du tenant. Écrit l'événement d'audit dlp.redact.
Route : /v1/dlp/redact (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
text | str | oui | Texte à inspecter ou à masquer. | |
mode | str | 'mask' | non | detect, mask, tokenize ou block. Par défaut : detect pour l'inspection, mask pour le masquage. |
**extra | Any | non | Champs supplémentaires fusionnés dans le corps de la requête. |
Retour : Any. Réponse JSON décodée de l'opération « Masquer les données sensibles d'un texte ».
Erreurs levées : ValueError, les erreurs typées du transport (Erreurs).
Classe TokenizationClient
Vie privée et protection des données. Services de protection des données du tenant : classification, DLP (prévention des fuites de données), tokenisation et chiffrement par enveloppe.
Resource
TokenizationClient.detokenize
detokenize(tokens: list[str], purpose: str, **extra: Any) -> Any
Détokeniser des valeurs. Renvoie les valeurs d'origine des jetons donnés dans tokens ou trouvés dans text.
Route : /v1/tokenization/detokenize (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
tokens | list[str] | oui | Jetons à résoudre, tok_<type>_<hex>. | |
purpose | str | oui | Raison pour laquelle les valeurs sont nécessaires, transmise à la politique dans context.purpose et inscrite dans le journal d'audit. | |
**extra | Any | non | Champs supplémentaires fusionnés dans le corps de la requête. |
Retour : Any. Réponse JSON décodée de l'opération « Détokeniser des valeurs ».
Erreurs levées : les erreurs typées du transport (Erreurs).
TokenizationClient.tokenize
tokenize(values: list[dict[str, str]] | None = None, text: str | None = None, **extra: Any) -> Any
Tokeniser des valeurs. Remplace les valeurs sensibles par des jetons déterministes tok_<type>_<hex> du tenant (une même valeur donne toujours le même jeton), les valeurs étant conservées chiffrées dans le coffre. Avec values, renvoie tokens ; avec text, détecte les entités et renvoie le text tokenisé, findings et classification. L'un des deux est obligatoire (400 invalid_request). Ouvert à tout membre du tenant. Écrit l'événement d'audit tokenization.tokenize (nombre uniquement).
Route : /v1/tokenization/tokenize (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
values | list[dict[str, str]] | None | None | non | Valeurs à tokeniser, chacune avec son type. |
text | str | None | None | non | Texte dont les entités détectées sont remplacées par des jetons. |
**extra | Any | non | Champs supplémentaires fusionnés dans le corps de la requête. |
Retour : Any. Réponse JSON décodée de l'opération « Tokeniser des valeurs ».
Erreurs levées : les erreurs typées du transport (Erreurs).
Fonctions
luhn_ok
luhn_ok(number: str) -> bool
Somme de contrôle de Luhn d'une chaîne de chiffres.
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
number | str | oui | Numéro de carte ; les caractères autres que les chiffres sont ignorés. |
Retour : bool. True si le numéro compte au moins 13 chiffres et passe le contrôle de Luhn.
mask_value
mask_value(value: str) -> str
Conserve les 2 derniers caractères et masque le reste.
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
value | str | oui | Valeur à masquer. |
Retour : str. La valeur avec * à la place de chaque caractère sauf les 2 derniers ; entièrement masquée si elle compte 4 caractères ou moins.
scan
scan(text: str, types: list[str] | None = None) -> list[Finding]
Trouve les données personnelles et les secrets dans text (chevauchements résolus par la première correspondance, la plus longue).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
text | str | oui | Texte à analyser. | |
types | list[str] | None | None | non | Types de données à rechercher (email, iban, credit_card, fr_nir, phone, ipv4, secret) ; tous par défaut. |
Retour : list[Finding]. Une liste de Finding : les détections DLP locales, triées par position.
classify_text
classify_text(text: str) -> str
Classification la plus haute impliquée par les détections locales (internal si rien n'est trouvé).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
text | str | oui | Texte à analyser et à classifier. |
Retour : str. internal, confidential ou restricted (secrets, cartes et NIR sont restricted ; e-mail, téléphone et IBAN confidential).
redact
redact(text: str, mode: str = 'mask', types: list[str] | None = None) -> str
Remplace les détections par des marqueurs [TYPE] (mask) ou lève une erreur avec block.
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
text | str | oui | Texte à caviarder. | |
mode | str | 'mask' | non | detect (texte inchangé), mask ou tokenize (détections remplacées par [TYPE]), block (lève PolicyDenied dlp_blocked) ; mask par défaut. |
types | list[str] | None | None | non | Types de données à rechercher (email, iban, ...) ; tous par défaut. |
Retour : str. Le texte caviardé, ou le texte inchangé si rien n'est trouvé.
Erreurs levées : PolicyDenied, ValueError.