Aller au contenu principal

io.enterpriseai.resources.PoliciesClient

Source : sdks/java/enterprise-ai-java/src/main/java/io/enterpriseai/resources/PoliciesClient.java. Retour à l'index de la référence du SDK Java.

remarque

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.

Classe PoliciesClient​

Politiques. Politiques fondées sur les attributs (ABAC) qui décident de chaque action sensible de la plateforme, avec le Policy Contract v1, le journal des décisions, la simulation, les révisions et les bundles OPA signés.

Constructeur PoliciesClient​

PoliciesClient(Transport transport)

Crée le client sur le transport partagé ; EnterpriseAIClient le construit, on y accède par l'accesseur du même nom.

NomTypeDéfautRequisDescription
transportTransportouiTransport partagé par les sous-clients d'un même client.

PoliciesClient.create​

JsonNode create(Object body)

Créer une politique. Crée une politique du tenant et ajoute sa première révision. Une politique opa exige rego (422 validation_error) et, sauf si OPA charge des bundles signés, est poussée immédiatement dans OPA (503 policy_engine_unavailable quand OPA est injoignable). Un nom déjà utilisé répond 409 conflict. Exige tenant_admin ou security_officer. Écrit l'événement d'audit policy.create.

Route : /v1/policies (POST).

NomTypeDéfautRequisDescription
bodyObjectouiNom, moteur, règles ou Rego, priorité et statut de la politique.

Retour : JsonNode. Réponse JSON décodée de l'opération « Créer une politique ».

Erreurs levées : les erreurs typées du transport (Erreurs).

PoliciesClient.create​

JsonNode create(Object body, RequestOptions options)

Créer une politique. Crée une politique du tenant et ajoute sa première révision. Une politique opa exige rego (422 validation_error) et, sauf si OPA charge des bundles signés, est poussée immédiatement dans OPA (503 policy_engine_unavailable quand OPA est injoignable). Un nom déjà utilisé répond 409 conflict. Exige tenant_admin ou security_officer. Écrit l'événement d'audit policy.create.

Route : /v1/policies (POST).

NomTypeDéfautRequisDescription
bodyObjectouiNom, moteur, règles ou Rego, priorité et statut de la politique.
optionsRequestOptionsouiOptions de l'appel (clé d'idempotence, traceparent, en-têtes, signal d'annulation).

Retour : JsonNode. Réponse JSON décodée de l'opération « Créer une politique ».

Erreurs levées : les erreurs typées du transport (Erreurs).

PoliciesClient.createBundle​

JsonNode createBundle(Object body)

Publier un bundle OPA. Emballe les politiques opa du tenant dans un bundle OPA signé et l'enregistre comme nouvelle révision current. Les politiques actives sont décidées par OPA ; les brouillons sont livrés comme bibliothèques ; les désactivées sont exclues. Aucune politique opa répond 409 policy_bundle_empty ; aucune clé de signature en production 503 policy_bundle_signing_unavailable. Exige tenant_admin ou security_officer. Écrit l'événement d'audit policy.bundle_publish. Répond 201 avec l'enregistrement du bundle.

Route : /v1/policies/bundles (POST).

NomTypeDéfautRequisDescription
bodyObjectouiNom de révision et contenu de data.json facultatifs. Un corps vide génère la révision.

Retour : JsonNode. Réponse JSON décodée de l'opération « Publier un bundle OPA ».

Erreurs levées : les erreurs typées du transport (Erreurs).

PoliciesClient.createBundle​

JsonNode createBundle(Object body, RequestOptions options)

Publier un bundle OPA. Emballe les politiques opa du tenant dans un bundle OPA signé et l'enregistre comme nouvelle révision current. Les politiques actives sont décidées par OPA ; les brouillons sont livrés comme bibliothèques ; les désactivées sont exclues. Aucune politique opa répond 409 policy_bundle_empty ; aucune clé de signature en production 503 policy_bundle_signing_unavailable. Exige tenant_admin ou security_officer. Écrit l'événement d'audit policy.bundle_publish. Répond 201 avec l'enregistrement du bundle.

Route : /v1/policies/bundles (POST).

NomTypeDéfautRequisDescription
bodyObjectouiNom de révision et contenu de data.json facultatifs. Un corps vide génère la révision.
optionsRequestOptionsouiOptions de l'appel (clé d'idempotence, traceparent, en-têtes, signal d'annulation).

Retour : JsonNode. Réponse JSON décodée de l'opération « Publier un bundle OPA ».

Erreurs levées : les erreurs typées du transport (Erreurs).

PoliciesClient.decisions​

Page<JsonNode> decisions()

Lister les décisions de politique. Liste les décisions du tenant, les plus récentes d'abord, paginées : sujet, action, ressource, contexte, autorisation, politique et version, raisons, obligations, moteur et date. Exige tenant_admin, security_officer ou auditor.

Route : /v1/policies/decisions (GET).

Cet élément ne prend aucun paramètre.

Retour : Page<JsonNode>. Réponse JSON décodée de l'opération « Lister les décisions de politique ».

Erreurs levées : les erreurs typées du transport (Erreurs).

PoliciesClient.decisions​

Page<JsonNode> decisions(Map<String, ?> query)

Lister les décisions de politique. Liste les décisions du tenant, les plus récentes d'abord, paginées : sujet, action, ressource, contexte, autorisation, politique et version, raisons, obligations, moteur et date. Exige tenant_admin, security_officer ou auditor.

Route : /v1/policies/decisions (GET).

NomTypeDéfautRequisDescription
queryMap<String, ?>ouiParamètres de la chaîne de requête de la route.

Retour : Page<JsonNode>. Réponse JSON décodée de l'opération « Lister les décisions de politique ».

Erreurs levées : les erreurs typées du transport (Erreurs).

PoliciesClient.delete​

void delete(String id)

Supprimer une politique. Supprime la politique et ajoute une révision delete. Une politique OPA poussée directement dans OPA en est aussi retirée (503 policy_engine_unavailable quand OPA est injoignable). Exige tenant_admin ou security_officer. Écrit l'événement d'audit policy.delete. Répond 204, ou 404 not_found.

Route : /v1/policies/{policy_id} (DELETE).

NomTypeDéfautRequisDescription
idStringouiIdentifiant (UUID) de la politique.

Retour : void.

Erreurs levées : les erreurs typées du transport (Erreurs).

PoliciesClient.downloadBundle​

byte[] downloadBundle(String revision)

Télécharger un bundle OPA. Renvoie le bundle qu'OPA interroge, en application/gzip : modules Rego, data.json facultatif, .manifest et .signatures.json (JWT RS256 sur le SHA-256 de chaque fichier). L'en-tête ETag est son SHA-256 et X-Bundle-Revision sa révision. Exige tenant_admin, security_officer ou auditor. Répond 404 not_found pour une révision inconnue.

Route : /v1/policies/bundles/{revision}/bundle.tar.gz (GET).

NomTypeDéfautRequisDescription
revisionStringouiRévision du bundle, ou current pour la dernière publiée.

Retour : byte[]. Réponse JSON décodée de l'opération « Télécharger un bundle OPA ».

Erreurs levées : les erreurs typées du transport (Erreurs).

PoliciesClient.engines​

JsonNode engines()

Lire l'état des moteurs de politique. Renvoie les services de politique (moteur intégré, OPA, OpenFGA) et la version de politique ou la révision de bundle que chacun exécute réellement, lue auprès du moteur lui-même. Exige tenant_admin, security_officer ou auditor.

Route : /v1/policies/engines (GET).

Cet élément ne prend aucun paramètre.

Retour : JsonNode. Réponse JSON décodée de l'opération « Lire l'état des moteurs de politique ».

Erreurs levées : les erreurs typées du transport (Erreurs).

PoliciesClient.evaluate​

PolicyDecision evaluate(Object request)

Évaluer une demande de politique. Renvoie la décision pour une demande du Policy Contract. Le corps est un Policy Contract ({schema_version, request}) ou seulement son objet request (subject, action, resource, context) ; il est validé avec le contrat policy-contract (422 validation_error).

Route : /v1/policies/evaluate (POST).

NomTypeDéfautRequisDescription
requestObjectouiDocument Policy Contract, ou son seul objet request.

Retour : PolicyDecision. Réponse JSON décodée de l'opération « Évaluer une demande de politique ».

Erreurs levées : les erreurs typées du transport (Erreurs).

PoliciesClient.evaluateRaw​

JsonNode evaluateRaw(Object body)

Évaluer une demande de politique. Renvoie la décision pour une demande du Policy Contract. Le corps est un Policy Contract ({schema_version, request}) ou seulement son objet request (subject, action, resource, context) ; il est validé avec le contrat policy-contract (422 validation_error).

Route : /v1/policies/evaluate (POST).

NomTypeDéfautRequisDescription
bodyObjectouiDocument Policy Contract, ou son seul objet request.

Retour : JsonNode. Réponse JSON décodée de l'opération « Évaluer une demande de politique ».

Erreurs levées : les erreurs typées du transport (Erreurs).

PoliciesClient.evaluateRaw​

JsonNode evaluateRaw(Object body, RequestOptions options)

Évaluer une demande de politique. Renvoie la décision pour une demande du Policy Contract. Le corps est un Policy Contract ({schema_version, request}) ou seulement son objet request (subject, action, resource, context) ; il est validé avec le contrat policy-contract (422 validation_error).

Route : /v1/policies/evaluate (POST).

NomTypeDéfautRequisDescription
bodyObjectouiDocument Policy Contract, ou son seul objet request.
optionsRequestOptionsouiOptions de l'appel (clé d'idempotence, traceparent, en-têtes, signal d'annulation).

Retour : JsonNode. Réponse JSON décodée de l'opération « Évaluer une demande de politique ».

Erreurs levées : les erreurs typées du transport (Erreurs).

PoliciesClient.get​

JsonNode get(String id)

Lire une politique. Renvoie une politique. Ouvert à tout membre du tenant. Répond 404 not_found.

Route : /v1/policies/{policy_id} (GET).

NomTypeDéfautRequisDescription
idStringouiIdentifiant (UUID) de la politique.

Retour : JsonNode. Réponse JSON décodée de l'opération « Lire une politique ».

Erreurs levées : les erreurs typées du transport (Erreurs).

PoliciesClient.list​

Page<JsonNode> list()

Lister les politiques. Liste les politiques du tenant dans l'ordre d'évaluation (priorité, puis nom), avec leurs règles ou leur Rego. Ouvert à tout membre du tenant. next_cursor vaut toujours null.

Route : /v1/policies (GET).

Cet élément ne prend aucun paramètre.

Retour : Page<JsonNode>. Réponse JSON décodée de l'opération « Lister les politiques ».

Erreurs levées : les erreurs typées du transport (Erreurs).

PoliciesClient.listBundles​

JsonNode listBundles()

Lister les bundles OPA. Liste les bundles OPA publiés pour le tenant : révision, SHA-256, état de signature, politiques incluses et date. Exige tenant_admin, security_officer ou auditor.

Route : /v1/policies/bundles (GET).

Cet élément ne prend aucun paramètre.

Retour : JsonNode. Réponse JSON décodée de l'opération « Lister les bundles OPA ».

Erreurs levées : les erreurs typées du transport (Erreurs).

PoliciesClient.replace​

JsonNode replace(String id, Object body)

Remplacer une politique. Remplace tous les champs de la politique et ajoute une révision update. Même validation qu'à la création (rego pour opa, nom unique). Une politique opa est poussée dans OPA sauf si OPA charge des bundles. Exige tenant_admin ou security_officer. Écrit l'événement d'audit policy.update. Répond 404 not_found pour une politique inconnue.

Route : /v1/policies/{policy_id} (PUT).

NomTypeDéfautRequisDescription
idStringouiIdentifiant (UUID) de la politique.
bodyObjectouiNouveau contenu complet de la politique.

Retour : JsonNode. Réponse JSON décodée de l'opération « Remplacer une politique ».

Erreurs levées : les erreurs typées du transport (Erreurs).

PoliciesClient.replace​

JsonNode replace(String id, Object body, RequestOptions options)

Remplacer une politique. Remplace tous les champs de la politique et ajoute une révision update. Même validation qu'à la création (rego pour opa, nom unique). Une politique opa est poussée dans OPA sauf si OPA charge des bundles. Exige tenant_admin ou security_officer. Écrit l'événement d'audit policy.update. Répond 404 not_found pour une politique inconnue.

Route : /v1/policies/{policy_id} (PUT).

NomTypeDéfautRequisDescription
idStringouiIdentifiant (UUID) de la politique.
bodyObjectouiNouveau contenu complet de la politique.
optionsRequestOptionsouiOptions de l'appel (clé d'idempotence, traceparent, en-têtes, signal d'annulation).

Retour : JsonNode. Réponse JSON décodée de l'opération « Remplacer une politique ».

Erreurs levées : les erreurs typées du transport (Erreurs).

PoliciesClient.revisionDiff​

JsonNode revisionDiff(String policyId)

Comparer deux révisions d'une politique. Renvoie les différences entre deux révisions de la politique. Par défaut : la révision précédente face à la dernière. La politique est d'abord recherchée (404 not_found), puis les révisions (404 not_found). Exige tenant_admin, security_officer, auditor ou developer.

Route : /v1/policies/{policy_id}/revisions/diff (GET).

NomTypeDéfautRequisDescription
policyIdStringouiIdentifiant (UUID) de la politique.

Retour : JsonNode. Réponse JSON décodée de l'opération « Comparer deux révisions d'une politique ».

Erreurs levées : les erreurs typées du transport (Erreurs).

PoliciesClient.revisionDiff​

JsonNode revisionDiff(String policyId, Map<String, ?> query)

Comparer deux révisions d'une politique. Renvoie les différences entre deux révisions de la politique. Par défaut : la révision précédente face à la dernière. La politique est d'abord recherchée (404 not_found), puis les révisions (404 not_found). Exige tenant_admin, security_officer, auditor ou developer.

Route : /v1/policies/{policy_id}/revisions/diff (GET).

NomTypeDéfautRequisDescription
policyIdStringouiIdentifiant (UUID) de la politique.
queryMap<String, ?>ouiParamètres de la chaîne de requête de la route.

Retour : JsonNode. Réponse JSON décodée de l'opération « Comparer deux révisions d'une politique ».

Erreurs levées : les erreurs typées du transport (Erreurs).

PoliciesClient.revisions​

JsonNode revisions(String policyId)

Lister les révisions d'une politique. Liste les révisions immuables de la politique (une par création, modification et suppression, écrite dans la même transaction), avec leur numéro, opération, auteur, date et contenu. Exige tenant_admin, security_officer, auditor ou developer. Répond 404 not_found.

Route : /v1/policies/{policy_id}/revisions (GET).

NomTypeDéfautRequisDescription
policyIdStringouiIdentifiant (UUID) de la politique.

Retour : JsonNode. Réponse JSON décodée de l'opération « Lister les révisions d'une politique ».

Erreurs levées : les erreurs typées du transport (Erreurs).

PoliciesClient.simulate​

JsonNode simulate(Object body)

Simuler une politique candidate. Compare, entrée par entrée, les décisions des politiques actives avec celles du même ensemble où la candidate remplace policy_id (ou est ajoutée). Rien n'est modifié.

Route : /v1/policies/simulate (POST).

NomTypeDéfautRequisDescription
bodyObjectouiPolitique candidate, politique remplacée, entrées et nombre de décisions enregistrées à rejouer.

Retour : JsonNode. Réponse JSON décodée de l'opération « Simuler une politique candidate ».

Erreurs levées : les erreurs typées du transport (Erreurs).

PoliciesClient.simulate​

JsonNode simulate(Object body, RequestOptions options)

Simuler une politique candidate. Compare, entrée par entrée, les décisions des politiques actives avec celles du même ensemble où la candidate remplace policy_id (ou est ajoutée). Rien n'est modifié.

Route : /v1/policies/simulate (POST).

NomTypeDéfautRequisDescription
bodyObjectouiPolitique candidate, politique remplacée, entrées et nombre de décisions enregistrées à rejouer.
optionsRequestOptionsouiOptions de l'appel (clé d'idempotence, traceparent, en-têtes, signal d'annulation).

Retour : JsonNode. Réponse JSON décodée de l'opération « Simuler une politique candidate ».

Erreurs levées : les erreurs typées du transport (Erreurs).