mirror of
https://github.com/open-policy-agent/opa.git
synced 2026-08-19 06:51:18 -06:00
331 lines
14 KiB
HTML
Executable File
331 lines
14 KiB
HTML
Executable File
<!DOCTYPE html>
|
||
<html>
|
||
<head>
|
||
<meta charset="utf-8">
|
||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/animate.css/3.5.2/animate.min.css">
|
||
<link href="https://fonts.googleapis.com/css?family=Roboto" rel="stylesheet">
|
||
<link rel="stylesheet" href="css/hamburgers.css" media="screen" charset="utf-8">
|
||
<link rel="stylesheet" href="css/style.css" media="screen" charset="utf-8">
|
||
<link rel="shortcut icon" href="images/favicon.png" type="image/x-icon"/>
|
||
<title>Open Policy Agent</title>
|
||
</head>
|
||
<body class="_homepage--body">
|
||
<section class="_homepage--banner">
|
||
|
||
<div class="_homepage--banner-cloud">
|
||
<img class="_homepage--banner-cloud-img" src="images/cloud.svg" alt="">
|
||
</div>
|
||
|
||
<header class="_homepage--header">
|
||
<div class="header _homepage--container">
|
||
|
||
<div class="_homepage--logo header--logo">
|
||
<a class="header--logo-link" href="/">
|
||
<img class="header--logo-image" src="images/opa-logo.svg" alt="" />
|
||
<p class="header--logo-txt">
|
||
Open Policy Agent
|
||
</p>
|
||
</a>
|
||
</div>
|
||
|
||
<nav class="_homepage--menu-mobile">
|
||
<button class="hamburger hamburger--spring" type="button" style="outline: none;">
|
||
<span class=" hamburger-box">
|
||
<span class="menu-mobile--hamburger-inner hamburger-inner"></span>
|
||
</span>
|
||
</button>
|
||
</nav>
|
||
|
||
<nav class="_homepage--menu-desktop header--menu">
|
||
<a class="header--link header--link_LONG" href="/docs">
|
||
<p class="header--menu-txt">
|
||
Documentation
|
||
</p>
|
||
</a>
|
||
<a class="header--link header--link_LONG" href="/docs/get-started.html">
|
||
<p class="header--menu-txt">
|
||
Tutorials
|
||
</p>
|
||
</a>
|
||
<a class="header--link header--link_LONG" href="https://blog.openpolicyagent.org/" target="_blank">
|
||
<img class="header--menu-image" src="images/Medium.svg" alt="" />
|
||
</a>
|
||
<a class="header--link header--link_SMALL" href="https://github.com/open-policy-agent/opa" target="_blank">
|
||
<img class="header--menu-image" src="images/Github.svg" alt="" />
|
||
</a>
|
||
<a class="header--link header--link_SMALL" href="http://slack.openpolicyagent.org/" target="_blank">
|
||
<img class="header--menu-image" src="images/Slack.svg" alt="" />
|
||
</a>
|
||
</nav>
|
||
|
||
</div>
|
||
</header>
|
||
|
||
<div class="_homepage--messages">
|
||
<div class="_homepage--container">
|
||
|
||
<h1 class="messages--main">
|
||
Policy-based control for cloud native environments
|
||
</h1>
|
||
<p class="messages--side">
|
||
Empower your administrators with flexible, fine-grained control across the entire stack.
|
||
</p>
|
||
|
||
<div class="messages--btns">
|
||
<a class="messages--btn-link" href="/docs/get-started.html">
|
||
<button class="messages--get-started-btn messages--btn base--button">
|
||
Get Started
|
||
</button>
|
||
</a>
|
||
<a class="messages--btn-link" href="/docs/">
|
||
<button class="messages--learn-more-btn messages--btn base--button">
|
||
Learn More
|
||
</button>
|
||
</a>
|
||
</div>
|
||
|
||
</div>
|
||
</div>
|
||
|
||
</section>
|
||
|
||
|
||
<section class="_homepage--value-section">
|
||
<div class="value-section--light-blue-wave-container">
|
||
<img class="value-section--light-blue-wave" src="/images/horizontal-light-blue-wave.svg" alt="">
|
||
</div>
|
||
<div class="value-section--boat-container">
|
||
<img class="value-section--boat" src="/images/boat.svg" alt="">
|
||
</div>
|
||
<div class="value-section--middle-blue-wave-container">
|
||
<img class="value-section--middle-blue-wave" src="/images/horizontal-dark-blue-wave.svg" alt="">
|
||
</div>
|
||
<div class="value-section--long-wave-container">
|
||
<img class="value-section--long-wave" src="/images/long-wave.svg" alt="">
|
||
</div>
|
||
|
||
<div class="value-section--values _homepage--container">
|
||
<div class="value-section--value-item-container">
|
||
<img class="value-section--value-img" src="/images/unified-icon.svg" alt="">
|
||
<h4 class="value-section--value-title">
|
||
Unified
|
||
</h4>
|
||
<p class="value-section--value-para">
|
||
Decouple policy decisions from your services to achieve unified control across the entire stack with any language or service.
|
||
</p>
|
||
</div>
|
||
<div class="value-section--value-item-container">
|
||
<img class="value-section--value-img" src="/images/declarative-icon.svg" alt="">
|
||
<h4 class="value-section--value-title">
|
||
Declarative
|
||
</h4>
|
||
<p class="value-section--value-para">
|
||
Express policies in a high-level declarative language that promotes safe, fine-grained logic and enables powerful features such as impact analysis, hot reloading, query optimization, and more.
|
||
</p>
|
||
</div>
|
||
<div class="value-section--value-item-container">
|
||
<img class="value-section--value-img" src="/images/context-icon.svg" alt="">
|
||
<h4 class="value-section--value-title">
|
||
Context-aware
|
||
</h4>
|
||
<p class="value-section--value-para">
|
||
Leverage arbitrary external document-oriented data (JSON) in policies to ensure that important requirements are enforced throughout the organization.
|
||
</p>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<section class="_homepage--use-case-section">
|
||
<div class="use-case-section--village-container">
|
||
<img class="use-case-section--village" src="/images/viking-village.svg" alt="">
|
||
</div>
|
||
|
||
<div class="use-case-section--use-case-title-container _homepage--container">
|
||
<div class="use-case-section--use-case-summary-container">
|
||
<h3 class="use-case-section--use-case-section-title">
|
||
Use Cases
|
||
</h3>
|
||
<p class="use-case-section--use-case-section-para">
|
||
OPA is a general-purpose policy engine that helps solve use cases ranging from authorization and admission control to resource placement. OPA provides greater flexibility and expressiveness than hard-coded service logic or ad-hoc domain-specific languages and comes with powerful tooling to help you get started.
|
||
</p>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="use-case-section--use-cases _homepage--container">
|
||
<div class="use-case-section--use-case-container use-case-section--microservices">
|
||
<h4 class="use-case-section--use-case-title">
|
||
Microservices
|
||
</h4>
|
||
<p class="use-case-section--use-case-para">
|
||
Deliver fine-grained access control across your microservice fleet.
|
||
</p>
|
||
<a class="use-case-section--btn-link" href="/docs/http-api-authorization.html">
|
||
<button class="use-case-section--btn base--button" type="button" name="button">
|
||
Check out HTTP API authorization in Python
|
||
</button>
|
||
</a>
|
||
</div>
|
||
<div class="use-case-section--use-case-container use-case-section--containers">
|
||
<h4 class="use-case-section--use-case-title">
|
||
Containers
|
||
</h4>
|
||
<p class="use-case-section--use-case-para">
|
||
Enforce important cost, security, and performance requirements in your platform layer.
|
||
</p>
|
||
<a class="use-case-section--btn-link" href="/docs/docker-authorization.html">
|
||
<button class="use-case-section--btn base--button" type="button" name="button">
|
||
Check out Docker API authorization
|
||
</button>
|
||
</a>
|
||
</div>
|
||
<div class="use-case-section--use-case-container use-case-section--infrastructure">
|
||
<h4 class="use-case-section--use-case-title">
|
||
Infrastructure
|
||
</h4>
|
||
<p class="use-case-section--use-case-para">
|
||
Extend policy-based control down to your infrastructure components with OPA.
|
||
</p>
|
||
<a class="use-case-section--btn-link" href="/docs/ssh-and-sudo-authorization.html">
|
||
<button class="use-case-section--btn base--button" type="button" name="button">
|
||
Check out SSH and sudo authorization
|
||
</button>
|
||
</a>
|
||
</div>
|
||
|
||
</div>
|
||
</section>
|
||
|
||
<section class="_homepage--key-features-section">
|
||
<div class="key-features-section--dark-blue-long-wave-container">
|
||
<img class="key-features-section--dark-blue-long-wave" src="images/long-wave-dark-blue.svg" alt="">
|
||
</div>
|
||
<div class="key-features-section--sea-plants-container">
|
||
<img class="key-features-section--sea-plants" src="images/sea-plants.svg" alt="">
|
||
</div>
|
||
<h3 class="_homepage--container key-features-section--section-title">
|
||
Key Features
|
||
</h3>
|
||
|
||
<div class="_homepage--container key-features-section--key-features">
|
||
<div class="key-features-section--row-container">
|
||
<div class="key-features-section--key-feature-container">
|
||
<h4 class="key-features-section--key-feature-title">
|
||
Decoupled
|
||
</h4>
|
||
<p class="key-features-section--key-feature-para">
|
||
Administrators can manage policies dynamically without requiring changes to services.
|
||
</p>
|
||
</div>
|
||
<div class="key-features-section--key-feature-container">
|
||
<h4 class="key-features-section--key-feature-title">
|
||
Easy to Deploy
|
||
</h4>
|
||
<p class="key-features-section--key-feature-para">
|
||
OPA has zero deployment dependencies. It runs as a daemon side-by-side with your service and shares its fate for the purposes of high availabilty.
|
||
</p>
|
||
</div>
|
||
</div>
|
||
<div class="key-features-section--row-container">
|
||
<div class="key-features-section--key-feature-container">
|
||
<h4 class="key-features-section--key-feature-title">
|
||
Compatible
|
||
</h4>
|
||
<p class="key-features-section--key-feature-para">
|
||
OPA’s RESTful APIs use JSON over HTTP so you can integrate OPA with your service no matter which programming language you use.
|
||
</p>
|
||
</div>
|
||
<div class="key-features-section--key-feature-container">
|
||
<h4 class="key-features-section--key-feature-title">
|
||
Responsive
|
||
</h4>
|
||
<p class="key-features-section--key-feature-para">
|
||
OPA is designed from scratch with latency-sensitive applications in mind, enforcing policies with minimal performance impact.
|
||
</p>
|
||
</div>
|
||
</div>
|
||
<div class="key-features-section--row-container">
|
||
<div class="key-features-section--key-feature-container">
|
||
<h4 class="key-features-section--key-feature-title">
|
||
Interactive
|
||
</h4>
|
||
<p class="key-features-section--key-feature-para">
|
||
Anyone can use OPA’s interactive shell to quickly experiment with queries and data sets.
|
||
</p>
|
||
</div>
|
||
<div class="key-features-section--key-feature-container">
|
||
<h4 class="key-features-section--key-feature-title">
|
||
Embeddable
|
||
</h4>
|
||
<p class="key-features-section--key-feature-para">
|
||
Services written with Go can use OPA as a library and do not need to run a separate daemon.
|
||
</p>
|
||
</div>
|
||
</div>
|
||
|
||
</div>
|
||
</section>
|
||
|
||
<footer class="_homepage--footer">
|
||
<p class="footer--text">
|
||
© 2017 Open Policy Agent contributors. Licensed under the <a class="footer--link" href="http://www.apache.org/licenses/LICENSE-2.0" target="_blank">Apache License, Version 2.0</a>. For information about contributing, see <a class="footer--link" href="https://github.com/open-policy-agent/opa/blob/master/CONTRIBUTING.md" target="_blank">CONTRIBUTING.md</a>.
|
||
</p>
|
||
</footer>
|
||
|
||
<nav class="_homepage--hamburger-menu-container">
|
||
|
||
<a class="header--hamburger-menu-link" href="/docs">
|
||
<li class="header--hamburger-menu-item">
|
||
<p class="header--menu-txt">
|
||
Documentation
|
||
</p>
|
||
</li>
|
||
</a>
|
||
|
||
<a class="header--hamburger-menu-link" href="/docs/get-started.html">
|
||
<li class="header--hamburger-menu-item">
|
||
<p class="header--menu-txt">
|
||
Tutorials
|
||
</p>
|
||
</li>
|
||
</a>
|
||
|
||
<a class="header--hamburger-menu-link" href="https://blog.openpolicyagent.org/" target="_blank">
|
||
<li class="header--hamburger-menu-item">
|
||
<img class="header--menu-image" src="images/Medium.svg" alt="" />
|
||
</li>
|
||
</a>
|
||
|
||
<a class="header--hamburger-menu-link" href="https://github.com/open-policy-agent/opa" target="_blank">
|
||
<li class="header--hamburger-menu-item">
|
||
<img class="header--menu-image" src="images/Github.svg" alt="" />
|
||
</li>
|
||
</a>
|
||
|
||
<a class="header--hamburger-menu-link" href="http://slack.openpolicyagent.org/" target="_blank">
|
||
<li class="header--hamburger-menu-item">
|
||
<img class="header--menu-image" src="images/Slack.svg" alt="" />
|
||
</li>
|
||
</a>
|
||
|
||
|
||
</nav>
|
||
|
||
<script src="https://use.typekit.net/zni0cwi.js"></script>
|
||
<script>try{Typekit.load({ async: true });}catch(e){}</script>
|
||
|
||
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.3/jquery.min.js"></script>
|
||
<script type="text/javascript" src="js/opa.js"></script>
|
||
|
||
<script>
|
||
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
|
||
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
|
||
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
|
||
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
|
||
ga('create', 'UA-84550302-1', 'auto');
|
||
ga('send', 'pageview');
|
||
</script>
|
||
</body>
|
||
</html>
|