SAML 조직 매핑 구성
SAML 조직 매핑 구성 (Configure organization mapping for SAML)
조직 매핑(organization mapping)은 IdP에서 얻은 속성 값에 따라 사용자를 Grafana의 특정 조직에 할당하게 해 주는 기능이에요. SAML 인증으로 여러 조직을 운영할 때, 사용자를 자동으로 올바른 조직(과 역할)에 배치하고 싶을 때 유용하답니다.
본문
구성 파일에서 assertion_attribute_org를 조직 정보를 저장하는 속성 이름으로 설정해요. 이 속성은 사용자가 여러 조직에 속하게 하려면 배열이 될 수 있어요.
org_mapping 옵션을 IdP의 조직을 ID로 지정된 Grafana 조직에 매핑하는 Organization:OrgId 쌍의 콤마 구분 목록으로 설정해요. 사용자가 여러 조직에서 다른 역할을 갖게 하려면 이 옵션을 Organization:OrgId:Role 매핑의 콤마 구분 목록으로 설정할 수 있어요.
예를 들어 다음 구성은 Org assertion 속성 값에 따라 Engineering 조직의 사용자를 ID 2인 Grafana 조직에 Editor로, Sales 조직의 사용자를 ID 3인 조직에 Admin으로 할당해요.
[auth.saml]
assertion_attribute_org = Org
org_mapping = Engineering:2:Editor, Sales:3:Admin
⚠️ 경고:
org_mapping옵션은 매핑을 JSON으로 데이터베이스에 저장해요. 크기 제한은 데이터베이스에 따라 달라요. Grafana 12.3 이전의 MySQL에서는 제한이 65,535바이트예요. Grafana 12.3부터는 컬럼이MEDIUMTEXT로 바뀌어 MySQL 제한이 16,777,215바이트(~16MB)로 늘어나요. 사용자를 더 세분화된 제어로 나누어야 한다면 Role과 Team Sync를 사용하는 것을 권장해요.
Grafana 11.5 버전부터 org_mapping 옵션에서 조직 ID 대신 조직 이름을 사용할 수 있어요. 구성하는 조직 이름은 Grafana의 조직 이름과 정확히 일치해야 하며 대소문자를 구분해요. Grafana에서 조직 이름을 찾을 수 없으면 매핑은 무시돼요. 외부 조직이나 조직 이름에 공백이 포함되어 있으면 org_mapping 옵션에 대해 JSON 문법을 사용하세요.
org_mapping = ["Org 1:2:Editor", "ExternalOrg:ACME Corp.:Admin"]
매핑 중 하나가 :를 포함하면 JSON 문법을 사용하고 :를 백슬래시로 이스케이프해요.
# Assign users from "External:Admin" to the organization with name "ACME Corp" as Admin
org_mapping = ["External\:Admin:ACME Corp:Admin"]
예를 들어 다음은 Org assertion 속성 값에 따라 Engineering 조직의 사용자를 이름이 ACME Corp인 Grafana 조직에 Editor로, Sales 조직의 사용자를 ID 3인 조직에 Admin으로 할당해요.
[auth.saml]
assertion_attribute_org = Org
org_mapping = ["Engineering:ACME Corp:Editor", "Sales:3:Admin"]
IdP와 Grafana 양쪽에 대해 여러 조직을 지정할 수 있어요.
org_mapping = Engineering:2, Sales:2—Engineering과Sales의 사용자를 Grafana의2에 매핑.org_mapping = Engineering:2, Engineering:3—Engineering을 Grafana의2와3모두에 할당.
모든 사용자를 기본 역할로 특정 Grafana 조직에 넣고 싶으면 SAML 조직으로 *를 사용할 수 있어요.
org_mapping = *:2:Editor— 모든 사용자를 ID2인 Grafana 조직에 Editor로 매핑.
주어진 SAML 조직의 모든 사용자를 모든 기존 Grafana 조직에 추가하고 싶으면 매핑에서 Grafana 조직으로 *를 사용할 수 있어요.
org_mapping = Engineering:*—Engineering사용자를 모든 기존 Grafana 조직에 매핑.org_mapping = Administration:*:Admin—Administration사용자를 모든 기존 Grafana 조직에 Admin으로 매핑.