Grafana - SAML
Grafana에서 SAML 구성은 Grafana Enterprise 또는 Grafana Cloud에서만 지원됩니다.
현재 운영 중인 Grafana에 SAML 지원 가능 여부 확인 필요.

Ⅰ. Okta-Grafana SSO 연동 (SAML)
1. [Okta] 앱 등록 및 설정
경로": "Applications" → "Applications" → "Create App Integration" 선택

"SAML 2.0" 선택 후 "Next" 선택
App integration name (필수) : Application 이름 입력
Logo (선택) : 별도로 다운 받거나 아래 로고 파일 다운로드 후 업로드
General 옵션 설정
Single sign-on URL : https://<Grafana_ORG>.grafana.net/saml/acs
Audience URI (SP Entity ID) : https://<Grafana_ORG>.grafana.net/saml/metadata
Default RelayState : https://<Grafana_ORG>.grafana.net
Attribute Statements (optional) 설정
Login
Unspecified
user.login
Unspecified
user.email
DisplayName
Unspecified
user.firstName + " " + user.lastName

Group Attribute Statements (optional)
Group
Unspecified
Matches regex
.*

"Next" 선택
"Feedback" 사항에서는 구성에 필요한 사항이 없으므로 "Finish" 선택
2. [Grafana] 인증 설정
경로 : "Administration" → "Authentication" → "SAML" 선택
각 "General settings" 항목을 입력 후 "Next: Sign Requests" 선택합니다.
Display name for this SAML 2.0 integration :
SSO IDP에 대한 네이밍을 입력합니다. Login 항목에서 네이밍이 표시됩니다.
Entity ID :
Grafana instance의 metadata URL을 입력 합니다. https://<Grafana_ORG>.grafana.net/saml/metadata
Relay state * :
Grafana instance의 도메인 정보를 입력합니다. https://<Grafana_ORG>.grafana.net
"2 Sign requests" 항목은 설정 사항이 없으며, "Next: Connect Grafana with Identity Provider" 클릭합니다.
"3 Connect Grafana with Identity Provider" 에서 2번 "Finish configuring Grafana using IdP data" 항목을 선택 및 입력 합니다.
IdP's metadata : "URL for metadata" 선택
Metadata URL : Metadata URL 정보는 아래 Okta 관리 콘솔에서 확인이 가능하며 복사 후 붙여 넣어 주시면 됩니다.
모두 완료 되었다면 "Next: User mapping"을 선택합니다.
"4 User mapping" 항목에서 Okta 속성 정보를 매핑하기 위한 필드를 입력합니다.
Name attribute : DisplayName
Login attribute : Login
Email attribute : Email
Groups attribute : Group
입력이 완료 되면, "Next: Test and enable" 선택합니다.
"Save and enble" 선택 합니다.
"Authentication" 항목에서 우측 상단 "Auth settings"을 선택합니다.
"Enable insecure email lookup" 설정 옵션을 활성화 합니다.
3. 사용자 인증 경험
1) Grafana Web 인증
2) Okta 대시보드를 통한 인증
Ⅱ. Okta-Grafana 권한 구성 (Basic Role)
해당 권한 구성은 Okta 인증 사용자 Basic Role을 관리하고 적용하기 위한 구성입니다.
Okta SAML 인증을 통해 Grafana 로그인한 사용자는 Okta에서 부여한 권한이 적용됩니다. 기존의 Grafana 계정도 Okta 인증 시 Okta에서 부여한 사용자 Basic Role이 적용되어 변경됩니다. "SAML" Orgin 계정은 Grafana 관리 콘솔에서 Role 변경이 가능하지만, Logout 이후 Okta SAML 재인증 시 Okta에 부여된 Role로 다시 변경됩니다.

아래는 예시 입니다. (RBAC 구성)
(기존) Grafana 계정 권한 - Role : Editor / Origin : grafana.com

Okta에서 동일 계정의 Role을 "Admin" 권한으로 구성

Okta 인증 이후 "Origin"과 Okta에서 구성한 Role 부여로 정보가 변경 사항 확인.
Okta 인증 - Role : Admin / Origin : SAML

Grafana Sign out 이후 "Default" 로그인
"Sign in with Grafana.com" 선택

Grafana에 구성한 Role 및 Origin 변경
Role : Editor


1. 개별 사용자 Role 구성 (ABAC)
1) Okta Default User의 Profile 추가
경로 : "Directory" → "Profile Editor" → Okta "User (default)" 선택
"Add Attribute" 선택
아래 옵션 입력 및 설정 → "Save" 선택
Display name : Grafana Role
Variable name : grafana_role
Enum : (Enable) Define enumerated list of values
Attribute members
Display name / Value
Viewer Value / Viewer
Editor Value / Editor
Admin Value / Admin
2) Grafana Application의 User Profile 추가
경로 : "Directory" → "Profile Editor" 선택

"Users" 항목에서 "Grafana" 검색 후 해당 Application 선택
"Add Attribute" 선택
옵션 입력 및 선택 항목 → "Save" 선택
Display name : Grafana Role
Variable name : grafana_role
Enum : (Enable) Define enumerated list of values
Attribute members
Display name / Value
Viewer Value / Viewer
Editor Value / Editor
Admin Value / Admin
Attributes 매핑
"Mappings" 옵션에서 "Configure User mappings" 선택
Grafana "grafana_role" 속성 정보와 Okta의 "grafana_role" 속성 필드랑 매핑합니다.
매핑 옵션을 "Apply mapping on user create and update" 항목으로 변경
"Save Mappings" 선택
"Apply updates now" 선택
3) "Attribute Statements" 구성
"Applications" → "Applications" → "Grafana" 검색 후 Grafana Application 선택
"General" 항목에 "SAML Setting"의 "Edit" 선택
"General Settings" 항목에서 "Next" 선택합니다.
"Configure SAML" 항목 중, "Attribute Statements (optional)"에서 "Add Another" 선택합니다.
아래 항목으로 옵션 값을 입력합니다.
GrafanaRole
Unspecified
user.grafana_role

입력이 완료되면 맨 하단의 "Next"를 선택합니다.
"Feedback" 항목에서 "Finish" 선택합니다.
4) Grafana 관리 콘솔에서 Role 속성 구성
"Administration" → "Authentication" → "SAML" 선택
"4 User mapping" 선택
"User mapping" 옵션 중, "Role attribute"와 "Role mapping" 항목을 아래와 같이 입력하고 "Save and apply" 선택합니다.
Role attribute : GrafanaRole
Role mapping 옵션
Viewer : Viewer
Editor : Editor
Admin : Admin
4) Okta에서 사용자 할당 및 Grafana Role 적용
"Applications" → "Applications" → "Grafana" 검색 후 Grafana Application 선택
"Assignments" → "Assign" 옵션 중, "Assign to People" 선택
Application 할당할 사용자 검색 후 해당 사용자 "Assign" 선택
사용자 속성 필드 중, Grafana Role에 대하여 사용자에게 할당할 Basic Role을 선택 후 "Save and Go Back" 선택
"Done" 선택
2. 그룹 사용자 Role 구성 (RBAC)
1) Okta 그룹 생성 및 사용자 할당
"Directory" → "Group" → "Add group" 선택
Grafana Role을 부여하고 식별하기 위한 그룹명을 입력하고 "Save" 선택합니다.
동일한 방법으로 3가지 Basic Role의 그룹을 생성합니다.
생성 완료 되었다면, 각 그룹(Basic Role)에 사용자를 할당합니다.
그룹 선택 후 "Assign people" 선택합니다.
할당하고자 하는 사용자들에 대하여 우측에 "+" 버튼을 선택하여 등록 후 상단의 "Done"을 선택합니다.
2) Application 그룹 할당
"Application" → "Application" 에서 Grafana Application을 검색 및 선택합니다.
"Assignments" 항목에서 "Assign" 옵션 중, "Assign to Groups" 선택합니다.
위에서 생성한 Grafana 그룹명을 검색 후 Role 구성의 그룹에 대하여 "Assign"을 선택합니다.
Grafana 그룹이 모두 "Assigned" 되면 하단에 "Done"을 선택합니다.
3) Okta 그룹명에 대한 Grafana 그룹 Role 구성
Grafana 관리 콘솔에서 "Administration" → "Authentication" → "SAML" 선택합니다.
"4 User mapping" 선택
"User mapping" 옵션 중, "Role attribute"와 "Role mapping" 항목을 아래와 같이 입력하고 "Save and apply" 선택합니다.
Role attribute : Group
Role mapping 옵션 (Okta Role Group name)
Viewer : Grafana_Viewer_Role_Group
Editor : Grafana_Editor_Role_Group
Admin : Grafana_Admin_Role_Group
Ⅲ. Teams 동기화 구성 (Fixed Roles)
해당 가이드는 상단의 권한 구성에서 생성한 Okta 그룹(Grafana_Admin_Role_Group)에 대하여 Grafana Teams 동기화 구성의예시입니다.
1. Okta 에서 Grafana Application 그룹 할당
"Applications" → "Applications" → "Grafana" Application 선택 → "Assignments" → Groups Assign
2. Grafana Teams 구성 설정
"Administration" → "Users and access" → "Teams" → 동기화 구성할 팀 선택
"External group sync" → "Add group" 선택
Okta 그룹명(Grafana_Admin_Role_Group)을 입력 후 "Add group" 선택
"팀 동기화 구성"의 중복 그룹 사용자 할당 및 그룹 변경 사용자에 대한 Grafana Teams 추가/삭제
Okta 중복 그룹 사용자
Grafana Teams 구성원 현황
![]()
Okta 사용자 중복 그룹 할당
![]()
Okta 사용자 인증 후 Grafana Teams 매핑구성원 추가
![]()
Okta에서 사용자의 그룹(Grafana_Editor_Role_Group) 제거
![]()
Okta에서 제거 된 그룹에 대하여 매핑 된 Grafana Teams에서 구성원 자동 삭제
Okta 인증 세션이 존재하는 경우, 기존의 그룹 정보가 포함되어 있기 때문에 Okta에서 사용자의 그룹을 삭제하여도 사용자가 Okta 재 인증을 받기 전엔 동일 그룹 정보가 존재합니다.
즉, 변경된 그룹 정보가 Grafana Teams 반영되기 위해서는 Okta 및 Grafana 모두 로그아웃 이후에 재인증을 받아야 합니다.
Last updated































































