Live data from Hacker News

Open Policy Agent

openpolicyagent.org

11–20 of 46 posts

Re: Open Policy Agent

#11
post #7

Curious what folks think about this versus cedar ( https://www.cedarpolicy.com/ ), the open source policy engine behind aws verified permissions.

I detailed a comparison of OPA and Cedar with verified permissions here: https://www.styra.com/knowledge-center/opa-vs-cedar-aws-veri...

Re: Open Policy Agent

#12
OPA is a great tool for implementing a policy-as-code system. But if you're trying to use it for application authorization (e.g. fine-grained authz for B2B SaaS or a set of internal applications), you may find that its policy story is strong, but it doesn't really have a "data plane": you either store data in a data.json file and rebuild the policy any time that data changes, or make an http.send call out of the policy to fetch dynamic data.

Check out Topaz [0], which uses OPA as its decision engine, but adds a data plane that is based on the ReBAC ideas explored in the Google Zanzibar [1] paper.

Disclaimer: I work on the team [2] that builds and maintains the Topaz project.

[0] https://www.topaz.sh

[1] https://research.google/pubs/zanzibar-googles-consistent-glo...

[2] https://www.aserto.com

Re: Open Policy Agent

#13
post #5
post #3

OPA was one of the most cursed things I have ever worked with.

OPA, or rego? My experience working for Styra was that most people seemed to grok where OPA fit in fairly quickly, but struggled with rego. It's a very powerful language and well worth learning I think, but it's an investment for sure.

I agree, Rego was a hell of a thing to try and figure out.

Re: Open Policy Agent

#14
post #12

OPA is a great tool for implementing a policy-as-code system. But if you're trying to use it for application authorization (e.g. fine-grained authz for B2B SaaS or a set of internal applications), you may find that its policy story is strong, but it doesn't really have a "data plane": you either store data in a data.json file and rebuild the policy any time that data changes, or make an http.send call out of the poli…

Bundle servers provide a centralized "data plane" decoupled from the distributed component (OPA). You don't need to rebuild your policy any time data changes. Just push a new bundle with the data that changed, and OPA will fetch it as configured — either periodically or directly if long polling is configured.

https://www.openpolicyagent.org/docs/latest/management-bundl...

Re: Open Policy Agent

#15
post #7

Curious what folks think about this versus cedar ( https://www.cedarpolicy.com/ ), the open source policy engine behind aws verified permissions.

I detailed a comparison of OPA and Cedar with verified permissions here: https://www.styra.com/knowledge-center/opa-vs-cedar-aws-veri...

Seems pretty damning. Why would someone choose Cedar? Is there some upside that isn’t captured here?

Re: Open Policy Agent

#16
Also checkout OPAL too https://docs.opal.ac/ which works with OPA to add a delivery layer and keep stuff in sync.

There's some other interesting work with spiffe/spire that I've been investingating for $WORK, could be useful to some on this path https://spiffe.io/docs/latest/microservices/envoy-opa/readme...

Re: Open Policy Agent

#17
I have found OPA to be a fairly reliable and performant system in production. We were able to build a scalable RBAC solution that used OPA as evaluators. We had around 40k OPA instances serving around 350K qps with p99.9 hovering around 6ms.

You can find our talk here https://www.styra.com/resources/videos/snap-inc--snaps-journ...

Re: Open Policy Agent

#18

I have found OPA to be a fairly reliable and performant system in production. We were able to build a scalable RBAC solution that used OPA as evaluators. We had around 40k OPA instances serving around 350K qps with p99.9 hovering around 6ms. You can find our talk here https://www.styra.com/resources/videos/snap-inc--snaps-journ...

~9qps per instance doesn't sound all that impressive unless there's more context to it?

Re: Open Policy Agent

#19
post #18

I have found OPA to be a fairly reliable and performant system in production. We were able to build a scalable RBAC solution that used OPA as evaluators. We had around 40k OPA instances serving around 350K qps with p99.9 hovering around 6ms. You can find our talk here https://www.styra.com/resources/videos/snap-inc--snaps-journ...

~9qps per instance doesn't sound all that impressive unless there's more context to it?

Unless “instance” means something different in this context? Policy?

Re: Open Policy Agent

#20

I have found OPA to be a fairly reliable and performant system in production. We were able to build a scalable RBAC solution that used OPA as evaluators. We had around 40k OPA instances serving around 350K qps with p99.9 hovering around 6ms. You can find our talk here https://www.styra.com/resources/videos/snap-inc--snaps-journ...

[deleted]
Post reply on HN