permitio / opal

Policy and data administration, distribution, and real-time updates on top of Policy Agents (OPA, Cedar, ...)
https://opal.ac
Apache License 2.0
5.14k stars 179 forks source link

Add OpenFGA as a Policy Store #661

Open gemanor opened 2 months ago

gemanor commented 2 months ago

An OPAL policy-store is an interface that enables OPAL to manage policy-engines that can make authorization decisions via OPAL clients.

This issue is a feature request to add OpenFGA as a policy-store in OPAL alongside the existing supported policy stores (OPA and Cedar) so developers can better manage OpenFGA services.

Acceptance criteria:

gemanor commented 2 months ago

/bounty $1500

algora-pbc[bot] commented 2 months ago

💎 $1,500 bounty • Permit.io

Steps to solve:

  1. Start working: Comment /attempt #661 with your implementation plan
  2. Submit work: Create a pull request including /claim #661 in the PR body to claim the bounty
  3. Receive payment: 100% of the bounty is received 2-5 days post-reward. Make sure you are eligible for payouts

Thank you for contributing to permitio/opal!

Add a bounty • Share on socials

Attempt Started (GMT+0) Solution
🟢 @benya7 Sep 18, 2024, 12:14:54 PM WIP
🟢 @onyedikachi-david Sep 20, 2024, 2:55:29 PM WIP
🔴 @debaa98 Oct 15, 2024, 11:04:27 AM WIP
🟢 @daveads #673
benya7 commented 2 months ago

Hi @gemanor! I'm very interested in working on this task. Can I be assigned? Thank you.

/attempt #661

Algora profile Completed bounties Tech Active attempts Options
@benya7 2 bounties from 2 projects
TypeScript, JavaScript,
Vue & more
Cancel attempt
gemanor commented 2 months ago

Hey @benya7, sure! Please share your working plan for this, so we can expect timelines, etc.

onyedikachi-david commented 2 months ago

/attempt #661

@gemanor do you accept multiple submissions for this?

Algora profile Completed bounties Tech Active attempts Options
@onyedikachi-david 7 bounties from 4 projects
JavaScript, Shell
Cancel attempt
benya7 commented 2 months ago

Hey @benya7, sure! Please share your working plan for this, so we can expect timelines, etc.

@gemanor Thanks for that! Here is my implementation plan.

Research OpenFGA API and OPAL's Policy-Store Architecture (3 days):

  • Study OpenFGA's API and data model.
  • Review existing policy stores (OPA, Cedar) in OPAL to understand the integration points, especially for fetching, syncing, and authorization patterns.

Development (2 weeks):

  • Integrate OpenFGA as a policy store within OPAL.
  • Implement Git-based auto-sync for OpenFGA policies.
  • Enable external data fetching and provide Docker Compose setup for single/multiple clients.

Testing, Documentation & Demo (1 week):

  • Write unit tests with 100% coverage.
  • Build integration tests with example ReBAC policies and mock data.
  • Write documentation for configuring OpenFGA in OPAL and Docker Compose examples.

I hope this is acceptable to you. Please let me know if you would like any changes.

gemanor commented 2 months ago

Sounds good to me! Looking forward for updates.

gemanor commented 1 month ago

Hey @benya7 I'll be happy if you can share your progress points here so we can track it :)

varshith257 commented 1 month ago

@gemanor It's been a week without any visible activity from @benya7. I'd like to take over this issue. I have strong experience with Docker and have worked with Kubernetes policies, particularly with Kyverno. Additionally, I have a solid Python background and I feel confident in integrating OpenFGA into OPAL as a new policy store.

I've already reviewed the existing OPA and Cedar policy store implementations and now have a clear understanding of how to proceed with adding OpenFGA.

gemanor commented 1 month ago

Since we haven't seen any progress from @benya7 for the last four days, we are reassigning it to @daveads, who initially asked to take this issue.

@daveads, please share your plan for this ticket, including timeframes.

@varshith257 @onyedikachi-david, we will open similar tickets soon. Keep watching.

daveads commented 1 month ago

@gemanor Yea sure... already experimenting with OpenFGA...

will share my plan for this ticket here by Monday and constantly update you with my progress via Slack.

gemanor commented 1 month ago

Thanks @daveads, better to update here on the progress, to keep it open and collaborative.

daveads commented 1 month ago

Thanks @daveads, better to update here on the progress, to keep it open and collaborative.

okayy

thekumbhaj commented 1 month ago

Hey @daveads I would like to collabrate with you in this collabrations

thekumbhaj commented 1 month ago

attempt #661

daveads commented 1 month ago

Hey @daveads I would like to collabrate with you in this collabrations

@thekumbhaj Am almost done.

thekumbhaj commented 1 month ago

@daveads let know when it's done....

debaa98 commented 1 month ago

hey @gemanor can i work in this issue? /attempt #661

algora-pbc[bot] commented 4 weeks ago

💡 @daveads submitted a pull request that claims the bounty. You can visit your bounty board to reward.