소개
이 문서에서는 vManage에서 SSO(Single Sign On)를 활성화하고 확인하는 기본적인 사항에 대해 설명합니다.
용어
SAML(Security Assertion Markup Language)은 당사자 간에, 특히 ID 제공자와 서비스 제공자 간에 인증 및 권한 부여 데이터를 교환하기 위한 개방형 표준입니다. SAML의 이름에서 알 수 있듯이, SAML은 보안 어설션(통신 사업자가 액세스 제어 결정을 내리는 데 사용하는 명령문)을 위한 XML 기반 마크업 언어입니다.
IdP(Identity Provider)는 "다른 웹 사이트에 액세스하기 위해 SSO(Single Sign-On)를 사용할 수 있는 신뢰할 수 있는 제공자"입니다. SSO는 비밀번호 피로도를 줄이고 사용성을 개선합니다. 잠재적 공격 표면을 줄이고 더 우수한 보안을 제공합니다.
서비스 공급자 - SAML의 SSO 프로파일과 함께 인증 어설션을 수신하고 수락하는 시스템 엔터티입니다.
기능
- 18.3.0부터 vManage는 SSO를 지원합니다. SSO를 사용하면 사용자가 외부 IP(Identity Provider)에 대해 인증하여 vManage에 로그인할 수 있습니다.
- SAML2.0만 지원됩니다.
- 지원 대상 - 단일 테넌트(독립형 및 클러스터), 다중 테넌트(공급자 레벨 및 테넌트 레벨 모두), 또한 다중 테넌트 구축은 기본적으로 클러스터입니다. Provider-as-tenant는 적용할 수 없습니다.
- 각 테넌트는 SAML 2.0 사양에 맞춰져 있는 한 고유한 ID 제공자를 가질 수 있습니다.
- 파일 업로드, 일반 텍스트 복사 및 vManage 메타데이터 다운로드를 통한 IDP 메타데이터 구성을 지원합니다.
- 브라우저 기반 SSO만 지원됩니다.
- vmanage 메타데이터에 사용되는 인증서는 이 릴리스에서 구성할 수 없습니다.
SSO를 처음 활성화할 때 생성되는 자체 서명 인증서이며 다음 매개변수를 사용합니다.
문자열 CN = <TenantName>, DefaultTenant
문자열 OU = <조직 이름>
문자열 O = <Sp 조직 이름>
문자열 L = "San Jose";
문자열 ST = "CA";
문자열 C = "USA";
문자열 유효성 = 5yrs;
인증서 서명 알고리즘: SHA256WithRSA
키 쌍 생성 알고리즘: RSA
- 단일 로그인 - SP Initiated 및 IDP Initiated 지원
- 단일 로그아웃 - SP만 시작됨
vManage에서 활성화하는 방법
외부 ID 제공자를 사용하여 사용자를 인증할 수 있도록 vManage NMS에 대해 SSO(Single Sign-On)를 활성화하려면 다음을 수행합니다.
- vManage NMS에서 NTP를 활성화했는지 확인합니다.
- IdP에 구성된 URL을 사용하여 vManage GUI에 연결
(예: vmanage-112233.example.net 및 IP-Address를 사용하지 마십시오. 이 URL 정보는 SAML 메타데이터에 포함되기 때문입니다.)
- ID 공급자 설정 표시줄 오른쪽에 있는 Edit(편집) 버튼을 클릭합니다.
- Enable Identity Provider(ID 제공자 활성화) 필드에서 Enabled(활성화)를 클릭합니다.
- ID 제공자 메타데이터를 복사하여 Upload Identity Provider Metadata(ID 제공자 메타데이터 업로드) 상자에 붙여넣습니다. 또는 Select a File(파일 선택)을 클릭하여 ID 제공자 메타데이터 파일을 업로드합니다.
- 저장을 클릭합니다.
워크플로란 무엇입니까?
- 사용자는 Administration(관리)->Settings(설정) 페이지를 통해 ID 제공자 메타데이터를 업로드하여 SSO를 활성화합니다.
- 그런 다음 사용자는 해당 vManage 테넌트 메타데이터를 다운로드하여 ID 공급자에 업로드합니다(vManage 메타데이터를 생성하려면 한 번 이상 수행해야 함).
- 사용자는 필요한 경우 언제든지 메타데이터를 비활성화하거나 업데이트할 수 있습니다.
샘플 vManage 메타
vManage는 2단계 인증을 지원하며 SSO와 어떻게 다릅니까?
Two-Factor Authentication(2FA라고도 함)은 MFA(Multi-Factor Authentication)의 유형 또는 하위 집합입니다. 1) 자신이 알고 있는 것, 2) 자신이 가지고 있는 것, 3) 자신이 있는 것 등의 두 가지 요소를 조합하여 사용자가 주장하는 신원을 확인하는 방식이다.
예: Google GMail(OTP(One Time Password) 포함 비밀번호)
2FA는 SSO 서버에서 제공되는 기능입니다. 내부 Cisco 웹 사이트에 로그인하는 방법과 유사합니다.
Cisco SSO로 리디렉션되며, 여기서 PingID/DUO 2FA를 입력하라는 메시지가 표시됩니다.
솔루션의 일부로 몇 개의 역할이 있습니까?
기본, 운영자, netadmin의 세 가지 역할이 있습니다.
사용자 액세스 및 인증 구성
어떤 IdP를 지원합니까?
- 옥타
- PingID
- AD FS
- Microsoft Azure(20.9 이상)
고객은 다른 IdP를 사용할 수 있으며 작동하는 것을 확인할 수 있습니다. 이는 '최선의 노력' 아래 이루어질 것입니다.
기타: Oracle Access Manager, F5 Networks
참고: vManage에서 지원하는 최신 IdP에 대한 최신 Cisco 설명서를 확인하십시오.
SAML 어설션에서 사용자 그룹 멤버십을 나타내는 방법
문제: vManage를 SAML IdP로 프런트 엔딩합니다. 사용자가 성공적으로 인증되면 대시보드만 액세스할 수 있습니다.
사용자가 SAML을 통해 인증될 때 (사용자 그룹 RBAC를 통해) 사용자에게 더 많은 액세스를 제공할 방법이 있습니까?
이 문제는 IDP를 잘못 구성했기 때문에 발생합니다. 여기서 중요한 점은 인증 중에 IDP가 보낸 정보에 xml의 특성으로 "Username" 및 "Groups"가 포함되어 있어야 한다는 것입니다. 다른 문자열이 "Groups" 대신 사용되는 경우 usergroup은 기본적으로 "Basic"입니다. "기본" 사용자는 기본 대시보드에만 액세스할 수 있습니다.
IDP가 vManage에 "UserId/role" 대신 "Username/Groups"를 전송해야 합니다.
다음은 /var/log/nms/vmanage-server.log 파일에 나와 있는 예입니다.
비작업 예:
"UserId/role"이 IdP에 의해 전송되었으며 사용자가 기본 그룹에 매핑되어 있습니다.
01-Mar-2019 15:23:50,797 UTC INFO [vManage] [SAMLAuthenticationProvider] (default task-227) |default| AttributeMap: {role=[netadmin], UserId=[Tester@example.com]}
01-Mar-2019 15:23:50,797 UTC INFO [vManage] [SAMLAuthenticationProvider] (default task-227) |default| AttributeMap: {role=[netadmin], UserId=[Tester@example.com]}
01-Mar-2019 15:23:50,797 UTC INFO [vManage] [SAMLAuthenticationProvider] (default task-227) |default| Roles: [Basic]
작업 예:
여기서 "Username/Groups(사용자 이름/그룹)"가 표시되고 사용자는 netadmin 그룹에 매핑됩니다.
05-Mar-2019 21:35:55,766 UTC INFO [vManage] [SAMLAuthenticationProvider] (default task-90) |default| AttributeMap: {UserName=[Tester@example.com], Groups=[netadmin]}
05-Mar-2019 21:35:55,766 UTC INFO [vManage] [SAMLAuthenticationProvider] (default task-90) |default| AttributeMap: {UserName=[Tester@example.com], Groups=[netadmin]}
05-Mar-2019 21:35:55,766 UTC INFO [vManage] [SAMLAuthenticationProvider] (default task-90) |default| Roles: [netadmin]
SSO 작동 여부를 활성화/확인하는 방법
SSO 기능 디버그 로깅은 다음 단계를 통해 활성화할 수 있습니다.
1. https://<vManage_ip_addr:port>/logsettings.html으로 이동합니다.
2. 이미지에 표시된 대로 SSO 로깅을 선택하고 활성화합니다.
3. 활성화되면 Submit(제출) 버튼을 누릅니다.
- SSO 관련 로그는 vManage 로그 파일에 저장됩니다. /var/log/nms/vmanage-server.log에서 IDP 권한 부여에 대한 "Groups(그룹)" 설정이 특히 중요합니다. 일치하는 항목이 없으면 읽기 전용 액세스 권한이 있는 "기본" 그룹이 기본값으로 사용됩니다.
- 액세스 권한 문제를 디버깅하려면 로그 파일을 확인하고 "SamlUserGroups" 문자열을 찾습니다. 후속 출력은 그룹 이름의 문자열 목록이어야 합니다. 이 중 하나는 vManage의 그룹 설정과 일치해야 합니다. 일치하는 항목이 없는 경우 사용자는 기본적으로 "기본" 그룹으로 설정됩니다.
SAML 트레이서
SSO(Single Sign-On) 및 SSO(Single Logout) 중에 브라우저를 통해 전송된 SAML 및 WS-Federation 메시지를 보는 도구입니다.
FireFox SAML-Tracer 애드온
Chrome SAML-Tracer 확장
샘플 SAML 메시지
SSO가 활성화된 vManage에 로그인하는 방법
SSO는 브라우저 로그인에만 사용됩니다. 사용자 이름과 비밀번호만 사용하려면 수동으로 vManage를 일반 로그인 페이지로 이동하고 SSO를 우회할 수 있습니다. https://<vmanage>:8443/login.html
어떤 암호화 알고리즘을 사용합니까?
현재 암호화 알고리즘으로 SHA1을 지원합니다. vManage는 SHA1 알고리즘으로 SAML 메타데이터 파일에 서명하며, IdPs는 이를 수락해야 합니다. SHA256에 대한 지원은 향후 릴리스에서 제공될 예정이며, 현재 Cisco에서는 이를 지원하지 않습니다.
관련 정보
단일 로그인 구성: https://www.cisco.com/c/en/us/td/docs/routers/sdwan/configuration/security/ios-xe-16/security-book-xe/configure-sso.html
OKTA 로그인/로그아웃은 케이스에 참조로 첨부되는 작업 로그입니다.