)]}'
{"doc/source/admin/identity-security-compliance.rst":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"44e30caab6c6d58c1810516d2bdb55e1d4cce046","unresolved":false,"context_lines":[{"line_number":41,"context_line":"    [security_compliance]"},{"line_number":42,"context_line":"    lockout_duration \u003d 1800"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"If you do not set the ``lockout_duration``, users may be locked out"},{"line_number":45,"context_line":"indefinitely until the user is explicitly enabled via the API."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"Disabling inactive users"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f1d235d_5ace3cb4","side":"PARENT","line":44,"updated":"2017-07-05 21:34:12.000000000","message":"We need to double check the implementation - but this statement lacks certainty. We should be able to say \"users will be locked out...\" instead of \"users may be locked out\". We\u0027re describing the applications default behavior, which we should be able to describe without being subjective.","commit_id":"bebd7056ad33d294871013067cb7367bc6db1a13"},{"author":{"_account_id":21420,"name":"Gage Hugo","email":"gagehugo@gmail.com","username":"ghugo"},"change_message_id":"7ddf289e73fe72836c06a1b8b7f26920c9b618c7","unresolved":false,"context_lines":[{"line_number":41,"context_line":"    [security_compliance]"},{"line_number":42,"context_line":"    lockout_duration \u003d 1800"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"If you do not set the ``lockout_duration``, users may be locked out"},{"line_number":45,"context_line":"indefinitely until the user is explicitly enabled via the API."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"Disabling inactive users"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f1d235d_70c917aa","side":"PARENT","line":44,"in_reply_to":"3f1d235d_5ace3cb4","updated":"2017-07-05 22:48:08.000000000","message":"Done","commit_id":"bebd7056ad33d294871013067cb7367bc6db1a13"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"44e30caab6c6d58c1810516d2bdb55e1d4cce046","unresolved":false,"context_lines":[{"line_number":16,"context_line":"Enable these features by changing the configuration settings under the"},{"line_number":17,"context_line":"``[security_compliance]`` section in ``keystone.conf``."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Account Lockout Threshold"},{"line_number":20,"context_line":"-------------------------"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"The account lockout feature limits the number of incorrect password attempts."}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f1d235d_fab50833","line":19,"updated":"2017-07-05 21:34:12.000000000","message":"Other parts of the admin-guide do not use capital casing for section titles. I\u0027m indifference on the format - but we should have it consistent across the entire guide.\n\nAlex may be able to provide more guidance here on the style [0].\n\n[0] https://docs.openstack.org/contributor-guide/","commit_id":"b75b7a095a05cdfedb725bec4ccacf3843a26c69"},{"author":{"_account_id":21420,"name":"Gage Hugo","email":"gagehugo@gmail.com","username":"ghugo"},"change_message_id":"7ddf289e73fe72836c06a1b8b7f26920c9b618c7","unresolved":false,"context_lines":[{"line_number":16,"context_line":"Enable these features by changing the configuration settings under the"},{"line_number":17,"context_line":"``[security_compliance]`` section in ``keystone.conf``."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Account Lockout Threshold"},{"line_number":20,"context_line":"-------------------------"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"The account lockout feature limits the number of incorrect password attempts."}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f1d235d_10ce6381","line":19,"in_reply_to":"3f1d235d_fab50833","updated":"2017-07-05 22:48:08.000000000","message":"Done","commit_id":"b75b7a095a05cdfedb725bec4ccacf3843a26c69"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"44e30caab6c6d58c1810516d2bdb55e1d4cce046","unresolved":false,"context_lines":[{"line_number":47,"context_line":"Finally, you can set it so that specific users, such as service users, are"},{"line_number":48,"context_line":"never locked out by setting the user\u0027s options attribute"},{"line_number":49,"context_line":"``ignore_lockout_failure_attempts`` to ``true`` via a user update API"},{"line_number":50,"context_line":"(``PATCH /v3/users/{user_id}``)"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":".. code-block:: json"},{"line_number":53,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f1d235d_9a0bb4d4","line":50,"updated":"2017-07-05 21:34:12.000000000","message":"This might benefit in readability by breaking this into multiple sentences. One describing what you\u0027re doing and the second describing how to do it.\n\n\"You can ensure specific users are never locked out. This can be useful for service accounts or administrative users. You can do this by setting ..\"","commit_id":"b75b7a095a05cdfedb725bec4ccacf3843a26c69"},{"author":{"_account_id":21420,"name":"Gage Hugo","email":"gagehugo@gmail.com","username":"ghugo"},"change_message_id":"7ddf289e73fe72836c06a1b8b7f26920c9b618c7","unresolved":false,"context_lines":[{"line_number":47,"context_line":"Finally, you can set it so that specific users, such as service users, are"},{"line_number":48,"context_line":"never locked out by setting the user\u0027s options attribute"},{"line_number":49,"context_line":"``ignore_lockout_failure_attempts`` to ``true`` via a user update API"},{"line_number":50,"context_line":"(``PATCH /v3/users/{user_id}``)"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":".. code-block:: json"},{"line_number":53,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f1d235d_70b3570b","line":50,"in_reply_to":"3f1d235d_9a0bb4d4","updated":"2017-07-05 22:48:08.000000000","message":"Done","commit_id":"b75b7a095a05cdfedb725bec4ccacf3843a26c69"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"44e30caab6c6d58c1810516d2bdb55e1d4cce046","unresolved":false,"context_lines":[{"line_number":59,"context_line":"       }"},{"line_number":60,"context_line":"   }"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"Disabling Inactive Users"},{"line_number":63,"context_line":"------------------------"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"PCI-DSS 8.1.4 requires that inactive user accounts be removed or disabled"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f1d235d_7a3e988b","line":62,"updated":"2017-07-05 21:34:12.000000000","message":"Same comment here as above.","commit_id":"b75b7a095a05cdfedb725bec4ccacf3843a26c69"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"44e30caab6c6d58c1810516d2bdb55e1d4cce046","unresolved":false,"context_lines":[{"line_number":75,"context_line":"the past 90 days are automatically disabled. Users can be re-enabled by"},{"line_number":76,"context_line":"explicitly setting the enable user attribute via the API."},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"Force Users To Change Password Upon First Use"},{"line_number":79,"context_line":"---------------------------------------------"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"PCI-DSS 8.2.6 requires users to change their password for first time use and"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f1d235d_5a119c03","line":78,"updated":"2017-07-05 21:34:12.000000000","message":"Same comment here as above.","commit_id":"b75b7a095a05cdfedb725bec4ccacf3843a26c69"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"44e30caab6c6d58c1810516d2bdb55e1d4cce046","unresolved":false,"context_lines":[{"line_number":83,"context_line":"`create user` and `update user` are considered administrative password"},{"line_number":84,"context_line":"changes. Whereas, `change password for user` is a self-service password"},{"line_number":85,"context_line":"change. Once this feature is enabled, new users, and users that have had their"},{"line_number":86,"context_line":"password reset, will be required to change their password at the next"},{"line_number":87,"context_line":"authentication (first use), before being able to access any services."},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"Prior to enabling this feature, you may want to exempt some users, especially"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f1d235d_1a20c447","line":86,"updated":"2017-07-05 21:34:12.000000000","message":"nit: upon next authentication*","commit_id":"b75b7a095a05cdfedb725bec4ccacf3843a26c69"},{"author":{"_account_id":21420,"name":"Gage Hugo","email":"gagehugo@gmail.com","username":"ghugo"},"change_message_id":"7ddf289e73fe72836c06a1b8b7f26920c9b618c7","unresolved":false,"context_lines":[{"line_number":83,"context_line":"`create user` and `update user` are considered administrative password"},{"line_number":84,"context_line":"changes. Whereas, `change password for user` is a self-service password"},{"line_number":85,"context_line":"change. Once this feature is enabled, new users, and users that have had their"},{"line_number":86,"context_line":"password reset, will be required to change their password at the next"},{"line_number":87,"context_line":"authentication (first use), before being able to access any services."},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"Prior to enabling this feature, you may want to exempt some users, especially"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f1d235d_50b85be3","line":86,"in_reply_to":"3f1d235d_1a20c447","updated":"2017-07-05 22:48:08.000000000","message":"Done","commit_id":"b75b7a095a05cdfedb725bec4ccacf3843a26c69"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"44e30caab6c6d58c1810516d2bdb55e1d4cce046","unresolved":false,"context_lines":[{"line_number":88,"context_line":""},{"line_number":89,"context_line":"Prior to enabling this feature, you may want to exempt some users, especially"},{"line_number":90,"context_line":"service account users, that you do not wish to be required to change their"},{"line_number":91,"context_line":"password. You can mark a user as exempt by setting the user options attribute"},{"line_number":92,"context_line":"``ignore_change_password_upon_first_use`` to ``true`` via a user update API"},{"line_number":93,"context_line":"(``PATCH /v3/users/{user_id}``)"},{"line_number":94,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f1d235d_9aa734be","line":91,"updated":"2017-07-05 21:34:12.000000000","message":"We could remove the use case from the first sentence and just describe the ability for specific users to be whitelisted from functionality.","commit_id":"b75b7a095a05cdfedb725bec4ccacf3843a26c69"},{"author":{"_account_id":21420,"name":"Gage Hugo","email":"gagehugo@gmail.com","username":"ghugo"},"change_message_id":"7ddf289e73fe72836c06a1b8b7f26920c9b618c7","unresolved":false,"context_lines":[{"line_number":88,"context_line":""},{"line_number":89,"context_line":"Prior to enabling this feature, you may want to exempt some users, especially"},{"line_number":90,"context_line":"service account users, that you do not wish to be required to change their"},{"line_number":91,"context_line":"password. You can mark a user as exempt by setting the user options attribute"},{"line_number":92,"context_line":"``ignore_change_password_upon_first_use`` to ``true`` via a user update API"},{"line_number":93,"context_line":"(``PATCH /v3/users/{user_id}``)"},{"line_number":94,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f1d235d_90c27358","line":91,"in_reply_to":"3f1d235d_9aa734be","updated":"2017-07-05 22:48:08.000000000","message":"Done","commit_id":"b75b7a095a05cdfedb725bec4ccacf3843a26c69"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"44e30caab6c6d58c1810516d2bdb55e1d4cce046","unresolved":false,"context_lines":[{"line_number":180,"context_line":"                                characters."},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"This description will be returned to users to explain why their requested"},{"line_number":183,"context_line":"password was insufficient."},{"line_number":184,"context_line":""},{"line_number":185,"context_line":".. note::"},{"line_number":186,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f1d235d_ba90b044","line":183,"updated":"2017-07-05 21:34:12.000000000","message":"We could caution that it is imperative that the description matches the actual regex in order for the user experience to not suffer.","commit_id":"b75b7a095a05cdfedb725bec4ccacf3843a26c69"},{"author":{"_account_id":21420,"name":"Gage Hugo","email":"gagehugo@gmail.com","username":"ghugo"},"change_message_id":"7ddf289e73fe72836c06a1b8b7f26920c9b618c7","unresolved":false,"context_lines":[{"line_number":180,"context_line":"                                characters."},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"This description will be returned to users to explain why their requested"},{"line_number":183,"context_line":"password was insufficient."},{"line_number":184,"context_line":""},{"line_number":185,"context_line":".. note::"},{"line_number":186,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f1d235d_d0ea2bd6","line":183,"in_reply_to":"3f1d235d_ba90b044","updated":"2017-07-05 22:48:08.000000000","message":"Done","commit_id":"b75b7a095a05cdfedb725bec4ccacf3843a26c69"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"c465feaa27c5d58039d1c9d733dd7452051c599e","unresolved":false,"context_lines":[{"line_number":124,"context_line":"    sync, the help text could inaccurately describe the password requirements"},{"line_number":125,"context_line":"    being applied to the password. This would lead to poor user experience."},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"Requiring a unique password history"},{"line_number":128,"context_line":"-----------------------------------"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"The password history requirements controls the number of passwords for a user"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f1d235d_7bd8beed","side":"PARENT","line":127,"updated":"2017-07-06 14:29:09.000000000","message":"Any reason to not make these read like sentences?","commit_id":"bebd7056ad33d294871013067cb7367bc6db1a13"},{"author":{"_account_id":21420,"name":"Gage Hugo","email":"gagehugo@gmail.com","username":"ghugo"},"change_message_id":"da53a5630641d7ce77355da01da61254abbd2263","unresolved":false,"context_lines":[{"line_number":124,"context_line":"    sync, the help text could inaccurately describe the password requirements"},{"line_number":125,"context_line":"    being applied to the password. This would lead to poor user experience."},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"Requiring a unique password history"},{"line_number":128,"context_line":"-----------------------------------"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"The password history requirements controls the number of passwords for a user"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f1d235d_fe9a7c11","side":"PARENT","line":127,"in_reply_to":"3f1d235d_7bd8beed","updated":"2017-07-06 15:07:39.000000000","message":"Done","commit_id":"bebd7056ad33d294871013067cb7367bc6db1a13"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"6d46816d956a82f67b59c6c1c948e3f338479e81","unresolved":false,"context_lines":[{"line_number":1,"context_line":".. _identity_security_compliance:"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":4,"context_line":"Security Compliance and PCI-DSS"},{"line_number":5,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"As of the Newton release, the Identity service contains additional security"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f1d235d_a206371f","line":4,"range":{"start_line":4,"start_character":9,"end_line":4,"end_character":10},"updated":"2017-07-06 09:27:08.000000000","message":"we do indeed use sentence casing rather than capital casing. I recommend you keep it as such for consistency more htan anything else :)","commit_id":"b76046cbbdaee2374284ccc5a2203804cf31b387"},{"author":{"_account_id":21420,"name":"Gage Hugo","email":"gagehugo@gmail.com","username":"ghugo"},"change_message_id":"da53a5630641d7ce77355da01da61254abbd2263","unresolved":false,"context_lines":[{"line_number":1,"context_line":".. _identity_security_compliance:"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":4,"context_line":"Security Compliance and PCI-DSS"},{"line_number":5,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"As of the Newton release, the Identity service contains additional security"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f1d235d_b929be37","line":4,"range":{"start_line":4,"start_character":9,"end_line":4,"end_character":10},"in_reply_to":"3f1d235d_a206371f","updated":"2017-07-06 15:07:39.000000000","message":"Done","commit_id":"b76046cbbdaee2374284ccc5a2203804cf31b387"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"6d46816d956a82f67b59c6c1c948e3f338479e81","unresolved":false,"context_lines":[{"line_number":86,"context_line":"password reset, will be required to change their password upon next"},{"line_number":87,"context_line":"authentication (first use), before being able to access any services."},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"Prior to enabling this feature you may want to exempt some users that you do"},{"line_number":90,"context_line":"not wish to be required to change their password. You can mark a user as"},{"line_number":91,"context_line":"exempt by setting the user options attribute"},{"line_number":92,"context_line":"``ignore_change_password_upon_first_use`` to ``true`` via a user update API"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f1d235d_42c403f5","line":89,"range":{"start_line":89,"start_character":23,"end_line":89,"end_character":30},"updated":"2017-07-06 09:27:08.000000000","message":"feature, you *","commit_id":"b76046cbbdaee2374284ccc5a2203804cf31b387"},{"author":{"_account_id":21420,"name":"Gage Hugo","email":"gagehugo@gmail.com","username":"ghugo"},"change_message_id":"da53a5630641d7ce77355da01da61254abbd2263","unresolved":false,"context_lines":[{"line_number":86,"context_line":"password reset, will be required to change their password upon next"},{"line_number":87,"context_line":"authentication (first use), before being able to access any services."},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"Prior to enabling this feature you may want to exempt some users that you do"},{"line_number":90,"context_line":"not wish to be required to change their password. You can mark a user as"},{"line_number":91,"context_line":"exempt by setting the user options attribute"},{"line_number":92,"context_line":"``ignore_change_password_upon_first_use`` to ``true`` via a user update API"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f1d235d_59018aae","line":89,"range":{"start_line":89,"start_character":23,"end_line":89,"end_character":30},"in_reply_to":"3f1d235d_42c403f5","updated":"2017-07-06 15:07:39.000000000","message":"Done","commit_id":"b76046cbbdaee2374284ccc5a2203804cf31b387"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"6d46816d956a82f67b59c6c1c948e3f338479e81","unresolved":false,"context_lines":[{"line_number":90,"context_line":"not wish to be required to change their password. You can mark a user as"},{"line_number":91,"context_line":"exempt by setting the user options attribute"},{"line_number":92,"context_line":"``ignore_change_password_upon_first_use`` to ``true`` via a user update API"},{"line_number":93,"context_line":"(``PATCH /v3/users/{user_id}``)"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":".. code-block:: json"},{"line_number":96,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f1d235d_e2b42f82","line":93,"updated":"2017-07-06 09:27:08.000000000","message":"missing a full stop here :)","commit_id":"b76046cbbdaee2374284ccc5a2203804cf31b387"},{"author":{"_account_id":21420,"name":"Gage Hugo","email":"gagehugo@gmail.com","username":"ghugo"},"change_message_id":"da53a5630641d7ce77355da01da61254abbd2263","unresolved":false,"context_lines":[{"line_number":90,"context_line":"not wish to be required to change their password. You can mark a user as"},{"line_number":91,"context_line":"exempt by setting the user options attribute"},{"line_number":92,"context_line":"``ignore_change_password_upon_first_use`` to ``true`` via a user update API"},{"line_number":93,"context_line":"(``PATCH /v3/users/{user_id}``)"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":".. code-block:: json"},{"line_number":96,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f1d235d_b9109e01","line":93,"in_reply_to":"3f1d235d_e2b42f82","updated":"2017-07-06 15:07:39.000000000","message":"Done","commit_id":"b76046cbbdaee2374284ccc5a2203804cf31b387"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"6d46816d956a82f67b59c6c1c948e3f338479e81","unresolved":false,"context_lines":[{"line_number":134,"context_line":"expiration date, you would need to run a SQL script against the password table"},{"line_number":135,"context_line":"in the database to update the expires_at column."},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"If there exists a user whos password you do not want to expire, keystone"},{"line_number":138,"context_line":"supports setting that user\u0027s option ``ignore_password_expiry`` to ``true``"},{"line_number":139,"context_line":"via user update API (``PATCH /v3/users/{user_id}``)"},{"line_number":140,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f1d235d_4269a3f6","line":137,"range":{"start_line":137,"start_character":23,"end_line":137,"end_character":27},"updated":"2017-07-06 09:27:08.000000000","message":"whose*","commit_id":"b76046cbbdaee2374284ccc5a2203804cf31b387"},{"author":{"_account_id":21420,"name":"Gage Hugo","email":"gagehugo@gmail.com","username":"ghugo"},"change_message_id":"da53a5630641d7ce77355da01da61254abbd2263","unresolved":false,"context_lines":[{"line_number":134,"context_line":"expiration date, you would need to run a SQL script against the password table"},{"line_number":135,"context_line":"in the database to update the expires_at column."},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"If there exists a user whos password you do not want to expire, keystone"},{"line_number":138,"context_line":"supports setting that user\u0027s option ``ignore_password_expiry`` to ``true``"},{"line_number":139,"context_line":"via user update API (``PATCH /v3/users/{user_id}``)"},{"line_number":140,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f1d235d_198d5231","line":137,"range":{"start_line":137,"start_character":23,"end_line":137,"end_character":27},"in_reply_to":"3f1d235d_4269a3f6","updated":"2017-07-06 15:07:39.000000000","message":"Done","commit_id":"b76046cbbdaee2374284ccc5a2203804cf31b387"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"6d46816d956a82f67b59c6c1c948e3f338479e81","unresolved":false,"context_lines":[{"line_number":136,"context_line":""},{"line_number":137,"context_line":"If there exists a user whos password you do not want to expire, keystone"},{"line_number":138,"context_line":"supports setting that user\u0027s option ``ignore_password_expiry`` to ``true``"},{"line_number":139,"context_line":"via user update API (``PATCH /v3/users/{user_id}``)"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":".. code-block:: json"},{"line_number":142,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f1d235d_226c6706","line":139,"range":{"start_line":139,"start_character":50,"end_line":139,"end_character":51},"updated":"2017-07-06 09:27:08.000000000","message":"also missing a full stop","commit_id":"b76046cbbdaee2374284ccc5a2203804cf31b387"},{"author":{"_account_id":21420,"name":"Gage Hugo","email":"gagehugo@gmail.com","username":"ghugo"},"change_message_id":"da53a5630641d7ce77355da01da61254abbd2263","unresolved":false,"context_lines":[{"line_number":136,"context_line":""},{"line_number":137,"context_line":"If there exists a user whos password you do not want to expire, keystone"},{"line_number":138,"context_line":"supports setting that user\u0027s option ``ignore_password_expiry`` to ``true``"},{"line_number":139,"context_line":"via user update API (``PATCH /v3/users/{user_id}``)"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":".. code-block:: json"},{"line_number":142,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f1d235d_f98f3627","line":139,"range":{"start_line":139,"start_character":50,"end_line":139,"end_character":51},"in_reply_to":"3f1d235d_226c6706","updated":"2017-07-06 15:07:39.000000000","message":"Done","commit_id":"b76046cbbdaee2374284ccc5a2203804cf31b387"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"c465feaa27c5d58039d1c9d733dd7452051c599e","unresolved":false,"context_lines":[{"line_number":148,"context_line":"       }"},{"line_number":149,"context_line":"   }"},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"Password strength requirements"},{"line_number":152,"context_line":"------------------------------"},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"You can set password strength requirements, such as requiring numbers in"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f1d235d_fbccce35","line":151,"updated":"2017-07-06 14:29:09.000000000","message":"nit: Configuring password strength requirements *?","commit_id":"b76046cbbdaee2374284ccc5a2203804cf31b387"},{"author":{"_account_id":21420,"name":"Gage Hugo","email":"gagehugo@gmail.com","username":"ghugo"},"change_message_id":"da53a5630641d7ce77355da01da61254abbd2263","unresolved":false,"context_lines":[{"line_number":148,"context_line":"       }"},{"line_number":149,"context_line":"   }"},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"Password strength requirements"},{"line_number":152,"context_line":"------------------------------"},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"You can set password strength requirements, such as requiring numbers in"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f1d235d_3915aee5","line":151,"in_reply_to":"3f1d235d_fbccce35","updated":"2017-07-06 15:07:39.000000000","message":"Done","commit_id":"b76046cbbdaee2374284ccc5a2203804cf31b387"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"6d46816d956a82f67b59c6c1c948e3f338479e81","unresolved":false,"context_lines":[{"line_number":162,"context_line":""},{"line_number":163,"context_line":"The above example is a regular expression that requires a password to have:"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"::"},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"   * One (1) Letter"},{"line_number":168,"context_line":"   * One (1) Digit"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f1d235d_c25db347","line":165,"range":{"start_line":165,"start_character":0,"end_line":165,"end_character":2},"updated":"2017-07-06 09:27:08.000000000","message":"Personally just recommend to stay consistent and use the code block rather than the double colon, but in this instance, I don\u0027t think you need it at all. De-dent the list :)","commit_id":"b76046cbbdaee2374284ccc5a2203804cf31b387"},{"author":{"_account_id":21420,"name":"Gage Hugo","email":"gagehugo@gmail.com","username":"ghugo"},"change_message_id":"da53a5630641d7ce77355da01da61254abbd2263","unresolved":false,"context_lines":[{"line_number":162,"context_line":""},{"line_number":163,"context_line":"The above example is a regular expression that requires a password to have:"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"::"},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"   * One (1) Letter"},{"line_number":168,"context_line":"   * One (1) Digit"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f1d235d_791fa607","line":165,"range":{"start_line":165,"start_character":0,"end_line":165,"end_character":2},"in_reply_to":"3f1d235d_c25db347","updated":"2017-07-06 15:07:39.000000000","message":"Done","commit_id":"b76046cbbdaee2374284ccc5a2203804cf31b387"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"b56a0740096d74f2cbb63c9ddaa99b9606361d5e","unresolved":false,"context_lines":[{"line_number":17,"context_line":"``[security_compliance]`` section in ``keystone.conf``."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Account lockout threshold"},{"line_number":20,"context_line":"-------------------------"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"The account lockout feature limits the number of incorrect password attempts."},{"line_number":23,"context_line":"If a user fails to authenticate after the maximum number of attempts, the"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3f1d235d_74956b86","line":20,"updated":"2017-07-06 15:22:34.000000000","message":"To be consistent with the sentence casing in the rest of the document, we could apply it here.","commit_id":"cb9f1e1b09fc3bd34f5dce43c4a046ab7c660506"},{"author":{"_account_id":21420,"name":"Gage Hugo","email":"gagehugo@gmail.com","username":"ghugo"},"change_message_id":"febd95fff11b6c682aad66fad563b2d869216313","unresolved":false,"context_lines":[{"line_number":17,"context_line":"``[security_compliance]`` section in ``keystone.conf``."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Account lockout threshold"},{"line_number":20,"context_line":"-------------------------"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"The account lockout feature limits the number of incorrect password attempts."},{"line_number":23,"context_line":"If a user fails to authenticate after the maximum number of attempts, the"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3f1d235d_d4b43ff4","line":20,"in_reply_to":"3f1d235d_74956b86","updated":"2017-07-06 15:27:21.000000000","message":"Done","commit_id":"cb9f1e1b09fc3bd34f5dce43c4a046ab7c660506"}],"doc/source/advanced-topics/index.rst":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"44e30caab6c6d58c1810516d2bdb55e1d4cce046","unresolved":false,"context_lines":[{"line_number":14,"context_line":"   auth-totp.rst"},{"line_number":15,"context_line":"   event_notifications.rst"},{"line_number":16,"context_line":"   external-auth.rst"},{"line_number":17,"context_line":"   security_compliance.rst"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f1d235d_daa6ccab","side":"PARENT","line":17,"updated":"2017-07-05 21:34:12.000000000","message":"++","commit_id":"bebd7056ad33d294871013067cb7367bc6db1a13"}]}
