1. 21 Jul, 2022 1 commit
  2. 20 Jul, 2022 1 commit
  3. 15 Jul, 2022 1 commit
  4. 22 May, 2022 1 commit
    • Takashi Kajinami's avatar
      Wallaby-only: Fix wrong python job template used · 373a5ecd
      Takashi Kajinami authored
      We should use the template corresponding to the release. This change
      replaces the wrong template(victoria template) by the appropriate one
      (wallaby template).
      
      Change-Id: Ic25357863b78c0e5c11cbd0e0da1dbd3e4099519
      373a5ecd
  5. 22 Apr, 2022 1 commit
  6. 07 Feb, 2022 1 commit
    • Grzegorz Grasza's avatar
      Fix issue with LDAP backend returning bytes instead of string · b0c528ce
      Grzegorz Grasza authored
      When connecting to some LDAP server software, the ldap client returns
      bytes instances instead of the expected strings. This can result in
      either being transparently converted to strings, when the data is
      inserted via sqlalchemy into the database, or could be used as
      input to other functions, and/or cached, which causes unexpected
      results.
      
      Closes-Bug: #1952458
      Resolves: rhbz#1964872
      Change-Id: I77148641715efe09e3adc2e9432e66e50fb444b4
      (cherry picked from commit 1e0cd901)
      b0c528ce
  7. 04 Feb, 2022 1 commit
    • Ade Lee's avatar
      Add FIPS check job · a5925541
      Ade Lee authored
      Testing a new FIPS enabled gate job here.  This job will be
      for Centos 8 with FIPS enabled.  This will use a playbook in
      the zuul-jobs repo to enable FIPS.
      
      Change-Id: I3187971a14b38c7ca3bb64bdd3d18c64709c466f
      (cherry picked from commit 50f0a50c)
      a5925541
  8. 26 Oct, 2021 1 commit
  9. 11 Oct, 2021 1 commit
  10. 08 Oct, 2021 1 commit
  11. 07 Oct, 2021 6 commits
    • Zuul's avatar
    • Zuul's avatar
    • Zuul's avatar
      3ebfda88
    • Lance Bragstad's avatar
      Fix typos in application credential policies · 14d2f594
      Lance Bragstad authored
      We updated these policies when we introduces system scope and default
      roles, but the policy names accidentally changed, which makes the policy
      files render with an alias because oslo.policy thinks the names are
      changing.
      
      Conflicts:
            keystone/common/policies/application_credential.py in later
            releases the deprecated parameters were moved from the
            DocumentedRuleDefault object to the DeprecatedRule object, which
            is a non-functional change.
      
      Change-Id: I1121f1abe769ee83ffc285103a95ee95540ce727
      (cherry picked from commit 60e898c4)
      (cherry picked from commit 7b28f1b3b47d0e4a22afe99c64d047016a772da5)
      14d2f594
    • Lance Bragstad's avatar
      Fix typos in ec2 credential policies · a57ae85c
      Lance Bragstad authored
      There was a trailing s in two of these policies and it caused the policy
      names to mismatch, which causes confusion with the rendered policy files
      and potentially causes uses with deprecation logic.
      
      Conflicts:
            keystone/common/policies/ec2_credential.py in later releases the
            deprecated parameters were moved from the DocumentedRuleDefault
            object to the deprecated object.
      
      Change-Id: I54021986d17c57d7733d53caa4032c2767eaf25e
      (cherry picked from commit 82da8824)
      (cherry picked from commit 6dff22b5baa1a19842aca435782fe1f9789f72cc)
      a57ae85c
    • Lance Bragstad's avatar
      Fix typo in identity provider policies · bdd8f82f
      Lance Bragstad authored
      This cause the sample generated policy file to alias the old name with
      the new policy name, which isn't needed since we're not renaming these
      policies at all and it was likely a typo.
      
      Conflicts:
            keystone/common/policies/identity_provider.py
            In later releases the deprecation parameters were moved up to the
            deprecated options and not in the DocumentedRule defaults.
      
      Change-Id: Idfd9adbbe800bbc21814d94002a2b61524cce28a
      (cherry picked from commit c10d5c88)
      bdd8f82f
  12. 27 Aug, 2021 1 commit
    • Grzegorz Grasza's avatar
      Update local_id limit to 255 characters · 2700adaa
      Grzegorz Grasza authored
      This avoids the "String length exceeded." error, when using LDAP
      domain specific backend in case the user uses a user id
      attribute, which can exceed the previous constraint of 64 chars.
      
      Change-Id: I923a2a2a5e79c8f265ff436e96258288dddb867b
      Closes-Bug: #1929066
      Resolves: rhbz#1959345
      (cherry picked from commit ce6031ca)
      2700adaa
  13. 10 May, 2021 1 commit
    • Gage Hugo's avatar
      Hide AccountLocked exception from end users · f510c806
      Gage Hugo authored
      
      
      This change hides the AccountLocked exception from being returned
      to the end user to hide sensitive information that a potential
      malicious person could gain insight from.
      
      The notification handler catches the AccountLocked exception as
      before, but after sending the audit notification, it instead
      bubbles up Unauthorized rather than AccountLocked.
      
      Co-Authored-By: default avatarSamuel de Medeiros Queiroz <samueldmq@gmail.com>
      
      Change-Id: Id51241989b22c52810391f3e8e1cadbf8613d873
      Related-Bug: #1688137
      (cherry picked from commit ac2631ae)
      f510c806
  14. 29 Mar, 2021 1 commit
    • Lance Bragstad's avatar
      Retry update_user when sqlalchemy raises StaleDataErrors · f47e635b
      Lance Bragstad authored
      Keystone's update_user() method in the SQL driver processes a lot of
      information about how to update users. This includes evaluating password
      logic and authentication attempts for PSI-DSS. This logic is evaluated
      after keystone pulls the user record from SQL and before it exits the
      context manager, which performs the write.
      
      When multiple clients are all updating the same user reference, it's
      more likely they will see an HTTP 500 because of race conditions exiting
      the context manager. The HTTP 500 is due to stale data when updating
      password expiration for old passwords, which happens when setting a new
      password for a user.
      
      This commit attempts to handle that case more gracefully than throwing a
      500 by detecting StaleDataErrors from sqlalchemy and retrying.  The
      identity sql backend will retry the request for clients that have
      stale data change from underneath them.
      
      Change-Id: I75590c20e90170ed862f46f0de7d61c7810b5c90
      Closes-Bug: 1885753
      (cherry picked from commit ceae3566)
      f47e635b
  15. 26 Mar, 2021 2 commits
    • OpenStack Release Bot's avatar
      Update TOX_CONSTRAINTS_FILE for stable/wallaby · ecfbf7c8
      OpenStack Release Bot authored
      Update the URL to the upper-constraints file to point to the redirect
      rule on releases.openstack.org so that anyone working on this branch
      will switch to the correct upper-constraints list automatically when
      the requirements repository branches.
      
      Until the requirements repository has as stable/wallaby branch, tests will
      continue to use the upper-constraints list on master.
      
      Change-Id: Idd89731aaf3138bb400182f5852a85ad23ea309d
      ecfbf7c8
    • OpenStack Release Bot's avatar
      Update .gitreview for stable/wallaby · f5dff739
      OpenStack Release Bot authored
      Change-Id: I6624fb2b4299aba328b02a870722ed60c89876a6
      f5dff739
  16. 03 Mar, 2021 1 commit
  17. 02 Mar, 2021 1 commit
    • Lance Bragstad's avatar
      Add job for keystone functional protection tests · 9579c809
      Lance Bragstad authored
      This commit introduces a new check and gate job for keystone to use the
      functional RBAC tests in keystone-tempest-plugin.
      
      These tests were derived from keystone's original protection tests, but
      they use tempest and they're re-useable for people looking to validate
      secure RBAC functionality in their own deployments.
      
      Depends-On: https://review.opendev.org/#/c/686305/
      Change-Id: I813cff07c20fcba1aaec6a5e68014a2a9eb9462e
      9579c809
  18. 28 Feb, 2021 1 commit
  19. 27 Feb, 2021 3 commits
  20. 05 Feb, 2021 6 commits
    • Lance Bragstad's avatar
      trivial: Update minor wording nit in RBAC persona documentation · 9707673b
      Lance Bragstad authored
      After reading through the documentation, I thought this sentence sounded
      funny using 'within' and 'in' so close to each other. I updated it so
      that it isn't quite so jarring.
      
      Change-Id: I2619108216035a37823e53efb5a3f9fe6cfe5cbb
      9707673b
    • Lance Bragstad's avatar
      Clarify top-level personas in RBAC documentation · a0ae615a
      Lance Bragstad authored
      This commit updates the documentation for service api protection to
      better describe the overall personas for system, domain, and project
      users. It also adds some examples that show operators how to list users
      with all role assignments on a particular target, which include a
      superset of the existing examples.
      
      Change-Id: I40dd33fc0afa0240c6b1cd48322fd988fc5524af
      a0ae615a
    • Lance Bragstad's avatar
      Clarify ``reader`` role implementation in persona admin guide · 4df1130e
      Lance Bragstad authored
      The secure RBAC work propogating throughout the community has led to
      some interesting discussions about how to implement support for
      ``reader``. Specifically, should ``reader`` be used for auditing
      deployments?
      
      Some compliance targets, verified by third-party auditors, require
      access to sensitive information (e.g., thinking about license keys in
      glance images or volume type encryption metadata in cinder). The concern
      raised among developers updating their default policies to use
      ``reader`` roles is if they should be using that role to protect
      sensitive information, especially if it's the least-authoritative role
      in the hierarchy between reader, member, and admin.
      
      This documentation is supposed to assist deployers in understanding the
      various personas that developers are implementing by default, but it
      doesn't call out the complicated relationship we have with ``reader``
      and auditing.
      
      The change here proposes that we explicitly say that ``reader``
      shouldn't be used to protect sensitive information, regardless of the
      scope, because ``reader`` was designed to be the least-authoritative
      role provided by keystone, by default. Instead, service developers
      working to implement these personas consistently in other services
      should keep sensitive information, if applicable to their API or
      resources, at the ``admin`` tier of the hierarchy. This provides better
      protection of sensitive information by not exposing is implicitly.
      
      We can consider supporting a formal default role for auditing in the
      future, but building it outside the default implied role tree so that
      it's not implied to anyone with a role assignment. This will come at
      another time and we can use implied roles to re-use all the work we've
      done across OpenStack to implement support for ``reader``.
      
      For now, ``reader`` should be viewed from the perspective of the
      least-authoritative permissions grant-able to a given scope (e.g.,
      system, domain, or project). Even if ``reader`` has limited use in
      auditing deployments, it's still incredibly useful for operators
      because they have a role they can grant to users with minimal trust, or
      minimal permissions in the deployment.
      
      This commit acknowledges the use-case for an elevated auditor role and
      that it's something we can implement as a formal role in keystone in the
      future.
      
      Change-Id: Iea28faf1b3e63c7ab07e90808d2bc76ee3ee0612
      4df1130e
    • Zuul's avatar
    • Zuul's avatar
      e462aba3
    • Zuul's avatar
      c531d90d
  21. 02 Feb, 2021 1 commit
  22. 01 Feb, 2021 1 commit
  23. 26 Jan, 2021 1 commit
    • Mike Bayer's avatar
      Ignore oslo.db deprecating sqlalchemy-migrate warning · 11cfc38d
      Mike Bayer authored
      In I59335b4f318bae2e29ab139cdea089a4d6e14305, oslo.db
      is now emitting deprecation warnings for SQLAlchemy-migrate
      functions.  This breaks Keystone tests which raise on
      DeprecationWarning, so add to the filters.
      
      Change-Id: I42f0abc2ddf8c53239d5098d5f32b667314b942d
      11cfc38d
  24. 19 Jan, 2021 1 commit
  25. 11 Jan, 2021 2 commits
    • Keigo Noha's avatar
      Support bytes type in generate_public_ID() · f7df9fba
      Keigo Noha authored
      python-ldap3.0 or later running on python3 uses str or bytes
      data type according to what fields are returned.
      local_id may be a bytes data type.
      To handle it properly, mapping[key] needs to be examined for
      identifying its data type and what python version is used.
      
      Closes-Bug: #1901654
      Change-Id: Iac097235fd31e166028c169d14ec0937c663c21c
      f7df9fba
    • Zuul's avatar
      Merge "Use app cred user ID in policy enforcement" · 1c3131c6
      Zuul authored
      1c3131c6
  26. 09 Jan, 2021 1 commit