{"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"control-site-access","__idx":0},"children":["Control site access"]},{"$$mdtype":"Tag","name":"ConfigOptionRequirements","attributes":{"products":["Redoc","Revel","Reef","Realm"],"plans":["Pro","Enterprise","Enterprise+"]},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Realm offers two ways to secure your documentation: through a login requirement, or with role-based access control (RBAC)."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"make-your-project-private-with-a-login","__idx":1},"children":["Make your project private with a login"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Users with the Pro plan can restrict access to their published project by configuring ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["requiresLogin"]}," in ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["redocly.yaml"]},"."," ","This configuration option hides your content behind a login screen."," ","Only the users who were invited to your organization in Reunite, or added through an external identity provider, can log in and access your content."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["To configure access to your project, see ",{"$$mdtype":"Tag","name":"Link","attributes":{"href":"/docs/realm/config/access/requires-login"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["requiresLogin"]}]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"role-based-access-control","__idx":2},"children":["Role-based Access Control"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Enterprise and Enterprise+ users can configure Redocly's RBAC system."," ","Use it to protect sensitive documentation, restrict access to specific user groups, and manage permissions at the page and navigation level."," ","RBAC is perfect for internal documentation, API keys, or content that should only be visible to specific teams."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"authentication-vs-authorization","__idx":3},"children":["Authentication vs Authorization"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Understanding the difference between authentication and authorization is crucial for setting up access control:"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Authentication"]}," identifies ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["who you are"]}," - handled by your identity provider (SSO) when users log in."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Authorization"]}," determines ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["what you can access"]}," - controlled by your roles, which come from:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Identity provider claims/attributes"]}," for organization-wide roles (when using SSO)"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Manual role assignment"]}," for organization-wide roles (when using Redocly's login system)"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Team assignments"]}," for project-specific access (teams can be managed through identity provider or Redocly)"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The source of your role and team information depends on your setup."," ","You can use SSO with an identity provider or Redocly's built-in authentication and team management systems."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"core-access-control-concepts","__idx":4},"children":["Core access control concepts"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Access control in Redocly operates on a role-based system where:"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Users are assigned roles"]}," in your organization or project"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Content is tagged with access requirements"]}," using configuration or front matter"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["The system automatically filters"]}," what each user can see based on their roles"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Navigation adapts dynamically"]}," to show only accessible content"]}]},{"$$mdtype":"Tag","name":"Cards","attributes":{"columns":2,"cardMinWidth":240},"children":[{"$$mdtype":"Tag","name":"Card","attributes":{"title":"Roles","icon":"users","imagePosition":"start","iconPosition":"auto","layout":"vertical","align":"start","variant":"filled","to":"/docs/realm/access/roles"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Define user roles and permissions to control access levels across your documentation project."]}]},{"$$mdtype":"Tag","name":"Card","attributes":{"title":"RBAC concepts","icon":"shield","imagePosition":"start","iconPosition":"auto","layout":"vertical","align":"start","variant":"filled","to":"/docs/realm/access/rbac"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Understand how role-based access control works and how to implement security for your content."]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"access-control-types","__idx":5},"children":["Access control types"]},{"$$mdtype":"Tag","name":"Cards","attributes":{"columns":2,"cardMinWidth":240},"children":[{"$$mdtype":"Tag","name":"Card","attributes":{"title":"Page permissions","icon":"file-lock","imagePosition":"start","iconPosition":"auto","layout":"vertical","align":"start","variant":"filled","to":"/docs/realm/access/page-permissions"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Control access to individual pages and content sections based on user roles and permissions."]}]},{"$$mdtype":"Tag","name":"Card","attributes":{"title":"Navigation permissions","icon":"chart-tree-map","imagePosition":"start","iconPosition":"auto","layout":"vertical","align":"start","variant":"filled","to":"/docs/realm/access/links-and-groups-permissions"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Manage visibility of navigation links and groups to create role-specific navigation experiences."]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"get-started-with-rbac","__idx":6},"children":["Get started with RBAC"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Set up roles"]}," - Define the ",{"$$mdtype":"Tag","name":"Link","attributes":{"href":"/docs/realm/access/roles"},"children":["user roles"]}," needed for your organization and understand the difference between organization and project roles"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Understand RBAC"]}," - Learn the ",{"$$mdtype":"Tag","name":"Link","attributes":{"href":"/docs/realm/access/rbac"},"children":["RBAC concepts"]}," and security model including how teams, roles, and resources work together"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Protect pages"]}," - Apply ",{"$$mdtype":"Tag","name":"Link","attributes":{"href":"/docs/realm/access/page-permissions"},"children":["page permissions"]}," to sensitive content using front matter or configuration-based access control"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Control navigation"]}," - Configure ",{"$$mdtype":"Tag","name":"Link","attributes":{"href":"/docs/realm/access/links-and-groups-permissions"},"children":["navigation permissions"]}," for role-specific menus in navbar, footer, and sidebar"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"access-control-use-cases","__idx":7},"children":["Access control use cases"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Internal documentation"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Separate public and internal content, hiding sensitive information from external users while keeping it accessible to employees."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["API documentation tiers"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Show different API endpoints and features based on subscription levels or user permissions."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Team-specific content"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Create content visible only to specific teams (engineering, sales, support) while maintaining a unified documentation site."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Progressive disclosure"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Show basic content to all users while revealing advanced features and configurations to authorized personnel."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"resources","__idx":8},"children":["Resources"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"Link","attributes":{"href":"/docs/realm/access/roles"},"children":["Roles and permissions"]}]}," - Configure user roles and permissions to control access levels across your documentation project"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"Link","attributes":{"href":"/docs/realm/access/rbac"},"children":["Role-based access control"]}]}," - Understand how role-based access control works and implement security best practices for your content"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"Link","attributes":{"href":"/docs/realm/access/page-permissions"},"children":["Configure RBAC for pages and content"]}]}," - Control access to individual pages and content sections based on user roles and permissions"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"Link","attributes":{"href":"/docs/realm/access/links-and-groups-permissions"},"children":["Configure RBAC for navigation"]}]}," - Manage visibility of navigation links and groups to create role-specific navigation experiences"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"Link","attributes":{"href":"/docs/realm/config/access"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["access"]}," configuration"]}]}," - Explore access configuration options"]}]}]},"frontmatter":{"products":["Redoc","Revel","Reef","Realm"],"plans":["Pro","Enterprise","Enterprise+"]},"tagList":["card","cards","configOptionRequirements"],"title":"Control site access","lastModified":"2026-10-01T23:00:57.000Z"}