Skip to main content

Fine-Grained News - July 2024

· 5 min read
Caleb Hunter
Community Engagement

Welcome to the July 2024 edition of Fine-Grained News! We are thrilled to bring you the latest updates, features, and community highlights from OpenFGA. This month has included releases, performance improvements, and insights shared through our community meetings and presentations.

We value your feedback and invite you to participate in our 2024 OpenFGA Community Survey. Your insights help us understand your needs better and improve our offerings. Please take a few minutes to complete the survey and let your voice be heard.

Improvements

Latest Features

  • We’ve introduced consistency options for query requests. This new, experimental, feature provides more flexibility and control over how queries are executed, enhancing the accuracy and reliability of query results. Learn more about this update.

  • We’re now publishing images to ghcr.io/openfga/openfga as an alternative to DockerHub, thanks to the contribution from @JAORMX. This provides an additional option for accessing and deploying our containers. Read more.

Performance Improvements

  • We've improved our Check latency up to 20X in some scenarios in OpenFGA v1.5.7 and v1.5.6.

If you have any feedback, or want to try a feature early, or are interested to learn more, please reach out!

Breaking Changes

Several breaking changes related to the storage interface have been introduced. These changes should not impact your usage of OpenFGA unless you are implementing a custom storage adapter for OpenFGA.

In Progress

  • Additional Consistency Options for OpenFGA queries: We've just shipped the first iteration of this feature, we're working on adding support for it in more SDKs. We’ll also be working on adding a consistency token in the future.

  • Telemetry for SDKs: We shipped OpenTelemetry Metrics support for Python and Javascript. We’ll be adding metrics support to the rest of the SDKs and then add support for tracing and logging. If you have feedback regarding our OpenTelemetry support, please do reach out on any of our community channels.

  • We’ll keep working on Performance Improvements for Check, List Objects and List Users APIs.

  • We’ll be adding additional authorization options for OpenFGA to restrict API credentials to performing specific actions in OpenFGA stores.

  • We collaborated with members of the CNCF TAG-Security team for a few weeks to get it wrapped up (thanks Krishna Krishna and Eddie for your help).

Community Highlights

  • Check out July’s Community Meeting! It's a great opportunity to stay updated with the latest developments, ask questions, and engage with the OpenFGA community.

  • Maria Ines Parnisari from the OpenFGA team and Evan Anderson from Stacklok presented on Implementing a Multi-Tenant, Relationship-Based Authorization Model with OpenFGA at CloudNative SecurityCon North America. If you didn’t attend the conference in June, the presentation recording is now live.

  • This month, Andres Aguiar and Damian Schenkelman appeared in the Identerati Office Hours livestream for an in-depth exploration of OpenFGA. This video covers advanced topics and provides valuable insights into the capabilities and implementation of OpenFGA. Whether you're a seasoned user or new to OpenFGA, this deep dive is packed with information that will enhance your understanding and usage of the platform.

  • Andres Aguiar sat down with Open at Intel host Katherine Druckman during KubeCon Europe to discuss OpenFGA. You can hear that podcast here.

New Adopters

We’re happy to share that Bump is now an OpenFGA adopter! If you are using OpenFGA in production, please consider adding your company or project to our list. Your contribution will be greatly appreciated!

Announcements

Join us for our monthly Community Meetings, held on the second Thursday of every month at 11am Eastern Time (US). Our next meeting is on Thursday, August 8, 2024. These meetings are a fantastic opportunity to stay updated with the latest developments, ask questions, and engage with the OpenFGA community. You can find the link to the meeting invite here. We look forward to seeing you there!

Transitioning from Discord to CNCF's Slack

As a reminder, we transitioned out from Discord for OpenFGA and are now using the CNCF #openfga Slack channel. If you are not part of the CNCF Slack workspace, you need to join the CNCF Slack first.

See You Next Month!

Fine-Grained News is published every month. If you have any feedback, want to share your OpenFGA story, or have a noteworthy update, please let us know on any of our community channels or at [email protected].

Query Consistency Options in OpenFGA

· 2 min read
Andres Aguiar
Product Manager

OpenFGA query APIs now allow specifying the desired consistency of query results. By default, OpenFGA does not use a cache. However, when caching is enabled, it applies to all requests. This means that any changes in permissions won't be reflected in authorization checks during the cache TTL period.

The community expressed the need for flexibility in using the cache on a per-request basis. In response, starting with OpenFGA v1.5.7, all query APIs can accept a consistency parameter with the following values:

NameDescription
MINIMIZE_LATENCY (default)OpenFGA will try to minimize latency (e.g. by making use of the cache)
HIGHER_CONSISTENCYOpenFGA will try to optimize for stronger consistency (e.g. by bypassing cache)

When HIGHER_CONSISTENCY is specified, OpenFGA reads directly from the database, even when the cache is enabled.

How to use it?

The new consistency parameter is available in OpenFGA starting v1.5.7.

The parameter is supported by all OpenFGA SDKs.

For more information on enabling the cache and best practices for specifying consistency values, refer to the documentation.

Custom database adapter implementations

For those with a custom database adapter for a multi-region database, the behavior of the HIGHER_CONSISTENCY parameter can be defined according to your needs. With an eventually consistent database (e.g., Dynamo DB) in a multi-region setup, there will be replication lag even if the cache is bypassed. If the database supports strong reads, you can choose to perform those at an extra cost. Otherwise, you can perform an eventually consistent read without providing full consistency semantics to the caller. In some other databases where you have Read/Write replicas, you may choose to go to the Write replica when the HIGHER_CONSISTENCY preference is selected.

Future work

Google Zanzibar features a consistency token called Zookies, returned from write operations. This token can be stored in a resource table and specified in subsequent query API calls. We are considering introducing a similar feature in future releases.

We want your feedback!

We want to learn how you use this API and how we can improve it!

Please reach out through our community channels with any questions or feedback.

Fine-Grained News - June 2024

· 4 min read
Andres Aguiar
Product Manager

Welcome to Fine-Grained News, June 2024 edition!

This is where we share what has been going on in the OpenFGA community during the last 30 days :).

What are we working on?

  • We started adding OpenTelemetry instrumentation to our SDKs. We just shipped metrics support for Python and Javascript. We'll continue with tracing and logging, and we'll be adding support for Java, Go and .NET next.

  • We are close to ship a first iteration to add additional consistency options for OpenFGA.

  • We are working with Krishna Kumar and Eddie Knight from the CNCF Tag-Security team on a joint security assessment for OpenFGA. We are pretty close to wrapping it up! You can follow the progress in this PR.

  • We'll be working on adding authorization for OpenFGA APIs.

  • We've identified a few areas where we can improve performance and we are actively working on them.

If you have any feedback, or want to try a feature early, or are interested to learn more, please reach out!

New Adopters

We are thrilled to welcome Sourcegraph to the list of companies in our Adopters list! We are proud to be addressing their fine-grained authorization needs.

If you are using OpenFGA in production, please consider adding your company/project to the list, it will be greatly appreciated!

Community

OpenFGA @ CloudNative SecurityCon

OpenFGA was present in CloudNative SecurityCon North America!

Maria Ines Parnisari from the OpenFGA team and Evan Anderson from Stacklok presented on Implementing a Multi-Tenant, Relationship-Based Authorization Model with OpenFGA.

CloudNative SecurityCon Presentation

We also got a last-minute kiosk to showcase OpenFGA at the event:

OpenFGA Kiosk

Thanks to everyone that stopped by!

Latest Features

In case you missed them, here are some of the latest major features we've added to OpenFGA:

Transitioning from Discord to CNCF's Slack

As we mentioned before, we transitioned out from Discord for OpenFGA and are now using the CNCF #openfga Slack channel. If you are not part of the CNCF Slack workspace, you need to join the CNCF Slack first.

Checkout https://openfga.dev/community for all the places to find us.

See you next month!

Fine-Grained News are published every month. If you have any feedback, want to share your OpenFGA story, or know about something that you think is worth mentioning, please let us know!

Fine-Grained News - May 2024

· 3 min read
Andres Aguiar
Product Manager

Welcome to Fine-Grained News, May edition!

New Releases!

What's Next

Please check the items above and let us know if you have any feedback or idea.

OpenFGA @ CloudNative SecurityCon

OpenFGA will be present in CloudNative SecurityCon North America!

Maria Ines Parnisari from the OpenFGA team and Evan Anderson from Stacklok will be presenting on Implementing a Multi-Tenant, Relationship-Based Authorization Model with OpenFGA.

We hope to see you there!

Latest Features

In case you missed them, here are some of the latest major features we've added to OpenFGA:

Transitioning from Discord to CNCF's Slack

As we mentioned before, we transitioned out from Discord for OpenFGA and are now using the CNCF #openfga Slack channel. If you are not part of the CNCF Slack workspace, you need to join the CNCF Slack first.

Checkout https://openfga.dev/community for all the places to find us.

See you next month!

Fine-Grained News are published every month. If you have any feedback, want to share your OpenFGA story, or know about something that you think is worth mentioning, please let us know!

List Users API

· 2 min read

Today we are launching a new API for OpenFGA: ListUsers.

This API will answer the question "what users have relation X with object Y?". This will be useful, for example, in UIs that want to display the list of users that a resource has been shared with, e.g. the "share" dialog in Google Docs.

You can read more about it in the API docs and the product documentation.

How to use it?

ListUsers is available in OpenFGA starting with v1.5.4.

To be able to call this API, you must turn on this flag on the server: --experimentals enable-list-users. Be sure to also check out the various configuration flags that were added to control its behavior.

The new functionality is available on the latest versions of the Java, .NET, Go and Javascript SDK, CLI and VS Code integration.

We'll be releasing support for the Python SDK soon.

We want your feedback!

We want to learn how you use this API and how we can improve it!

Please reach out through our community channels with any questions or feedback.

Fine-Grained News - April 2024

· 3 min read
Andres Aguiar
Product Manager

Welcome to Fine-Grained News, April edition!

New Releases!

  • Modular Models is now part of the OpenFGA core, making it easy for multiple teams to collaborate on a single OpenFGA model. Check it out, we love the feature! :)

  • Thanks to the help provided by the Spring Security team there's now a Spring Boot Starter for OpenFGA!

  • We shipped an OpenFGA Release Candidate with a new ListUsers API, that can be enabled with an experimental flag. ListUsers allows you to retrieve all the users that have a specific relation with a resource, for example, all users that can view a document.

OpenFGA Hackathon

A few weeks ago we hosted a Hackathon where multiple team members experimented new ideas around OpenFGA. You'll need to wait until the next community meeting to learn more :).

OpenFGA Security Assessment

We are working with the CNCF Tag-Security team on a joint security assessment, which is a step required to get accepted as a CNCF Incubation project.

What's Next

Please check the items above and let us know if you have any feedback or idea.

Transitioning from Discord to CNCF's Slack

As we mentioned in the last edition, we transitioned out from Discord for OpenFGA and are now using the CNCF #openfga Slack channel. If you are not part of the CNCF Slack workspace, you need to join the CNCF Slack first.

See you next month!

Fine-Grained News are published every month. If you have any feedback, want to share your OpenFGA story, or know about something that you think is worth mentioning, please let us know!

Modular Models

· 2 min read

Modular models aims to improve the model authoring experience when multiple teams are maintaining a model, such as:

  • A model can grow large and difficult to understand
  • As more teams begin to contribute to a model, the ownership boundaries may not be clear and code review processes might not scale

With modular models, a single model can be separated across multiple files allow grouping of types and conditions into modules. This means that a model can be organized more easily in terms of team or organizational structure. Used in conjunction with features such as GitHub, GitLab or Gitea's code owners, it should become easier to ensure the owners of a portion of your model are correctly assigned to review it.

How to use it?

Modular models is available in the latest version of OpenFGA. To use it you need to:

What's next?

Looking beyond the near term, modular models allows us to implement additional API authorization options for OpenFGA.

Reach out!

We want to learn how you use this feature and how we can improve it!

Please reach out through our community channels with any questions or feedback.

Fine-Grained News - March 2024

· 4 min read
Andres Aguiar
Product Manager

Welcome to Fine-Grained News, KubeCon Edition!

KubeCon Europe 2024 was super-busy!

You can now watch online:

Also, thanks to everyone who stopped by the OpenFGA Kiosk in the Project Pavilion to share their feedback about the project or learn more about it!

CNCF incubation

As you may know, the CNCF has three stages for projects: Sandbox, Incubation, and Graduation. OpenFGA is currently a Sandbox project.

We are very happy to announce that we just applied for Incubation! We are excited about this step and will keep you posted on the progress.

New Adopters

The OpenFGA community maintains a list of products/projects/companies that are using OpenFGA in production. We'd like to thank thank the following adopters for adding themselves to the list in the last month:

If you are using OpenFGA in production, please consider adding your company/project to the list.

Community News

New Releases

We just shipped a release candidate of Modular Models, that makes it easy for multiple teams to collaborate in a single OpenFGA model. It requires the following components:

We also shipped new version of our SDKs with several fixes:

Transitioning from Discord to CNCF's Slack

As we mentioned in the last edition, we transitioned out from Discord for OpenFGA and are now using the CNCF #openfga Slack channel. If you are not part of the CNCF Slack workspace, you need to join the CNCF Slack first.

See you next month!

Fine-Grained News are published every month. If you have any feedback, want to share your OpenFGA story, or know about something that you think is worth mentioning, please let us know!

Fine-Grained News - February 2024

· 4 min read
Andres Aguiar
Product Manager

Welcome to the 3rd edition of Fine-Grained News!

KubeCon Europe 2024 is getting closer!

We'll be pretty busy during KubeCon Europe 2024:

We'll also have a kiosk in the CNCF Project Pavilion, so if you plan to attend let us know and we can schedule some time together!

Documentation Improvements

We keep improving our documentation, and added a few new documents that you might find interesting:

  • Learn how to use the FGA CLI to perform every possible operation on OpenFGA and simplify most common workflows.

  • Learn how you can test FGA models as part of your development flow or CI/CD pipelines, without the need to run an OpenFGA server.

  • Learn how you can include identity token claims contextual tuples to model ABAC-like scenarios or simplify data integrations with OpenFGA.

OpenFGA in the Java Ecosystem

OpenFGA is getting bigger on the Java world! We are working with the Spring Security team to build an Spring Security integration for OpenFGA. You can check the ideas we are exploring in this repository.

Also, the Testcontainers team added an OpenFGA integration for Java to make it simple to write integration tests for applications using OpenFGA.

We'd love to hear your feedback!

SDK Improvements

New releases with bug fixes and improvements:

Modular Models

We wrapped up the RFC for Modular Models, which will enable multiple teams to work on different parts of the model independently and we are now working on the implementation. We'd love feedback on the RFC.

Wait for a demo on our next Community Meeting!

Community News

Transitioning from Discord to CNCF's Slack

As you may know, we've been using Discord for the OpenFGA community. We’ll transition it to the CNCF OpenFGA Slack channel. If you are not part of the CNCF Slack workspace, you need to join the CNCF Slack first.

See you next month!

Fine-Grained News are published every month, after the OpenFGA community meeting. If you have any feedback, you want to share your OpenFGA story, or know about something that you think is worth mentioning, please let us know!

Fine-Grained News - January 2024

· 4 min read
Andres Aguiar
Product Manager

Welcome to the 2nd edition of Fine-Grained News!

Team News

The OpenFGA team got bigger, and we met in person in Toronto for the first time! We got to know each other better, helped new team members to get familiar with the project, hacked some code, had some fun with ax throwing, and loved Toronto's weather!

OpenFGA Team

KubeCon Europe 2024!

We got two presentations accepted in KubeCon Europe!

We'll also have a Project Kiosk, so if you plan to attend let us know and we can schedule some time together!

OpenFGA ⚡️Enlightning Session!

Our own Raghd Hamzeh will join Whitney Lee in a Tanzu ⚡️Enlightning session on February 8th at 9am PT.

Join their Youtube stream here.

Visual Studio Code Integration Enhancements

We keep investing in improving our VS Code experience. The video below shows how, in addition to validating the model, we can validate the tuple content and the tests.

We are identifying:

  • Invalid object types, user types, and relations when defining tuples.
  • Invalid object types, user types, and relations when defining tests.
  • User id or object id that was not included in any tuple in check tests.

This helps authoring/testing models, making the whole process less error prone and more fun!

VS Code

CLI improvements

We love the FGA CLI and we keep making it even better.

We had a few of contributions from new team members and the community :).

  • You can now import tuples from a CSV file. We supported JSON/YAML, but if you are exporting data from a database, producing to CSV is way simpler.
  • You can take a .fga.yaml file with a model and tuples, and get it imported in OpenFGA.
  • Added support for specifying an external tuple_file in .fga.yaml files.
  • Added support for specifying a continuation_token when calling fga tuple changes.
  • Support for configuring OAuth scopes to authenticate to OIDC servers.

Check the updated documentation in our CLI repository

Thanks to Yann D'Isanto for all your help on this!

OpenFGA v1.4.3

We just shipped OpenFGA v1.4.3, with performance improvements and one security issue fixed. We recommend everyone to upgrade to the latest release.

SDK Improvements

New releases with bug fixes and improvements:

Thanks again to Yann D'Isanto for your help on the Java SDK!

Language Improvements

The DSL language now has better support for comments and mixed operator support, where you can use parentheses to group expressions when defining relations:

DSL improvements

It's available in the VS Code extension, the CLI and the Playground.

Github Actions

We shipped a couple of Github Actions that help you deploy FGA models, and run model tests as part of your CI/CD build. Find them here.

What's Next? Check our RFCs!

We've been discussing with the OpenFGA community a couple of RFCs that we are planning to implement in the next few weeks:

Please take a look at them and let us know what you think!

OpenFGA Community

We have a very welcoming community, and we'd love to have you there! You can join us in different ways:

See you next month!

Fine-Grained News are published every month, after the OpenFGA community meeting. If you have any feedback, you want to share your OpenFGA story, or know about something that you think is worth mentioning, please let us know!