VMware Integrated OpenStack을 SAML(Security Association Markup Language) 2.0 프로토콜을 사용하는 타사 ID 제공자 솔루션과 통합할 수 있습니다. VMware Integrated OpenStack의 Keystone은 이 구성에 대한 서비스 제공자로 작동합니다.

중요:
  • VMware는 타사 ID 제공자를 지원하지 않습니다. 이 절차에 필요한 정보를 얻으려면 ID 제공자 관리자에게 문의하십시오.
  • AD 백엔드가 동일한 LDAP 인증 및 페더레이션과 VMware Integrated OpenStack을 연결하지 마십시오.

SAML 2.0을 사용하여 VMware Integrated OpenStackVMware Identity Manager와 통합하려면 VMware Identity Manager 페더레이션 구성항목을 참조하십시오.

사전 요구 사항

  • ID 제공자 메타데이터 파일의 위치와 파일의 entityID 특성을 확인합니다.
  • VMware Integrated OpenStack 배포에서 ID 제공자의 FQDN에 액세스할 수 있는지 확인합니다.
  • SAML2 특성 매핑의 경우 Keystone은 Shibboleth를 SSO 구성 요소로 사용합니다. Shibboleth는 IdP 사용자 특성을 Keystone에서 사용하는 로컬 특성에 매핑합니다. 사용자 특성에 대해서는 IdP 관리자에게 문의하십시오.
  • SAML2 규칙 매핑의 경우 Keystone에는 원격 사용자를 로컬 도메인, 프로젝트 및 그룹에 매핑하기 위한 규칙이 필요합니다. 자세한 내용은 OpenStack 설명서에서 "매핑 조합"을 참조하십시오(https://docs.openstack.org/keystone/train/admin/federation/mapping_combinations.html).
  • ID 제공자 측에서 서비스 제공자를 올바르게 구성해야 합니다. 서비스 제공자 메타데이터는 다음 URL로 액세스할 수 있습니다. https://<vio_public_endpoint>:5000/<your_idp_name>/Shibboleth.sso/Metadata

프로시저

  1. Integrated OpenStack Manager 웹 인터페이스에 admin 사용자로 로그인합니다.
  2. OpenStack 배포에서 배포 이름을 클릭하고 관리탭을 엽니다.
  3. Keystone 페더레이션 탭에서 추가를 클릭합니다.
  4. 페더레이션 유형 드롭다운 메뉴에서 일반 SAML2를 선택합니다.
  5. 필요한 매개 변수를 입력합니다.
    옵션 설명
    이름

    ID 제공자의 이름을 입력합니다. VMware Integrated OpenStack은 이 이름을 사용하여 OpenStack ID 제공자를 생성합니다.

    설명

    ID 제공자에 대한 설명을 입력합니다.

    특성 매핑

    추가 SAML 특성을 JSON 형식으로 입력하거나 원하는 특성이 포함된 JSON 파일을 업로드합니다. VMware Integrated OpenStack JSON 데이터를 사용하여 Shibboleth attribute-map.xml 파일을 구성합니다.

    일반 SAML2 비보안

    ID 제공자의 인증서를 검증할 수 있도록 이 확인란의 선택을 취소합니다.

    일반 SAML2 엔티티 ID

    ID 제공자에 대한 entityID 특성을 입력합니다. 이 값은 페더레이션 메타데이터 파일에서 찾을 수 있습니다. VMware Integrated OpenStack은 이 값을 사용하여 OpenStack ID 제공자를 생성합니다.

    SAML2 메타데이터 URL

    ID 제공자에 대한 페더레이션 메타데이터 파일의 URL을 입력합니다. VIO Manager는 메타데이터 파일을 다운로드하기 위해 이 URL에 액세스할 수 있습니다.

    SAML2 매핑

    SAML 매핑을 JSON 형식으로 입력하거나 원하는 매핑이 포함된 JSON 파일을 업로드합니다. VMware Integrated OpenStack은 이 값을 사용하여 OpenStack 매핑을 생성하고 이 ID 제공자에 대한 페더레이션 프로토콜로 설정합니다.

    특성 매핑 형식 및 예:
    [
          {
            "name": "urn:oid:0.9.2342.19200300.100.1.1",
            "nameFormat": "urn:oasis:names:tc:SAML:2.0:attrname-format:uri",
            "id": "username"
          },
          {
            "name": "urn:oid:0.9.2342.19200300.100.1.3",
            "nameFormat": "urn:oasis:names:tc:SAML:2.0:attrname-format:uri",
            "id": "email"
          }
        ]
    
    옵션 설명

    name

    특성 이름을 입력합니다. Keystone에는 사용자 고유 ID로 사용할 수 있는 특성이 하나 이상 필요합니다. 예를 들어 username, email 등입니다. IdP 관리자에게 문의하여 특성 이름을 확인합니다. 이는 IdP 서버와 다를 수 있습니다.

    nameFormat

    특성 이름 형식을 입력합니다. 형식 값을 확인하려면 IdP 관리자에게 문의하십시오. 이 특성은 선택 사항입니다.
    id

    이 특성에 대한 문자열 값을 입력합니다. 문자열 값에는 공백을 사용하지 마십시오. 예를 들어 "사용자 이름"을 사용하지 말고 대신 "username"을 사용합니다. 이 값은 매핑 규칙에서 remote:type으로 사용할 수 있습니다.

    SAML2 규칙 매핑 형식 및 예:
    [
      {
        "local": [
          {
            "user": {
              "name": "{1}"
            },
            "group": {
              "name": "federated_users",
              "domain": {
                "name": "federated_domain"
              }
            }
          }
        ],
        "remote": [
          {
            "type": "username"
          },	
          {
            "type": "email"
          }
        ]
      }
    ]
    
    규칙 매핑 정의는 OpenStack 커뮤니티의 Keystone에 대한 매핑 조합에서 찾을 수 있습니다.
    옵션 설명

    local

    JSON은 OpenStack 로컬 도메인 및 프로젝트를 정의합니다. 이 특성은 IdP에서 매핑된 사용자에게 사용할 수 있습니다. 예를 들어 SAML2 규칙 매핑에서 "name": "{1}"은(는) "type": "email"을 Keystone의 로그인 이름으로 사용하고 지정된 도메인 및 프로젝트에 로그인하는 것과 동일합니다.

    remote

    이 섹션은 원격 특성을 매핑하기 위한 규칙 및 조건을 정의합니다.

  6. (선택 사항) 도메인, 프로젝트 및 그룹 매개 변수를 구성하기 위한 고급 설정 확인란을 선택합니다.
    1. 일반 고급 설정에서 OpenStack 도메인으로 federated_domain, 프로젝트로 federated_project, 그룹으로 federated_group을 입력합니다.
    2. OpenStack 도메인, 프로젝트 및 그룹 이름은 규칙 매핑 "local" JSON에 제공된 정보와 일치해야 합니다.
    3. VMware Integrated OpenStack은 지정된 페더레이션 사용자에 대한 도메인 및 프로젝트를 생성합니다.
      참고: federated는 Keystone에서 사용되므로 도메인 이름으로 입력하지 마십시오.
  7. 확인을 클릭합니다.
    참고: SAML2 구성을 완료하면 Keystone 서비스가 자동으로 다시 시작되는 것을 볼 수 있습니다. 메타데이터를 다운로드하기 전에 viocli get deployment를 실행하여 배포 상태가 RUNNING으로 변경되었는지 확인합니다.
  8. https://<vio_public_endpoint>:5000/<your_idp_name>/Shibboleth.sso/Metadata에 액세스할 수 있는지 확인하고 VMware Integrated OpenStack Keystone을 서비스 제공자로 신뢰하기 위한 IdP 서비스를 구성합니다.

결과

VMware Integrated OpenStack 이 ID 제공자 솔루션과 통합되고 페더레이션된 사용자 및 그룹을 OpenStack으로 가져옵니다. VMware Integrated OpenStack 대시보드에 액세스할 때 페더레이션된 사용자로 로그인할 지정된 ID 제공자를 선택할 수 있습니다.

참고: ID 페더레이션을 사용하는 경우 공용 OpenStack 끝점을 통해 VMware Integrated OpenStack 대시보드에 액세스해야 합니다. 전용 OpenStack 끝점 또는 컨트롤러 IP 주소를 사용하여 페더레이션된 사용자로 로그인하지 마십시오.

예: Active Directory Federation Services와 VMware Integrated OpenStack 통합

다음 절차는 UPN(사용자 계정 이름)을 기반으로 VMware Integrated OpenStack과 ADFS(Active Directory Federation Services) 간의 ID 페더레이션을 구현합니다. ADFS 구성의 절차는 참조를 위한 예이며 실제 엔터프라이즈 구성은 다를 수 있습니다. 해당 VMware Integrated OpenStack SAML 구성을 변경해야 합니다.

이 예에서 VMware Integrated OpenStack 배포의 공용 가상 IP 주소는 192.0.2.160이고 ADFS 역할이 adfs.example.com에 있는 Windows Server 가상 시스템의 일부입니다. VMware Integrated OpenStack의 ID 제공자의 이름은 adfsvio입니다.

  1. ADFS에서 VMware Integrated OpenStack에 대한 신뢰 당사자 트러스트를 추가합니다.
    1. ADFS 관리에서 작업 > 신뢰 당사자 트러스트 추가...를 선택합니다.
    2. 시작을 클릭합니다.
    3. 수동으로 신뢰 당사자 관련 데이터 입력을 선택하고 다음을 클릭합니다.
    4. 표시 이름으로 OpenStack을 입력하고 다음을 클릭합니다.
    5. ADFS 프로필을 선택하고 다음을 클릭합니다.
    6. 다음을 클릭합니다.
    7. SAML 2.0 WebSSO 프로토콜 지원 사용을 선택합니다.
    8. 신뢰 당사자 URL로 https://192.0.2.160:5000/adfsvio/Shibboleth.sso/SAML2를 입력하고 다음을 클릭합니다.
    9. 신뢰 당사자 트러스트 식별자로 https://192.0.2.160:5000/adfsvio를 입력하고 추가를 클릭한 후 다음을 클릭합니다.
    10. 다단계 인증을 구성하지 않음을 선택하고 다음을 클릭합니다.
    11. 이 신뢰 당사자에 대한 모든 사용자 액세스 허용을 선택하고 다음을 클릭합니다.
    12. 다음을 클릭하고 클레임 규칙 편집을 선택한 다음 닫기를 클릭합니다.
    13. 규칙 추가...를 클릭합니다.
    14. 들어오는 클레임 통과 또는 필터링을 선택하고 다음을 클릭합니다.
    15. 규칙 이름으로 UPN 통과를 입력하고 들어오는 클레임 유형으로 UPN을 선택합니다.
    16. 모든 클레임 값 통과를 선택하고 마침을 클릭합니다.
  2. Integrated OpenStack Manager 웹 인터페이스에 admin 사용자로 로그인합니다.
  3. OpenStack 배포에서 배포 이름을 클릭하고 관리 탭을 엽니다.
  4. ID 페더레이션 탭에서 추가를 클릭합니다.
  5. 페더레이션 유형 드롭다운 메뉴에서 일반 SAML2를 선택합니다.
  6. 다음 구성을 입력합니다.
    옵션 설명
    이름 adfsvio
    설명 ADFS identity provider
    특성 매핑
    [
        {
            "name": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn",
            "id": "upn"
        }
    ]
    일반 SAML2 엔티티 ID http://adfs.example.com/adfs/services/trust
    SAML2 메타데이터 URL https://adfs.example.com/federationmetadata/2007-06/federationmetadata.xml
    SAML2 매핑
    [
        {
            "local": [
                {
                    "user": {
                        "name": "{0}"
                    },
                    "group": {
                        "domain": {
                            "name": "adfs-users"
                        },
                        "name": "Federated Users"
                    }
                }
            ],
            "remote": [
                {
                    "type": "upn"
                }
            ]
        }
    ]
  7. 고급 설정 확인란을 선택합니다.
  8. 일반 고급 설정을 선택하고 다음 구성을 입력합니다.
    옵션 설명
    도메인 adfs-users
    프로젝트

    텍스트 상자는 비워 둡니다.

    그룹 Federated Users

구성 확인 및 업데이트가 완료되면 VMware Integrated OpenStack 대시보드를 엽니다. ADFS ID 제공자를 선택하고 페더레이션된 사용자로 로그인할 수 있습니다.

다음에 수행할 작업

구성된 ID 제공자를 삭제하려면 Integrated OpenStack Manager 웹 인터페이스를 선택하고 삭제를 클릭합니다. 그런 다음 VMware Integrated OpenStack 대시보드에 로그인하여 ID > 페더레이션 > ID 제공자를 선택하고 원하는 제공자를 선택한 후 ID 제공자 등록 취소를 클릭합니다.