text: (self.webpackChunkdocusaurus_template=self.webpackChunkdocusaurus_template||[]).push([[6078],{3905:function(e,t,n){"use strict";n.d(t,{Zo:function(){return u},kt:function(){return f}});var r=n(67294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function a(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?i(Object(n),!0).forEach((function(t){o(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function s(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var c=r.createContext({}),l=function(e){var t=r.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):a(a({},t),e)),n},u=function(e){var t=l(e.components);return r.createElement(c.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},d=r.forwardRef((function(e,t){var n=e.components,o=e.mdxType,i=e.originalType,c=e.parentName,u=s(e,["components","mdxType","originalType","parentName"]),d=l(n),f=o,m=d["".concat(c,".").concat(f)]||d[f]||p[f]||i;return n?r.createElement(m,a(a({ref:t},u),{},{components:n})):r.createElement(m,a({ref:t},u))}));function f(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var i=n.length,a=new Array(i);a[0]=d;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s.mdxType="string"==typeof e?e:o,a[1]=s;for(var l=2;l<i;l++)a[l]=n[l];return r.createElement.apply(null,a)}return r.createElement.apply(null,n)}d.displayName="MDXCreateElement"},83279:function(e,t,n){"use strict";n.r(t),n.d(t,{frontMatter:function(){return a},metadata:function(){return s},toc:function(){return c},default:function(){return u}});var r=n(22122),o=n(19756),i=(n(67294),n(3905)),a={id:"index",slug:"/",title:"Introduction"},s={unversionedId:"index",id:"version-v0.6/index",isDocsHomePage:!1,title:"Introduction",description:"Ory Keto is the first and only open source implementation of \"Zanzibar: Google's",source:"@site/versioned_docs/version-v0.6/index.md",sourceDirName:".",slug:"/",permalink:"/keto/docs/",editUrl:"https://github.com/ory/keto/edit/master/docs/versioned_docs/version-v0.6/index.md",version:"v0.6",lastUpdatedBy:"aeneasr",lastUpdatedAt:1617730042,formattedLastUpdatedAt:"4/6/2021",frontMatter:{id:"index",slug:"/",title:"Introduction"},sidebar:"version-v0.6/docs",next:{title:"Installation",permalink:"/keto/docs/install"}},c=[],l={toc:c};function u(e){var t=e.components,n=(0,o.Z)(e,["components"]);return(0,i.kt)("wrapper",(0,r.Z)({},l,n,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("p",null,'Ory Keto is the first and only open source implementation of "Zanzibar: Google\'s\nConsistent, Global Authorization System":'),(0,i.kt)("blockquote",null,(0,i.kt)("p",{parentName:"blockquote"},"Determining whether online users are authorized to access digital objects is\ncentral to preserving privacy. This paper presents the design, implementation,\nand deployment of Zanzibar, a global system for storing and evaluating access\ncontrol lists. Zanzibar provides a uniform data model and configuration\nlanguage for expressing a wide range of access control policies from hundreds\nof client services at Google, including Calendar, Cloud, Drive, Maps, Photos,\nand YouTube. Its authorization decisions respect causal ordering of user\nactions and thus provide external consistency amid changes to access control\nlists and object contents. Zanzibar scales to trillions of access control\nlists and millions of authorization requests per second to support services\nused by billions of people. It has maintained 95th-percentile latency of less\nthan 10 milliseconds and availability of greater than 99.999% over 3 years of\nproduction use."),(0,i.kt)("p",{parentName:"blockquote"},(0,i.kt)("a",{parentName:"p",href:"https://research.google/pubs/pub48190/"},"Source"))),(0,i.kt)("p",null,"If you need to know if a user (or robot, car, service) is allowed to do\nsomething - Ory Keto is the right fit for you."),(0,i.kt)("p",null,'Currently, Ory Keto implements the basic API contracts for managing and checking\nrelations ("permissions") with HTTP and gRPC APIs. Future versions will include\nfeatures such as userset rewrites (e.g. RBAC-style role-permission models),\nZookies, and more. An overview of what is implemented and upcoming can be found\nat ',(0,i.kt)("a",{parentName:"p",href:"/keto/docs/implemented-planned-features"},"Implemented and Planned Features"),"."))}u.isMDXComponent=!0}}]);