[role="xpack"]
[[xpack-spaces]]
== Spaces

You can define multiple spaces in a single {kib} instance from the **Spaces** menu. Each space has its own navigation and saved objects, and users can only access the spaces that they have been granted access to. This access is based on user roles, and a given role can have different permissions per space.

{kib} creates a default space for you.
When you create more spaces, users are asked to choose a space when they log in to {kib}, and can change their
current space at any time from the top menu.

[role="screenshot"]
image::images/change-space.png["Change current space menu"]

To go to **Spaces**, find **Stack Management** in the navigation menu or use the <<kibana-navigation-search,global search bar>>.

[float]
=== Required privileges

The `kibana_admin` role or equivalent is required to manage **Spaces**.

[float]
[[spaces-managing]]
=== Create a space

[[spaces-control-feature-visibility]]
You can have up to 100 spaces. 

. Select *Create space* and provide a name, description, and URL identifier.
+
The URL identifier is a short text string that becomes part of the
{kib} URL when you are inside that space. {kib} suggests a URL identifier based
on the name of your space, but you can customize the identifier to your liking.
You cannot change the space identifier once you create the space.

. Select a **Solution view**. This setting controls the navigation that all users of the space will get:

** **Search**: A light navigation menu focused on analytics and Search use cases. Features specific to Observability and Security are hidden.
** **Observability**: A light navigation menu focused on analytics and Observability use cases. Features specific to Search and Security are hidden.
** **Security**: A light navigation menu focused on analytics and Security use cases. Features specific to Observability and Search are hidden.
** **Classic**: All features from all solutions are visible by default using the classic, multilayered navigation menus. You can customize which features are visible individually. 

. If you selected the **Classic** solution view, you can customize the **Feature visibility** as you need it to be for that space.
+
NOTE: Even when disabled in this menu, some Management features can remain visible to some users depending on their privileges. Additionally, controlling feature visibility is not a security feature. To secure access
to specific features on a per-user basis, you must configure <<xpack-security-authorization, {kib} Security>>.

. Customize the avatar of the space to your liking.

. Save your new space by selecting **Create space**.

You can edit all of the space settings you just defined at any time, except for the URL identifier.

{kib} also has an <<spaces-api, API>>
if you prefer to create spaces programmatically.

[float]
[[spaces-control-user-access]]
=== Define access to a space

Users can access spaces based on the roles that they have. 

* Certain reserved roles can view and access all spaces by default. You can't prevent those roles from accessing a space. Instead, you can grant different roles to your users.
* When <<kibana-role-management,creating or editing a role>>, you can define which existing spaces that role can access, and with which permissions.
* When editing a space, you can assign roles to the space and define the permissions within the space for these roles. To do that, go to the **Permissions** tab of the space you're editing.
+
When a role is assigned to _All Spaces_, you can't remove its access from the space settings. You must instead edit the role to give it more granular access to individual spaces.

[float]
=== Delete a space

Deleting a space permanently removes the space and all of its contents.
Find the space on the *Spaces* overview page and click the trash icon in the Actions column.
You can't delete the default space, but you can customize it to your liking.

//[[spaces-control-feature-visibility]]

[float]
[[spaces-moving-objects]]
=== Move saved objects between spaces

To move saved objects between spaces, you can <<managing-saved-objects-copy-to-space, copy objects>>, or <<managing-saved-objects-export-objects, export and import objects>>.

[float]
[[spaces-default-route]]
=== Configure a space-level landing page

You can create a custom experience for users by configuring the {kib} landing page on a per-space basis.
The landing page can route users to a specific dashboard, application, or saved object as they enter each space.

To configure the landing page, use the default route setting in
<<kibana-general-settings, Stack Management > {kib} > Advanced settings>>.
For example, you might set the default route to `/app/dashboards`.

[role="screenshot"]
image::images/spaces-configure-landing-page.png["Configure space-level landing page"]


[float]
[[spaces-delete-started]]
=== Disable spaces

Since {kib} 8.0, the Spaces feature cannot be disabled.
