Okta로 SAML 구성

Okta로 SAML 구성 (Configure SAML with Okta)

Grafana는 Okta를 통한 사용자 인증을 지원해요. 사용자들이 SSO(single sign-on)로 Grafana에 접근하게 하려면 유용한 방법이죠. 이 가이드는 Okta를 IdP로 사용해 Grafana에서 SAML 인증을 구성하는 단계를 안내합니다.

출처: Configure SAML with Okta

본문

Okta 조직의 Admin이어야 Admin Console에 접근하고 SAML 통합을 만들 수 있어요. Grafana 구성 파일을 편집하고 Grafana 서버를 재시작할 권한도 필요해요.

시작하기 전에 (Before you begin)

SAML 통합을 Okta로 구성하려면 먼저 Okta 조직 안에 앱 통합(app integration)을 만들어요. 그리고 SAML 인증을 관리할 권한이 있는지 확인하세요. 자세한 내용은 Roles and permissions 문서를 참고하세요.

Okta로 SAML 설정

⚠️ 주의: 이 단계는 도움을 위한 것이며, 최신 지침은 공식 Okta 문서를 참고하세요.

  1. Okta 포털에 로그인해요.
  2. 오른쪽 상단의 Admin을 클릭해 Okta 조직의 Admin Console로 이동해요. Developer Console에 있다면 왼쪽 상단의 Developer Console을 클릭한 뒤 Classic UI를 클릭해 Admin Console로 전환해요.
  3. Admin Console에서 Applications > Applications로 이동해요.
  4. Create App Integration을 클릭해 Application Integration Wizard를 시작해요.
  5. Sign-in method로 SAML 2.0을 선택해요.
  6. Create를 클릭해요.
  7. General Settings 탭에서 Grafana 통합 이름을 입력해요. 로고를 업로드할 수도 있어요.
  8. Configure SAML 탭에서 Grafana 인스턴스와 관련된 SAML 정보를 입력해요.
    • Single sign on URL: Grafana 인스턴스의 /saml/acs 엔드포인트 URL을 사용해요. 예: https://grafana.example.com/saml/acs.

    • Audience URI (SP Entity ID): /saml/metadata 엔드포인트 URL을 사용해요. 기본적으로 Grafana 인스턴스의 /saml/metadata 엔드포인트예요(예: https://example.grafana.com/saml/metadata). 다르게 구성할 수도 있지만, 여기 값은 Grafana SAML 설정의 entity_id 설정과 일치해야 해요.

    • Name ID format과 Application username은 기본값으로 둬요.

      참고: SAML Single Logout을 활성화할 계획이라면 Name ID format을 EmailAddress 또는 Persistent로 설정하는 것을 고려하세요. 이 값은 Grafana 인스턴스의 name_id_format 설정과 일치해야 해요.

    • ATTRIBUTE STATEMENTS (REQUIRED) 섹션에서 Grafana와 공유할 SAML 속성을 입력해요. Okta의 속성 이름은 Grafana 내에 정의된 것과 정확히 일치해야 해요. 예:

      Grafana의 속성 이름 Okta 프로필의 이름과 값 Grafana 구성(auth.saml 아래)
      Login Login - user.login assertion_attribute_login = Login
      Email Email - user.email assertion_attribute_email = Email
      DisplayName DisplayName - user.firstName + " " + user.lastName assertion_attribute_name = DisplayName
    • GROUP ATTRIBUTE STATEMENTS (OPTIONAL) 섹션에서 그룹 속성 이름을 입력하고(예: Group — Grafana의 assertion_attribute_groups 설정과 일치해야 함) 필터를 Matches regex .*로 설정해 모든 사용자 그룹을 반환해요. 이 그룹들을 역할 할당에 사용하려면 Okta로 역할 동기화 구성을 참고하세요.

  9. Next를 클릭해요.
  10. 마지막 Feedback 탭에서 양식을 작성한 뒤 Finish를 클릭해요.

SCIM 프로비저닝 사용 시 SAML assertion 구성

로그인한 사용자가 Okta를 통해 프로비저닝된 사용자와 같은 사용자인지 확인하려면 assertion_attribute_external_id SAML assertion을 매핑해 동일한 externalId를 SAML assertion에 포함해야 해요.

  1. Okta 애플리케이션을 열어요.
  2. SAML single sign-on 구성을 선택해요.
  3. Attributes & Claims 섹션을 편집해요.
  4. 다음 설정으로 새 claim을 추가해요.
    • Name: userUID

예시 구성:

Grafana의 속성 이름 Okta 프로필의 이름과 값 Grafana 기본 구성(auth.saml 아래)
userUID userUID - user.getInternalProperty("id") assertion_attribute_login = userUID

더 알아보기 (Learn more)