Open Policy Agent

Open Policy Agent (OPA) est un moteur de politiques open source et polyvalent qui permet une application de politiques unifiée et contextuelle sur l'ensemble de la pile.
OPA est fier d'être un projet diplômé dans l'écosystème de la Cloud Native Computing Foundation (CNCF). Pour plus de détails, consultez l'annonce de la CNCF.
Commencer avec OPA
- Écrivez votre première politique Rego avec le Rego Playground ou utilisez-le pour partager votre travail avec d'autres afin d'obtenir des retours et de l'aide. Jetez un œil aux exemples de Contrôle d'accès si vous ne savez pas par où commencer.
- Installez l'extension VS Code pour démarrer localement avec des diagnostics en direct, le débogage et le formatage. Consultez Prise en charge des éditeurs et IDE pour les autres éditeurs pris en charge.
- Rendez-vous sur la Documentation OPA pour en savoir plus sur le langage Rego ainsi que sur le déploiement et l'intégration d'OPA.
- Consultez les ressources d'apprentissage dans la section Apprendre Rego de l'annuaire de l'écosystème.
- Suivez les instructions Exécuter OPA pour démarrer avec l'interface CLI d'OPA en local.
- Consultez Docker Hub pour les images de conteneurs et les versions GitHub pour les binaires.
- Consultez la Feuille de route OPA pour voir un aperçu de haut niveau des fonctionnalités d'OPA en cours et prévues.
Vous voulez parler d'OPA ou obtenir de l'aide ?
- Rejoignez le Slack OPA pour discuter avec d'autres utilisateurs et mainteneurs d'OPA. Consultez
#help pour le support.
- Consultez les Discussions communautaires pour poser des questions.
- Consultez la page Support pour les options de support commercial.
Vous souhaitez découvrir ce que d'autres font avec OPA ?
- Parcourez les projets communautaires dans l'Annuaire de l'écosystème OPA - n'oubliez pas de référencer le vôtre !
- Consultez le fichier ADOPTERS.md pour une liste des adoptants en production. Votre organisation utilise-t-elle OPA en production ? Soutenez le projet OPA en soumettant une PR pour ajouter votre organisation à la liste avec une brève description de vos cas d'utilisation d'OPA !
Vous souhaitez intégrer OPA ?
- Consultez le SDK Go de haut niveau ou l'API Go de bas niveau
pour intégrer OPA à des services écrits en Go.
- Consultez la référence de l'API REST
pour intégrer OPA à des services écrits dans d'autres langages.
- Consultez la documentation d'intégration pour plus d'options.
Vous souhaitez contribuer à OPA ?
- Lisez le Guide de contribution pour apprendre comment faire votre première contribution.
- Utilisez #contributors sur Slack pour discuter avec d'autres contributeurs et mainteneurs d'OPA.
- Ouvrez un problème GitHub pour demander des fonctionnalités ou signaler des bogues.
OPA vous offre un langage déclaratif de haut niveau pour rédiger et appliquer des politiques
sur l'ensemble de votre pile.
Avec OPA, vous définissez des règles qui régissent le comportement de votre système. Ces
règles existent pour répondre à des questions comme :
- L'utilisateur X peut-il appeler l'opération Y sur la ressource Z ?
- Vers quels clusters la charge de travail W doit-elle être déployée ?
- Quelles étiquettes doivent être définies sur la ressource R avant sa création ?
Vous intégrez des services avec OPA afin que ce type de décisions politiques n'ait pas à être
codé en dur dans votre service. Les services s'intègrent avec OPA en
exécutant des requêtes lorsque des décisions politiques sont nécessaires.
Lorsque vous interrogez OPA pour une décision politique, OPA évalue les règles et les données
(que vous lui fournissez) pour produire une réponse. La décision politique est renvoyée comme
résultat de la requête.
Par exemple, dans un cas d'utilisation simple d'autorisation d'API :
- Vous écrivez des règles qui autorisent (ou refusent) l'accès aux API de votre service.
- Votre service interroge OPA lorsqu'il reçoit des requêtes API.
- OPA renvoie des décisions d'autorisation (ou de refus) à votre service.
- Votre service applique les décisions en acceptant ou en rejetant les requêtes en conséquence.
Pour des exemples concrets d'intégration d'OPA avec des systèmes comme
Kubernetes,
Terraform,
Docker,
SSH,
et bien d'autres, consultez openpolicyagent.org.
Présentations
- Open Policy Agent (OPA) Intro & Deep Dive @ Kubecon EU 2026 : vidéo
- Open Policy Agent (OPA) Intro & Deep Dive @ Kubecon NA 2025 : vidéo
- Open Policy Agent (OPA) Intro & Deep Dive @ Kubecon EU 2025 : vidéo
- Open Policy Agent (OPA) Intro & Deep Dive @ Kubecon NA 2024 : vidéo
- Open Policy Agent (OPA) Intro & Deep Dive @ Kubecon EU 2024 : vidéo
- Open Policy Agent (OPA) Intro & Deep Dive @ Kubecon NA 2023 : vidéo
- Open Policy Agent (OPA) Intro & Deep Dive @ Kubecon EU 2023 : vidéo
- Running Policy in Hard to Reach Places with WASM & OPA @ CN Wasm Day EU 2023 : vidéo
- OPA maintainers talk @ Kubecon NA 2022 : vidéo
- Open Policy Agent (OPA) Intro & Deep Dive @ Kubecon EU 2022 : vidéo
- Open Policy Agent Intro @ KubeCon EU 2021 : Vidéo
- Using Open Policy Agent to Meet Evolving Policy Requirements @ KubeCon NA 2020 : vidéo
- Applying Policy Throughout The Application Lifecycle with Open Policy Agent @ CloudNativeCon 2019 : vidéo
- Open Policy Agent Introduction @ CloudNativeCon EU 2018 : vidéo, diapositives
- Rego Deep Dive @ CloudNativeCon EU 2018 : vidéo, diapositives
- How Netflix Is Solving Authorization Across Their Cloud @ CloudNativeCon US 2017 : , .
Sécurité
Un audit de sécurité tiers a été réalisé par Cure53, vous pouvez consulter le rapport complet ici.
Veuillez signaler les vulnérabilités par e-mail à open-policy-agent-security.
Nous enverrons un message de confirmation pour accuser réception du
rapport, puis nous enverrons des messages supplémentaires pour assurer le suivi une fois le problème
examiné.