Intégration
Open Policy Agent et Rego
Open Policy Agent (OPA) est le standard de facto pour le policy-as-code, utilisant le langage de politiques Rego pour Kubernetes, les API, les microservices et l'infrastructure.
Big ACL + Open Policy Agent
Big ACL sert de Point d'Administration des Politiques pour OPA, en fournissant :
- Du langage naturel au Rego – Écrivez des politiques en français, exportez en Rego
- Test des politiques – Validez les politiques Rego avec des cas de test générés
- Génération de bundles – Créez des bundles OPA pour le déploiement
- Support multi-PDP – Même modèle de politiques pour OPA et Amazon Verified Permissions
- Contrôle de version – Suivez les changements de politiques avec un historique d'audit complet
Entrée Big ACL (langage naturel) :
« Les utilisateurs ne peuvent accéder qu'aux ressources de leur région assignée »
Rego généré :
package authz
import rego.v1
default allow := false
allow if {
input.user.region == input.resource.region
} Générez des politiques Rego pour OPA avec Big ACL
Commencer gratuitementQu'est-ce qu'Open Policy Agent ?
Open Policy Agent (OPA) est un projet diplômé CNCF qui fournit un moteur de politiques généraliste. Il découple la prise de décision de politiques de la logique de votre application.
- Cloud native – Conçu pour Kubernetes et les microservices
- Agnostique du langage – Fonctionne avec tout langage de programmation
- Déclaratif – Politiques écrites en langage Rego
- Haute performance – Politiques compilées pour une évaluation rapide
- Extensible – Fonctions intégrées personnalisées et sources de données
Qu'est-ce que Rego ?
Rego est le langage de politiques d'OPA, inspiré de Datalog. Il est conçu pour interroger des structures de données imbriquées complexes et exprimer des décisions de politiques.
package authz
import rego.v1
default allow := false
# Autoriser les utilisateurs à lire leur propre profil
allow if {
input.action == "read"
input.resource.type == "profile"
input.resource.owner == input.user.id
}
# Autoriser les admins à effectuer toute action
allow if {
input.user.role == "admin"
}
# Autoriser les managers à approuver les dépenses sous leur limite
allow if {
input.action == "approve"
input.resource.type == "expense"
input.user.role == "manager"
input.resource.amount < input.user.approval_limit
} Cas d'usage d'OPA
Contrôle d'admission Kubernetes
Valider et modifier les ressources Kubernetes avec Gatekeeper
Autorisation API
Appliquer des politiques d'accès sur les API REST et GraphQL
Autorisation des microservices
Application décentralisée des politiques avec intégration Envoy
Infrastructure as Code
Valider les plans Terraform avec Conftest
Filtrage de données
Générer des requêtes partielles pour l'application au niveau base de données
OPA comme Point de Décision des Politiques
OPA agit comme un Point de Décision des Politiques (PDP) dans votre architecture d'autorisation :
PAP
Big ACL crée les politiques Rego
PDP
OPA évalue les politiques
PEP
Les apps appliquent les décisions
OPA vs Amazon Verified Permissions
OPA et Amazon Verified Permissions sont tous deux des Points de Décision des Politiques, mais servent des cas d'usage différents :
| Aspect | OPA | AVP |
|---|---|---|
| Déploiement | Auto-hébergé | Managé par AWS |
| Langage | Rego | Cedar |
| Idéal pour | K8s, infrastructure | Autorisation applicative |
| Écosystème | CNCF, Envoy, K8s | Services AWS |