2016-09-30 7 views
1

OpenStack에서 직접 매핑을 이해하려고합니다. 사용자를 Federated 도메인이 아닌 도메인으로 매핑하고 싶습니다. 하지만 항상 사용자가 페더레이션 도메인에 매핑됩니다.OpenStack 연합의 Federated 이외의 도메인에 사용자를 매핑하는 방법은 무엇입니까?

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

여기 내가 사용하고 매핑 규칙을 다음과 같습니다 : 나는 페더레이션 Idp를 연결 OpenID를 구성

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

여기 내가 사용하고 직접지도에 대한 링크는 다음과 같다.

페더레이션 된 사용자를 페더레이션 된 도메인이 아닌 다른 도메인에 매핑하는 직접 매핑을 어떻게 수행 할 수 있습니까?

답변

0

'Federate'도메인에 속하지 않도록 할 수있는 유일한 방법은 사용자가 로컬 유형이되도록 강제하는 것입니다. 그런 다음 백엔드 (SQL/LDAP)에 있어야합니다. .

if user_type is None: 
     user_type = user['type'] = UserType.EPHEMERAL 

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

그것은 기본적으로 사용자가 형식이없는 경우 사전 구성된 도메인으로 도메인을 무시하거나 :

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

키스톤 코드의 다음 비트는이 작업을 수행하는 주범이다 임시입니다.