{"id":15637,"date":"2024-07-31T12:21:40","date_gmt":"2024-07-31T12:21:40","guid":{"rendered":"https:\/\/47billion.com\/?p=15637"},"modified":"2024-12-23T05:19:49","modified_gmt":"2024-12-23T05:19:49","slug":"ory-permissions-a-modern-approach-to-authorization","status":"publish","type":"post","link":"https:\/\/47billion.com\/blog\/ory-permissions-a-modern-approach-to-authorization\/","title":{"rendered":"Ory Permissions: A Modern Approach to Authorization"},"content":{"rendered":"\n
In today’s digital world, authorization is essential for protecting sensitive data and ensuring that only authorized users can access specific resources. Traditional authorization systems can be complex and difficult to manage, especially for large and complex applications. Ory Permissions is a modern permission system that aims to address these challenges by providing a flexible, scalable, and tech-stack agnostic solution. <\/p>\n\n\n\n
How to integrate permission checks to your application<\/strong> <\/p>\n\n\n\n
This guide will show you how to use Ory Permissions in your project. Whether you’re starting a new project or adding security features to an old one, Ory Permissions can help you control who can do what in your application. <\/p>\n\n\n\n
By following the design ideas from the Zanzibar paper, Ory Permissions gives some advantages compared to other permission systems: <\/p>\n\n\n\n
In Ory Permissions, there are two main ideas: relationships and permissions. These help you control who can do what in your application. <\/p>\n\n\n\n
\n
In Ory Permissions, relationships are pieces of information about things stored in the system. A relationship includes three parts: something (like a file), a description of how it’s related (like “owns”), and another thing (like a user). These relationships show how different parts of your application are connected. For instance, you could create a relationship between a user and a file to indicate that the user is the owner of that file.\u00a0<\/li>\n<\/ul>\n\n\n\n
\n
In Ory Permissions, permissions are rules written in a language like TypeScript. These rules are like small programs that decide whether someone can do something based on the connections between things in Ory Permissions. They let you set up who can do what in your app very precisely, matching exactly what your app needs.\u00a0<\/li>\n<\/ul>\n\n\n\n
\n
When you mix these rules with the connections between things, you can make detailed plans for who can access what in your app. Ory Permissions lets you make these plans flexible, so they fit any kind of app. This means you can make rules that are as simple or as complicated as you want, while keeping your app safe.\u00a0<\/li>\n<\/ul>\n\n\n\n
\n
Ory Permissions also gives you tools to handle these rules and connections in your app. For example, you can organize your stuff into groups using “namespaces,” and there’s a special way to talk to Ory Permissions from your app to set up and change these rules automatically.\u00a0<\/li>\n<\/ul>\n\n\n\n
Benefits of Ory Permissions<\/strong> <\/p>\n\n\n\n
Ory Permissions provides flexible, scalable, and secure access control, seamlessly integrating with any tech stack, simplifying management and ensuring optimal performance. <\/p>\n\n\n\n
Flexibility:<\/strong> Ory Permissions is designed to be flexible and adaptable to a wide range of use cases. It supports various authorization models, including role-based access control (RBAC), attribute-based access control (ABAC), and policy-based access control (PBAC). This flexibility allows you to tailor the authorization system to meet the specific needs of your application. <\/p>\n\n\n\n
Scalability:<\/strong> Ory Permissions grows with your app. It can handle lots of users, permissions, and stuff without slowing down. This makes it good for both small and big companies. <\/p>\n\n\n\n
Tech-Stack Agnostic: <\/strong>Ory Permissions works with any tech setup. It fits with any programming language, framework, or database you’re using. So, you can add it to your system easily, no matter what tech you’re using. <\/p>\n\n\n\n
Ease of Use:<\/strong> Ory Permissions is simple to use and control. It has an easy interface for managing who can do what. This makes it easy for both developers and admins to use, even if they’re not experts in permissions. <\/p>\n\n\n\n
Security:<\/strong> Ory Permissions is super secure. It follows the best security practices to keep your data safe. Only the right people can access important stuff, keeping everything secure. <\/p>\n\n\n\n
How Ory Permissions Works<\/strong> <\/p>\n\n\n\n
Ory Permissions consists of two main components: <\/p>\n\n\n\n
\n
Ory Keto Permission Server:<\/strong> The Ory Keto Permission Server is the core of Ory Permissions. It is an open-source authorization server that stores and manages permissions, roles, and policies.\u00a0<\/li>\n<\/ul>\n\n\n\n
\n
Ory SDKs:<\/strong> Ory Permissions provides SDKs for various programming languages and frameworks. These SDKs allow you to integrate Ory Permissions into your applications and interact with the Ory Keto Permission Server (available in programming language \u2013 dotnet, go, java, python, typescript, ruby and dart)\u00a0<\/li>\n<\/ul>\n\n\n\n
When a user tries to access a resource in your application, the application first sends a request to the Ory Keto Permission Server. The Ory Keto Permission Server then evaluates the user’s permissions against the relevant policies and determines whether to grant or deny access to the resource. <\/p>\n\n\n\n