10621 Commits

Author SHA1 Message Date
Jenkins
3ea0858e5d Merge "Block global roles implying domain specific roles" 2016-09-05 03:54:54 +00:00
Eric Brown
32af31f509 Few new commands missing from docs
The configuration and man page docs are missing some commands
noting the available options to the keystone-manage command.

Change-Id: Iba5efcf94e70f70bac899b8db377960fd35567d4
2016-09-02 08:17:21 -07:00
Jenkins
f82b913db6 Merge "Typo: key_manger_factory to key_mangler_factory" 2016-09-02 08:05:50 +00:00
Lance Bragstad
0edf1fe46c Implement encryption of credentials at rest
This commit implements credential encryption through the following changes:

 - additive schema change to store key hashes for credentials
 - database migration to encrypt all pre-existing credentials
 - contractive schema change to remove unencrypted credential column
 - added code to the credential Manager to handle credential encryption

All credentials will be encrypted by default. There will not be a way to store
unencrypted credentials in keystone from this point forward.

Note that this implementation uses database triggers in the migration process.
If operators use the traditional offline migration method, it would be more
reliable if we didn't try to setup and tear down triggers, as they'll never be
used anyway. This makes it so that expand and contract migrations can skip
anything related to triggers.

Co-Authored-By: Werner Mendizabal <nonameentername@gmail.com>

bp credential-encryption

Depends-On: I433da9a257daa21ec3b5996b2bca571211f1fbba
Depends-On: Id3e8922adc154cfec5f7a36613e22eb0b49eeffe
Change-Id: I31b7539db436ad270462cfaa3b14213e0ed1fc04
2016-09-02 04:25:49 +00:00
Eric Brown
409211de9f Typo: key_manger_factory to key_mangler_factory
Trivial typo in the name of the key mangler factory.

Change-Id: I2602c6575b81545f0dbe8cdfc06eb0c89bfb2195
2016-09-01 19:17:53 -07:00
Jenkins
816d26046a Merge "Fixes spelling mistakes" 2016-09-02 00:08:27 +00:00
David Stanek
ffee044c5a Fixes spelling mistakes
Change-Id: I00fb75f70e8e6cab7d9588913bae193909ab66e1
2016-09-01 21:31:19 +00:00
Jenkins
9a87dd509c Merge "Fixes migration where password created_at is nullable" 2016-09-01 20:50:08 +00:00
Jenkins
cae712d530 Merge "Document credential encryption" 2016-09-01 17:58:52 +00:00
Jenkins
34512ce86e Merge "Correct typo in mapping_populate command's help" 2016-09-01 17:55:30 +00:00
Ronald De Rose
2b70175282 Fixes migration where password created_at is nullable
The 105 migration added a password created_at column that was left as
nullable. This patch sets a default value for password created_at and
makes this column not nullable.

Closes-Bug: #1596500
Change-Id: I394467d554c786ecd9bf55367435c856c6723042
2016-09-01 17:15:47 +00:00
Mikhail Nikolaenko
305cb8a9e3 Block global roles implying domain specific roles
Adds a check, which prohibits global role imply a domain specific role.

Change-Id: Ibd478c45a3fe28b194226ad562ee198ba3eb1b7c
Closes-Bug: #1590578
2016-09-01 12:20:22 +00:00
Jenkins
86e442771b Merge "Relax the requirement for mappings to result in group memberships" 2016-09-01 07:38:48 +00:00
Eric Brown
05c5f0cf44 Correct typo in mapping_populate command's help
There was no space between "use" and "domain-specific".

Change-Id: Iff5674e6ad72540cb7845e1b9907ec0a98ab5b0d
2016-08-31 23:44:22 -07:00
Jenkins
ccabf21cab Merge "Pre-cache new tokens" 2016-09-01 04:33:05 +00:00
Ronald De Rose
7ba5370198 Relax the requirement for mappings to result in group memberships
Now that we're able to grant authorization to federated users using
concrete role assignments, we can drop the requirement for the mapping
engine to result in any authorization (via group membership) at all.

Closes-Bug: #1601929
Change-Id: Ie144e20deb4a0bb987182de5c9231a14f0aa2bc8
2016-09-01 03:24:27 +00:00
Jenkins
0061419170 Merge "Update sample uwsgi config for lazy-apps" 2016-09-01 03:22:02 +00:00
Jenkins
49761bdef2 Merge "Add documentation on how to set a user's tenant." 2016-09-01 03:21:02 +00:00
Werner Mendizabal
0e7ab57241 Document credential encryption
Add documentation on how credential encryption work and a release note.

bp credential-encryption

Change-Id: Ib06c86a17e585f43bfa8aedf3d5e89d3163cc9da
2016-08-31 21:28:42 +00:00
Brant Knudson
cc3e797bca Update sample uwsgi config for lazy-apps
Keystone had a problem where there was a memcached socket
opened very early on startup which then got shared between
worker processes when running under uwsgi. Since we don't have
a test or a way to ensure that no sockets are opened too early
for uwsgi, let's recommend setting lazy-apps to avoid issues.

Change-Id: I8b46c5424094d3abe9a986da4ee1143f72a91a4d
Related-Bug: 1600394
2016-08-31 15:41:21 -05:00
Chris Spencer
ba98048401 Add documentation on how to set a user's tenant.
Change-Id: I61b98891336ca1ed096f013ff1ed1a89d7854886
Closes-Bug: #1609161
2016-08-31 13:18:50 -07:00
Alexander Makarov
7260b55cfc Pre-cache new tokens
Since tokens are most often used right after being created,
cache them to bypass redundant validation.
The patch uses dogpile.cache internal functionality so some
calls may look strange

Implements bp pre-cache-tokens

Change-Id: I2e720eed6b0066738181afd1cbf73c5ff4d876f5
2016-08-31 20:14:53 +03:00
Jenkins
7a82aa8a6d Merge "Config logABug feature for Keystone api-ref" 2016-08-31 14:30:03 +00:00
Ha Van Tu
2b6d04b77f Config logABug feature for Keystone api-ref
Currently, Keystone api-ref is not configured with logABug feature.
When users click "Report bug" button, it leads to
"bugs.launchpad.net/openstack-manuals" which is default.
We should change it to "bugs.launchpad.net/keystone/"

Change-Id: I8d6fc4d2a6ab9d7f444a02cbc2f756fdaa3de264
2016-08-31 14:15:46 +07:00
Dolph Mathews
97da3a7950 Fix nits in db migration dev docs
There are no major changes here, I'm just hoping to help clarify what
was already documented.

Change-Id: I76fed074de9fb685cf5e9c9ee58d9ef46190d415
2016-08-31 02:50:20 +00:00
Dolph Mathews
0ae6d0924f Disallow new migrations in the legacy migration repository
Change-Id: I1dfe0a31ada44c97932f53bad86e93999cd6c4b6
Closes-Bug: 1618653
2016-08-31 01:42:42 +00:00
Jenkins
f9e6c36e8d Merge "Update developer docs for new rolling upgrade repos" 2016-08-31 00:50:16 +00:00
Jenkins
f7f1ee7435 Merge "Updated from global requirements" 2016-08-30 18:21:08 +00:00
Jenkins
9d4f0db034 Merge "Fixes small grammar mistake in docstring" 2016-08-30 17:15:58 +00:00
Jenkins
48d2f82ded Merge "Remove unnecessary try/except from token provider" 2016-08-30 15:14:39 +00:00
Jenkins
49b8258899 Merge "Add man page info for credential setup command" 2016-08-30 15:14:13 +00:00
OpenStack Proposal Bot
7dd1ae48b1 Updated from global requirements
Change-Id: Ia0967966c74030b4b020f9f3b8511ddf6062f6f0
2016-08-30 15:02:56 +00:00
Jenkins
db5b76cbf7 Merge "Impose a min and a max on time values in CONF.token" 2016-08-30 15:01:18 +00:00
Henry Nash
4f40cc364b Update developer docs for new rolling upgrade repos
Closes-Bug:  #1615698
Change-Id: I5a5fecd46901c9b8eae9ac548f115f17acf090de
2016-08-30 13:13:15 +01:00
Jenkins
eaea57e636 Merge "Adds password regular expression checks to doctor" 2016-08-30 02:55:52 +00:00
Jenkins
48f0ed4bbf Merge "Adds check that minimum password age is less than password expires days" 2016-08-30 02:48:42 +00:00
Jenkins
4302858de1 Merge "Add a feature support matrix for identity sources" 2016-08-29 21:53:37 +00:00
Eric Brown
2aee65c750 Add man page info for credential setup command
The man page of keystone-manage needs mention of the command
credential_setup.

partially-implements bp credential-encryption

Change-Id: I8c3ee9f1d738d96a51fb5a71cd475b20106e1d61
2016-08-29 14:32:03 -07:00
Jenkins
2a94c99643 Merge "Add credential setup command" 2016-08-29 21:04:08 +00:00
Jenkins
301609b2be Merge "Let upgrade tests control all 4 repositories at once" 2016-08-29 21:03:53 +00:00
Jenkins
190408d8fd Merge "Distributed cache namespace to invalidate regions" 2016-08-29 21:03:44 +00:00
Jenkins
f30d529e53 Merge "Fix wrong response codes in 'groups' APIs." 2016-08-29 21:03:36 +00:00
Jenkins
56d9cb51f6 Merge "Make token_id a required parameter in v3_to_v2_token" 2016-08-29 21:02:46 +00:00
Lance Bragstad
11848b2617 Remove unnecessary try/except from token provider
The validate_v2_token method previously had a try/except that would catch any
ValidationErrors and raise a NotFound along with logging an error message. It
turns out that there were no opportunities for a ValidationError to be raised
from within the validate_v2_token method, making the try/except unnecessary and
untested.

This patch removes the try/except completely.

Change-Id: I0277ae89c0f8551c7e795ec1331af7da06134102
2016-08-29 19:55:49 +00:00
David Stanek
3272623bc3 Fixes small grammar mistake in docstring
Change-Id: I5e43326f8d440e0ed9a54c5c648c88b1c3b987b0
2016-08-29 19:54:13 +00:00
Dolph Mathews
428a6e0faa Add a feature support matrix for identity sources
This introduces the various ways you can configure keystone to
authenticate users, and provides a little compare/contrast to help
people understand how each solution behaves at a high level before
diving deeper.

This patch covers:

- SQL
- LDAP (considering that all write operations are deprecated)
- External authentication (REMOTE_USER)
- OAuth 1.0a
- OpenID Connect
- SAMLv2

Change-Id: I86dfbd2c1f7fed199c612dd1456358e559da3fad
2016-08-29 13:56:47 -05:00
Anh Tran
c81b3374df Fix wrong response codes in 'groups' APIs.
Change-Id: I2cd3970d9eac00d9d832f97d44f0750671ecb131
2016-08-29 18:19:08 +00:00
Lance Bragstad
94b08af431 Make token_id a required parameter in v3_to_v2_token
The v3_to_v2_token() method in keystone.token.providers.common
accepted token_id as an option parameter. This is because it was
not always passed in on validation. This commit makes token_id
a required parameter of the method and fixes its usage to always
supply it.

Change-Id: I6cc9c7a0e306dbbad61c77caa07df00fb3fa7a97
2016-08-29 17:44:04 +00:00
David Stanek
42eda48c78 Distributed cache namespace to invalidate regions
dogpile.cache's region invalidation is not designed to work across
processes. This patch enables distributed invalidation of keys in a
region.

Instead of using a static cache key, we use the original cache key
and append a dynamic value to it. This value is looked up in
memcached using the region name as a key. So anytime the value of
the region key changes the cache keys in that region are
effectively invalidated.

Closes-Bug: #1590779
Change-Id: Ib80d41d43ef815b37282d72ad68e7aa8e1ff354e
2016-08-29 16:38:55 +00:00
Jenkins
618a2f5fb4 Merge "api-ref: Splitting status lines in API v3-ext." 2016-08-29 15:40:56 +00:00