SaltStack Config에 대한 SAML 기반 인증 시스템을 구성할 때는 다양한 정보 필드를 채워야 합니다. API를 사용하여 SAML 기반 시스템을 설정할 수도 있지만 권장되지는 않습니다.

SAML 정보 필드

모든 SAML 인증 정보 필드는 필수입니다. SAML 인증 구성에 대한 정보는 다음과 같이 입력합니다.

참고:

연결 설정에 대한 지원이 필요하면 관리자에게 문의하십시오.

기본

필드

설명

이름

SSE에 사용되는 인증 연결의 이름입니다. 이 이름은 인증 업무 공간에 로그인할 때 사이드바에 나타나며 여러 구성을 설정하는 경우에는 고유해야 합니다. 초기 생성 후에는 이 이름을 변경할 수 없습니다.

예: Acme SSO

기본 URI

조직에서 SaltStack Config에 사용하는 기본 URL이며 호스트 서버 주소라고도 합니다. FQDN 또는 IP 주소 형식(예: https://example.com)입니다. 슬래시로 끝나서는 안 됩니다.

예: https://sse.example.com

엔티티 ID

SaltStack Config 서비스 제공자의 고유 ID입니다. 기존에는 SAML에 URL과 유사한 문자열을 사용했지만 모든 유형의 문자열이 허용됩니다. 조직에서 사용하는 다른 SAML 애플리케이션과 비교할 때 고유해야 합니다. SaltStack Config를 애플리케이션으로 등록할 때는 동일한 ID를 사용해야 합니다.

예: https://sse.example.com/saml

조직 이름

필드

설명

회사 이름

조직의 이름입니다.

표시 이름

조직의 이름으로 표시할 이름입니다.

웹사이트

조직 웹 사이트의 URL입니다. 이 URL은 무엇이든 될 수 있으며 SSO 기능과 관련이 없습니다.

개인 키

직접 생성한 개인 키이며, cert.pem이라고도 합니다. 이 키는 PEM 형식이어야 합니다. 자세한 내용은 서비스 제공자 인증서 생성을 참조하십시오.

공용 키

직접 생성한 공용 키 및 인증서이며 cert.pub이라고도 합니다. 이 키는 PEM 형식이어야 합니다. 자세한 내용은 서비스 제공자 인증서 생성을 참조하십시오.

기술 담당자

필드

설명

이름

조직에서 애플리케이션을 주로 담당하는 직원의 이름입니다. 이 정보는 SAML 프로토콜에 필요하며 SAML 제공자에게 전달됩니다. SaltStack Config에서는 이 정보가 직접 사용되지 않습니다.

이메일

기술 담당자의 이메일 주소입니다.

지원 연락처

필드

설명

이름

애플리케이션의 기본 기술 담당자가 없는 경우 연락할 수 있는 직원의 이름입니다. 이 정보는 SAML 프로토콜에 필요하며 SAML 제공자에게 전달됩니다. SaltStack Config에서는 이 정보가 직접 사용되지 않습니다.

이메일

지원 연락처의 이메일 주소입니다.

제공자 정보

필드

설명

엔티티 ID

IdP(ID 제공자)의 엔티티 ID입니다.

Azure AD 엔티티 ID의 예: https://sts.windows.net/2f09bc14-a1f0-48ce-8280-0a09e775e40d/

사용자 ID

영구 사용자 ID를 포함할 매핑된 SAML 특성에 대한 참조입니다.

이메일

이메일 주소를 포함할 매핑된 SAML 특성에 대한 참조입니다.

사용자 이름

사용자 이름을 포함할 매핑된 SAML 특성에 대한 참조입니다.

URL

ID 제공자의 SAML 끝점에 액세스하는 데 사용하는 URL입니다.

x509 인증서

ID 제공자의 시스템을 통해 생성된 공용 키가 내장된 X.509 형식의 인증서입니다. 이 키는 PEM 형식이어야 합니다.

보안 검사

필드

설명

Attribute 문 확인

SaltStack Config가 사용자 프로파일에 대한 SAML Attribute 문을 확인하도록 하려면 이 확인란을 선택합니다.

명령줄(CLI)에서 SAML 구성

이 가이드에서는 명령줄이 아닌 SaltStack Config 사용자 인터페이스를 사용하여 SAML을 구성할 것을 강력히 권장합니다. 이 지침은 참조용으로 포함되어 있습니다.

CLI를 사용하여 대부분의 구성 표준을 설정하려면:

  1. RaaS 사용자로 로그인합니다.
    sudo su raas
  2. 선택 사항: 이 단계는 SaltStack Config를 수동으로 설치한 경우에만 필요합니다. RaaS 서버에서 설치 관리자 파일에 포함된 OpenSSL.xml 파일을 설치합니다. 다음 명령을 사용합니다.
    yum install xmlsec1-openssl
    참고:

    RedHat은 모든 기본 저장소에서 쉽게 사용할 수 있는 "xmlsec1" 이 없습니다. 한 가지 가능한 해결 방법은 CentOS 시스템에서 RPM을 다운로드하여 RedHat으로 전송하는 것입니다.

  3. 구성 파일을 저장할 디렉토리로 이동합니다. 모든 디렉토리 경로가 허용됩니다.
  4. ID 서비스 제공자에 필요한 필수 구성 정보를 사용하여 YAML 파일을 생성합니다. 이러한 구성 파일의 형식을 지정하는 방법에 대한 예는 샘플 구성 파일을 참조하십시오.
    참고:

    다양한 필드에 대한 설명은 SAML 정보 필드를 참조하십시오.

  5. 다음 명령을 사용하여 구성 파일을 실행합니다.
    raas save_sso_config <filepath>

샘플 구성 파일

Google용 샘플 SAML 구성 파일

다음 샘플의 자리 표시자 텍스트를 IdP에서 제공한 정보로 대체합니다.

name: Google
backend: social_core.backends.saml.SAMLAuth
settings:
  base_uri: https://example.com
  saml_sp_entity_id: raas
  saml_org_info:
    en-US:
    name: Name of Your Organization
    displayname: Display Name for Your Organization
    url: https://example.com
  saml_technical_contact:
    givenName: Name of Your Technical Contact
    emailAddress: email@my_technical_contact.com
  saml_support_contact:
    givenName: Name of Your Support Contact
    emailAddress: email@my_support_contact.com
  saml_enabled_idps:
    saml:
      entity_id: https://accounts.google.com/o/your_organization_id
      attr_user_permanent_id: Your organization's permanent ID
      attr_email: email@my_email_with_identity_provider.com
      attr_username: Your organization's username for the IdP
      url: https://accounts.google.com/o/saml2/your_organization_id
      x509cert: |
        -----BEGIN CERTIFICATE-----
        Insert certificate block of text here
        -----END CERTIFICATE-----
      saml_sp_private_key: |
        -----BEGIN PRIVATE KEY-----
        Insert private key block of text here
        -----END PRIVATE KEY-----
      saml_sp_public_cert: |
        -----BEGIN CERTIFICATE-----
        Insert certificate block of text here
        -----END CERTIFICATE-----

Okta용 샘플 SAML 구성 파일

다음 샘플의 자리 표시자 텍스트를 IdP에서 제공한 정보로 대체합니다.

name: Okta
backend: social_core.backends.saml.SAMLAuth
settings:
  base_uri: https://example.com
  saml_sp_entity_id: https://example.com/auth/complete/saml
  saml_org_info:
    en-US:
    name: Name of Your Organization
    displayname: Display Name for Your Organization
    url: https://example.com
 saml_technical_contact:
   givenName: Name of Your Technical Contact
   emailAddress: email@my_technical_contact.com
saml_support_contact:
  givenName: Name of Your Support Contact
  emailAddress: email@my_support_contact.com
saml_security_config:
  wantAttributeStatement: False
saml_enabled_idps:
  okta:
    entity_id: https://www.okta.com/your_organization_id
    attr_user_permanent_id: Your organization's permanent ID
    attr_email: email@my_email_with_identity_provider.com
    attr_username: Your organization's username for the IdP
    url: https://example.okta.com/app/your_organization_id
    x509cert: |
      -----BEGIN CERTIFICATE-----
      Insert certificate block of text here
      -----END CERTIFICATE-----
    saml_sp_private_key: |
      -----BEGIN PRIVATE KEY-----
      Insert private key block of text here
      -----END PRIVATE KEY-----
    saml_sp_public_cert: |
      -----BEGIN CERTIFICATE-----
      Insert certificate block of text here
      -----END CERTIFICATE-----

Google용 샘플 OIDC 구성 파일

다음 샘플의 자리 표시자 텍스트를 IdP에서 제공한 정보로 대체합니다.

name: Name of Your Organization
backend: social_core.backends.google_openidconnect.GoogleOpenIdConnect
settings:
  base_uri: example.com
  google_openidconnect_key: your_id.apps.googleusercontent.com
  google_openidconnect_secret: your_secret

명령줄(CLI)에서 SSO 구성 업데이트

CLI에서 구성 표준을 업데이트하려면:

  1. RaaS 사용자로 로그인합니다.
    sudo su raas
  2. 구성 파일을 저장한 디렉토리로 이동합니다. 필요에 따라 구성 파일을 업데이트합니다.
  3. 다음 명령을 사용하여 구성 파일을 저장합니다.
    raas save_sso_config <filepath>

명령줄(CLI)에서 SSO 구성 삭제

SaltStack Config 사용자 인터페이스에 액세스할 수 있으면 UI를 사용하여 SSO 구성을 삭제하는 것이 좋습니다. 하지만 필요한 경우에는 API(RaaS)를 사용하여 SSO 구성을 삭제할 수 있습니다.

SSO 구성을 삭제하려면 삭제할 구성에 할당된 슬러그를 찾아야 합니다. 슬러그란 모두 소문자인 구성의 이름을 대시(-) 마크로 구분하여 표현한 것입니다. 예를 들어 슬러그는 "name-of-your-organization" 일 수 있습니다. Google에서 SAML에 대한 슬러그는 google입니다.

  1. API(RaaS)에서 다음 명령을 사용하여 SSO 백엔드 목록을 생성합니다.
    client.api.settings.get_sso_backends()
  2. SSO 백엔드 목록에서 삭제할 구성에 대한 슬러그를 찾습니다. 그 후에 다음 명령을 입력하고 자리 표시자 텍스트는 구성 슬러그로 대체합니다.
    client.api.settings.delete_sso_config('slug-for-your-configuration')