【问题标题】:How to map a user to a domain other than Federated in OpenStack federation?如何将用户映射到 OpenStack 联合中的联合以外的域?
【发布时间】:2017-02-08 17:38:06
【问题描述】:

我正在尝试了解 OpenStack 上的直接映射。我想将用户映射到Federated 域以外的域。但我总是让用户映射到联合域。下面是我正在使用的直接映射的链接:

https://specs.openstack.org/openstack/keystone-specs/specs/kilo/federated-direct-user-mapping.html

这里遵循我正在使用的映射规则:

[
  {
    "local": [
      {
        "user": {
          "name": "{0}",
          "domain": {"name": "Default"}
        }
      },
      {
        "group": {
          "id": "GROUP_ID"
        }
      }
    ],
    "remote": [
      {
        "type": "HTTP_OIDC_SUB"
      }
    ]
  }
]

我已经为联合配置了OpenID 连接Idp

有人可以帮助我如何进行直接映射以将联合用户映射到联合以外的域?

【问题讨论】:

    标签: openstack federated-identity keystone federation


    【解决方案1】:

    我能够让它不在“联合”域中的唯一方法是强制用户为本地类型,但他们需要存在于后端 (SQL/LDAP) 中。

    [
      {
        "local": [
          {
            "user": {
              "name": "{0}",
              "type": "local",
              "domain": {"name": "Default"}
            }
          },
          {
            "group": {
              "id": "GROUP_ID"
            }
          }
        ],
        "remote": [
          {
            "type": "HTTP_OIDC_SUB"
          }
        ]
      }
    ]
    

    keystone 中的以下代码是这样做的罪魁祸首:

       if user_type is None:
            user_type = user['type'] = UserType.EPHEMERAL
    
        if user_type == UserType.EPHEMERAL:
            user['domain'] = {
                'id': CONF.federation.federated_domain_name
            }
    

    如果您的用户没有类型或者是短暂的,它基本上会将域覆盖为预配置的域。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-01-05
      • 2019-01-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-09
      • 1970-01-01
      相关资源
      最近更新 更多