..
      Copyright 2011-2012 OpenStack Foundation
      All Rights Reserved.

      Licensed under the Apache License, Version 2.0 (the "License"); you may
      not use this file except in compliance with the License. You may obtain
      a copy of the License at

          http://www.apache.org/licenses/LICENSE-2.0

      Unless required by applicable law or agreed to in writing, software
      distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
      WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
      License for the specific language governing permissions and limitations
      under the License.

========================================
Keystone, the OpenStack Identity Service
========================================

Keystone is an OpenStack service that provides API client authentication,
service discovery, and distributed multi-tenant authorization by implementing
`OpenStack's Identity API`_.

This documentation is primarily targeted towards contributors of the project,
and assumes that you are already familiar with Keystone from an `end-user
perspective`_; however, end users, deployers, and operators will also find it
useful.

.. _`OpenStack's Identity API`: https://developer.openstack.org/api-ref/identity/v3
.. _`end-user perspective`: https://docs.openstack.org

This documentation is generated by the Sphinx toolkit and lives in the `source
tree`_. Also see the :doc:`community` page for other ways to interact with the
community.

.. _`source tree`: https://git.openstack.org/cgit/openstack/keystone/tree/doc/source

Related Identity Projects
=========================

In addition to creating OpenStack's Identity Service, the Keystone team also
provides a `WSGI middleware`_, an `Authentication library`_ and a `Python
client library`_.

.. _`WSGI middleware`: https://docs.openstack.org/developer/keystonemiddleware/
.. _`Authentication library`: https://docs.openstack.org/developer/keystoneauth/
.. _`Python client library`: https://docs.openstack.org/developer/python-keystoneclient/

Getting Started
===============

.. toctree::
    :maxdepth: 1

    installing
    upgrading
    performance
    apache-httpd
    architecture
    policy_mapping
    community

Configuration
=============

.. toctree::
   :maxdepth: 2

   configuration

Advanced Topics
===============

.. toctree::
   :maxdepth: 2

   federation/federated_identity
.. toctree::
   :maxdepth: 1

   configure_tokenless_x509
   auth-totp
   event_notifications
   external-auth
   security_compliance

Developers Documentation
========================
.. toctree::
   :maxdepth: 2

   devref/development_best_practices

.. toctree::
   :maxdepth: 1

   devref/development.environment
   devref/developing_drivers
   devref/api_curl_examples
   devref/api_change_tutorial
   devref/http-api
   devref/services

Sample Configuration File
=========================

.. toctree::
    :maxdepth: 1

    sample_config

Man Pages
=========

.. toctree::
    :maxdepth: 1

    man/keystone-manage

Code Documentation
==================
.. toctree::
   :maxdepth: 1

   api/modules

Indices and tables
==================

* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`
