SAML(Security Assertion Markup Language)은 엔터프라이즈 ID 공급자와 서비스 공급자(이 경우 Portal for ArcGIS) 간에 인증 및 권한 부여 데이터를 안전하게 교환하기 위한 개방형 표준입니다. 이를 실현하는 데 사용되는 접근 방법을 SAML Web Single Sign On이라고 합니다. 이 포털은 SAML 2.0을 준수하며 SAML 2 Web Single Sign On을 지원하는 ID 공급자에 통합됩니다. SAML을 설정하면 Portal for ArcGIS에 접근하는 사용자를 위해 추가 로그인을 생성할 필요가 없다는 이점이 있습니다. 대신에 사용자는 이미 엔터프라이즈 ID 저장소에 설정되어 있는 로그인을 사용합니다. 이 문서에서는 이 프로세스를 엔터프라이즈 로그인 설정으로 지칭합니다.
선택적으로 ID 저장소의 엔터프라이즈 그룹에 대한 메타데이터를 포털에 제공할 수 있습니다. 이를 통해 포털에서 ID 저장소의 기존 엔터프라이즈 그룹을 활용하는 그룹을 생성할 수 있습니다. 구성원이 포털에 로그인한 경우 콘텐츠, 항목, 데이터에 대한 접근 권한은 엔터프라이즈 그룹에 정의된 멤버십 규칙에 따라 제어됩니다. 필요한 엔터프라이즈 그룹 메타데이터를 제공하지 않은 경우에도 그룹을 생성할 수 있습니다. 그러나 이 경우 멤버십 규칙이 ID 저장소가 아니라 Portal for ArcGIS에 의해 제어됩니다.
Portal for ArcGIS에서 ArcGIS Online 사용자 이름 매칭
ArcGIS Online 기관과 포털에 동일한 SAML 준수 ID 공급자가 사용되는 경우 엔터프라이즈 이름이 일치하도록 구성할 수 있습니다. ArcGIS Online의 모든 엔터프라이즈 사용자 이름의 끝에는 기관의 짧은 이름이 추가되어 있습니다. 포털의 보안 구성 내에 있는 defaultIDPUsernameSuffix 등록정보를 정의하고 기관의 짧은 이름과 일치하도록 설정하여 동일한 엔터프라이즈 사용자 이름을 포털에 사용할 수 있습니다. ArcGIS Online과 포털 양쪽에서 엔터프라이즈 사용자가 편집한 피처 서비스에 편집자 추적이 활성화된 경우 이러한 구성이 필요합니다.
SAML 로그인 환경
Portal for ArcGIS는 서비스 공급자(SP)에 의한 엔터프라이즈 로그인 및 ID 공급자(IDP)에 의한 엔터프라이즈 로그인을 지원합니다. 로그인 환경은 각각 다릅니다.
서비스 공급자에 의한 로그인
서비스 공급자를 통해 로그인이 시작되었다면 사용자는 포털에 직접 접근하고 빌트인 계정(포털에서 관리) 또는 SAML을 준수하는 ID 공급자에서 관리하는 계정에 로그인할 수 있는 옵션을 사용할 수 있습니다. 사용자가 SAML ID 공급자 옵션을 선택하는 경우 엔터프라이즈 사용자 이름 및 비밀번호를 입력하라는 메시지가 나타나는 웹 페이지(엔터프라이즈 로그인 관리자라고 함)로 재전송됩니다. 사용자의 로그인을 확인할 때 엔터프라이즈 ID 공급자는 로그인하려는 사용자의 확인된 ID를 Portal for ArcGIS에 알리며, 사용자는 포털 웹 사이트로 재전송됩니다.
사용자가 빌트인 계정 옵션을 선택하는 경우 포털 웹 사이트의 로그인 페이지가 열립니다. 그러면 사용자는 빌트인 사용자 이름과 비밀번호를 입력하여 웹 사이트에 접근할 수 있습니다. 이 옵션은 비활성화할 수 없습니다. SAML을 준수하는 ID 공급자를 사용할 수 없는 경우 빌트인 계정 옵션을 안전 장치로 사용할 수 있습니다.
ID 공급자 초기화 로그인
ID 공급자를 통해 로그인이 시작되었다면 사용자는 엔터프라이즈 로그인 관리자에 직접 접근하고 해당 계정으로 로그인합니다. 사용자가 계정 정보를 제출하면 ID 공급자가 SAML 응답을 직접 Portal for ArcGIS에 전송합니다. 그러고 나면 사용자가 로그인되고 기관에 다시 로그인할 필요 없이 리소스에 바로 접근할 수 있는 포털 웹 사이트로 재전송됩니다.
빌트인 계정을 사용하여 로그인하는 옵션은 엔터프라이즈 로그인 관리자에서 사용할 수 없습니다. 빌트인 계정을 사용하여 기관에 로그인하려면 구성원은 포털 웹 사이트에 직접 접근해야 합니다.
SAML ID 공급자
다음 튜토리얼은 Portal for ArcGIS에서 여러 SAML을 준수하는 ID 공급자를 사용하는 방법에 대해 설명합니다.
- AD FS(Active Directory Federation Services) 2.0 이상 버전
- NetIQ Access Manager 3.2 이상 버전
- OpenAM 10.1.0 이상 버전
- Shibboleth 2.3.8 이상 버전
- SimpleSAMLphp 1.10 이상 버전
위에 언급된 ID 공급자로부터 필요한 메타데이터를 얻는 과정은 각 링크에 설명되어 있습니다. Portal for ArcGIS과의 ID 공급자 구성 프로세스는 아래에 설명되어 있습니다. 계속 진행하기 전에 엔터프라이즈 ID 공급자의 관리자에게 문의하여 구성에 필요한 매개변수를 얻는 것이 좋습니다. 예를 들어 기관에서 Microsoft Active Directory를 사용하는 경우 엔터프라이즈 ID 공급자 쪽에서 SAML을 구성하거나 활성화하고, 포털 쪽에서 구성에 필요한 매개변수를 얻으려면 Microsoft Active Directory를 담당하는 관리자가 문의하는 것이 적합합니다.
여러 SAML ID 공급자 지원
SAML을 사용하여 여러 ID 저장소를 사용하는 포털에 대한 접근을 허용할 수 있습니다. 이 방법은 기관 내부 또는 외부에 있는 사용자를 관리하기에 좋습니다.
이는 포털에서 사용하도록 하려는 ID 저장소 간에 신뢰 관계를 설정함으로써 적용됩니다. 이 방법은 일반적으로 보안 관리자가 처리하며, 신뢰 관계는 Portal for ArcGIS에 구성되어 있지 않습니다. 신뢰 관계가 설정되면 포털에서 신뢰할 수 있는 ID 저장소 중 하나만 구성하면 됩니다(아래에 설명됨). 사용자가 포털 웹 사이트 또는 ID 공급자 사이트에 접근하면, 신뢰할 수 있는 ID 공급자 중 하나가 관리하는 엔터프라이즈 계정에 로그인할 수 있는 옵션이 나타납니다.
필수 정보
Portal for ArcGIS 사용자가 엔터프라이즈 로그인을 사용하여 로그인할 때에는 ID 공급자로부터 특정 속성 정보를 받아야 합니다. NameID Portal for ArcGIS 작업과 페더레이션하기 위해 SAML 응답에서 AD FS가 보내야 하는 필수 속성입니다. IDP의 사용자가 로그인하면 Portal for ArcGIS에서 해당 사용자 저장소에 사용자 이름이 NameID인 새 사용자를 생성합니다. NameID 속성에서 보내는 값에 사용할 수 있는 문자는 영숫자, _(밑줄), .(점), @ 기호입니다. 다른 모든 문자는 Portal for ArcGIS에서 생성한 사용자 이름에 밑줄을 포함하도록 이스케이프됩니다.
Portal for ArcGIS는 ID 공급자에서 엔터프라이즈 로그인 givenName 및 email address 속성의 플로-인을 지원합니다. 사용자가 엔터프라이즈 로그인을 사용하여 로그인하고 Portal for ArcGIS가 givenname 및 email 또는 mail이라는 이름의 속성을 받을 경우(어떤 속성이든) Portal for ArcGIS는 ID 공급자에게 받은 값으로 사용자 계정의 전체 이름과 이메일 주소를 채웁니다. 사용자가 알림을 받을 수 있도록 엔터프라이즈 ID 공급자의 email address를 포함하는 것이 좋습니다.
SAML ID공급자로 포털 구성
- 포털 웹 사이트에 내 기관의 관리자로 로그인하여 내 기관 > 설정 편집 > 보안을 클릭합니다.
- 엔터프라이즈 로그인 섹션에서 ID 공급자 설정 버튼을 클릭하고 창이 열리면 기관의 이름을 입력합니다(예시: City of Redlands). 사용자가 포털 웹 사이트에 접근하는 경우 이 텍스트가 SAML 로그인 옵션의 일부로 나타납니다(예시: City of Redlands 계정 사용).
- 사용자가 자동으로 또는 관리자가 계정을 포털에 추가한 후 기관에 가입할 수 있는지 여부를 선택합니다. 첫 번째 옵션을 선택하면 사용자가 관리자의 개입 없이 엔터프라이즈 로그인으로 기관에 로그인할 수 있습니다. 사용자의 계정은 처음 로그인할 때 기관에 자동으로 기관에 등록됩니다. 두 번째 옵션을 이용하려면 관리자가 커맨드 라인 유틸리티 또는 Python 스크립트 샘플을 사용하여 필요한 계정을 기관에 등록해야 합니다. 계정이 등록되고 나면 사용자는 기관에 로그인할 수 있게 됩니다.
팁:
하나 이상의 엔터프라이즈 계정을 포털의 관리자로 지정하고 초기 관리자 계정을 삭제하거나 수준을 내리는 것이 좋습니다. 또한 사용자가 자신의 계정을 생성하지 못하도록 포털 웹 사이트에서 계정 생성 버튼 및 등록 페이지(signup.html)를 비활성화하는 것이 좋습니다. 자세한 내용은 아래의 엔터프라이즈 계정을 관리자로 지정 섹션을 참고하세요.
- SAML을 준수하는 엔터프라이즈 ID 공급자에 대한 필요한 메타데이터 정보를 제공합니다. 메타데이터 정보를 얻기 위해 포털이 접근할 소스를 지정하여 이 작업을 수행할 수 있습니다. 인증된 공급자로부터 메타데이터를 얻는 지침에 대한 링크는 위의 SAML ID 공급자 섹션에서 볼 수 있습니다. 메타데이터 정보의 가능한 소스에는 세 가지가 있습니다.
- URL - ID 공급자에 대한 메타데이터 정보를 반환하는 URL을 제공합니다.
참고 사항:
엔터프라이즈 ID 공급자가 자체 서명된 인증서를 포함하면 메타데이터의 HTTPS URL을 지정하려는 경우 오류가 발생할 수 있습니다. Portal for ArcGIS에서 ID 공급자의 자체 서명된 인증서를 확인할 수 없기 때문에 이 오류가 발생합니다. 또는 아래에서 다른 옵션의 하나인 URL에서 HTTP를 사용하거나 신뢰할 수 있는 인증서로 ID 공급자를 구성합니다.
- 파일 - ID 공급자에 대한 메타데이터 정보가 포함된 파일을 업로드합니다.
- 여기에 지정된 매개변수 - 다음 매개변수를 제공하여 ID 공급자에 대한 메타데이터 정보를 직접 입력합니다.
- 로그인 URL(재전송) - 구성원의 로그인을 허용하기 위해 Portal for ArcGIS에서 사용해야 하는 ID 공급자의 URL(HTTP 재전송 바인딩을 지원함)을 입력합니다.
- 로그인 URL(POST) - 구성원의 로그인을 허용하기 위해 Portal for ArcGIS에서 사용해야 하는 ID 공급자의 URL(HTTP POST 바인딩을 지원함)을 입력합니다.
- 인증서 - 엔터프라이즈 ID 공급자에 대한 인증서를 제공합니다. 이 인증서를 통해 Portal for ArcGIS는 엔터프라이즈 ID 공급자로부터 전송된 SAML 응답의 디지털 서명을 확인할 수 있습니다.
참고 사항:
제공해야 하는 메타데이터 정보의 소스는 ID 공급자의 관리자에게 문의하세요.
- URL - ID 공급자에 대한 메타데이터 정보를 반환하는 URL을 제공합니다.
- 구성 프로세스를 완료하고 ID 공급자의 신뢰 관계를 설정하려면 포털의 서비스 공급자 메타데이터를 엔터프라이즈 ID 공급자에 등록합니다. 포털에서 메타데이터를 획득하는 방법에는 두 가지가 있습니다.
- 내 기관에 대한 설정 편집 페이지의 보안 섹션에서 서비스 공급자 가져오기 버튼을 클릭합니다. 그러면 내 컴퓨터에 XML 파일로 저장할 수 있는 기관의 메타데이터가 보여집니다.
- 메타데이터 URL을 열고 내 컴퓨터에 XML 파일로 저장합니다. URL은 https://webadaptorhost.domain.com/webadaptorname/sharing/rest/portals/self/sp/metadata?token=<token>입니다(예시: https://samltest.domain.com/arcgis/sharing/rest/portals/self/sp/metadata?token=G6943LMReKj_kqdAVrAiPbpRloAfE1fqp0eVAJ-IChQcV-kv3gW-gBAzWztBEdFY). https://webadaptorhost.domain.com/webadaptorname/sharing/rest/generateToken을 사용하여 토큰을 생성할 수 있습니다. 토큰 생성 페이지에 URL을 입력할 때는 ID 공급자 서버의 정규화된 도메인 이름을 웹 앱 URL 필드에 지정합니다. IP 주소 또는 이 요청 원점의 IP 주소와 같은 기타 옵션은 선택할 수 없으며 선택하는 경우 잘못된 토큰이 생성될 수 있습니다.
포털의 서비스 공급자 메타데이터와 인증된 공급자를 등록하는 지침에 대한 링크는 위의 SAML ID 공급자 섹션에서 볼 수 있습니다.
- 다음과 같은 고급 설정을 적절히 구성합니다.
- 어설션 암호화 - 암호화된 SAML 어설션 응답이 Portal for ArcGIS에서 지원됨을 SAML ID 공급자에 나타내려는 경우 이 옵션을 선택합니다. 이 옵션이 활성화되면 ID 공급자가 SAML 응답의 어설션 섹션을 암호화합니다. Portal for ArcGIS와 주고받는 모든 SAML 트래픽이 HTTPS 사용을 통해 이미 암호화되어 있더라도 이 옵션을 통해 또 다른 암호화 레이어가 추가됩니다.
- 서명한 요청 활성화 - 이 옵션을 선택하면 ID 공급자에게 보낸 SAML 인증 요청이 Portal for ArcGIS에 의해 서명됩니다. Portal for ArcGIS에서 보낸 초기 로그인 요청에 서명함으로써 ID 공급자는 모든 로그인 요청이 신뢰할 수 있는 서비스 공급자로부터 시작된 것임을 확인할 수 있습니다.
- ID 공급자에 로그아웃 전파 - 이 옵션을 선택하면 Portal for ArcGIS가 로그아웃 URL을 사용하여 사용자를 ID 공급자에서 로그아웃시킵니다. 로그아웃 URL 설정에서 사용할 URL을 입력합니다. ID 공급자의 로그아웃 URL이 서명되어야 하는 경우 서명한 요청 활성화 옵션도 선택해야 합니다. 이 옵션이 비활성화된 경우 Portal for ArcGIS에서 로그아웃을 클릭하면 사용자가 Portal for ArcGIS에서 로그아웃되며 ID 공급자에서는 로그아웃되지 않습니다. 사용자의 웹 브라우저 캐시가 지워지지 않은 경우 바로 엔터프라이즈 로그인 옵션을 사용하여 Portal for ArcGIS에 다시 로그인을 시도하면 SAML ID 공급자에게 사용자 자격 증명을 제공할 필요 없이 즉시 로그인됩니다. 이는 무단 사용자나 일반 사용자가 쉽게 접근할 수 있는 컴퓨터를 사용하는 경우 악용될 수 있는 보안 취약성입니다.
- 로그아웃 URL - 현재 로그인되어 있는 사용자를 로그아웃시키는 데 사용할 ID 공급자 URL을 입력합니다. ID 공급자의 메타데이터 파일에 이 등록정보가 지정되어 있으면 해당 URL이 자동으로 설정됩니다.
- 엔터티 ID - 새 엔터티 ID를 사용하여 Portal for ArcGIS 기관을 SAML ID 공급자에 고유하게 식별하려면 이 값을 업데이트합니다.
- 선택적으로 ID 저장소의 엔터프라이즈 그룹에 대한 메타데이터를 포털에 제공합니다.
- ArcGIS Portal Directory에 내 기관의 관리자로 로그인합니다. URL은 https://webadaptorhost.domain.com/webadaptorname/portaladmin 형식입니다.
- 보안 > 구성 > ID 저장소 업데이트를 클릭합니다.
- 그룹 구성 JSON을 그룹 저장소 구성(JSON 형식) 텍스트 상자에 입력합니다.
ID 저장소가 Windows Active Directory인 경우 다음 텍스트를 복사하여 사이트에 특정한 정보를 포함하도록 변경합니다.
{ "type": "WINDOWS", "properties": { "isPasswordEncrypted": "false", "userPassword": "secret", "user": "mydomain\\winaccount" } }
대부분의 경우 user 및 userPassword 매개변수 값만 변경하면 됩니다. 비밀번호를 일반 텍스트로 입력한 경우에도 포털의 구성 디렉터리에 저장되거나 나타날 때는 암호화됩니다. user 매개변수에 사용하는 계정은 네트워크에서 Windows 그룹의 이름을 조회할 권한만 있으면 됩니다. 가능한 경우 비밀번호가 만료되지 않은 계정을 사용합니다.
ID 저장소가 LDAP인 경우 다음 텍스트를 복사하여 사이트에 특정한 정보를 포함하도록 변경합니다.
{ "type": "LDAP", "properties": { "userPassword": "secret", "isPasswordEncrypted": "false", "user": "uid=admin,ou=system", "ldapURLForUsers": "ldaps://bar2:10636/ou=users,ou=ags,dc=example,dc=com", "ldapURLForRoles": "ldaps://bar2:10636/dc=example,dc=com", "usernameAttribute": "cn", "caseSensitive": "false", "userSearchAttribute": "cn", "memberAttributeInRoles": "member", "rolenameAttribute":"cn" } }
대부분의 경우 user, userPassword, ldapURLForUsers, ldapURLForRoles 매개변수 값만 변경하면 됩니다. LDAP의 URL은 LDAP 관리자가 제공해야 합니다.
위의 예시에서 LDAP URL은 특정 OU(ou=사용자) 내의 사용자를 나타냅니다. 사용자가 여러 OU에 존재할 경우 LDAP URL은 상위 레벨 OU(또는 필요한 경우 루트 레벨)를 가리킬 수 있습니다. 이 경우 URL은 다음과 같습니다.
"ldapURLForUsers": "ldaps://bar2:10636/dc=example,dc=com",
user 매개변수에 사용하는 계정은 기관에서 그룹의 이름을 조회할 권한이 필요합니다. 비밀번호를 일반 텍스트로 입력한 경우에도 포털의 구성 디렉터리에 저장되거나 나타날 때는 암호화됩니다.
LDAP가 대소문자를 구분하도록 구성된 경우 caseSensitive 매개변수를 false로 설정합니다.
- 사용자 저장소 구성을 위한 JSON 입력을 마쳤으면 구성 업데이트를 클릭하여 변경 내용을 저장하고 포털을 다시 시작합니다.
엔터프라이즈 계정을 관리자로 지정
엔터프라이즈 계정을 포털의 관리자로 지정하는 방법은 사용자가 자동으로 또는 관리자가 계정을 포털에 추가한 후 기관에 가입할 수 있는지 여부에 따라 다릅니다.
기관에 자동으로 가입
사용자가 기관에 자동으로 가입할 수 있는 옵션을 선택한 경우 포털 관리자로 사용할 엔터프라이즈 계정으로 로그인한 상태에서 포털 웹 사이트 홈페이지를 엽니다.
계정이 포털에 자동으로 처음 추가된 경우에는 사용자 역할이 할당됩니다. 기관의 관리자만 계정의 역할을 변경할 수 있으므로 초기 관리자 계정을 사용해 포털에 로그인하여 엔터프라이즈 계정에 관리자 역할을 할당해야 합니다.
- 포털 웹 사이트를 열고 SAML ID 공급자를 사용하여 로그인할 수 있는 옵션을 클릭한 후, 관리자로 사용하려는 엔터프라이즈 계정의 자격 증명을 입력합니다. 이 계정이 다른 사용자의 계정인 경우 계정이 포털에 등록되도록 해당 사용자를 포털에 로그인합니다.
- 계정이 포털에 추가된 것을 확인하고 로그아웃을 클릭합니다. 브라우저의 캐시와 쿠키를 제거합니다.
- 브라우저에서 포털 웹 사이트를 열고, 빌트인 포털 계정을 사용하여 로그인할 수 있는 옵션을 클릭하고, Portal for ArcGIS 설정 시 생성한 초기 관리자 계정의 자격 증명을 제공합니다.
- 포털을 관리하는 데 사용할 엔터프라이즈 계정을 찾아서 역할을 관리자로 변경합니다. 로그아웃을 클릭합니다.
이제 선택한 엔터프라이즈 계정이 포털의 관리자가 되었습니다.
엔터프라이즈 계정을 포털에 수동으로 추가
계정을 포털에 추가한 후 사용자가 기관에 가입할 수 있는 옵션을 선택한 경우 커맨드 라인 유틸리티 또는 Python 스크립트 샘플을 사용하여 필요한 계정을 기관에 등록해야 합니다. 포털을 관리하는 데 사용되는 엔터프라이즈 계정의 관리자 역할을 선택해야 합니다.
초기 관리자 계정 삭제 또는 수준 내리기
이제 대체 포털 관리자 계정이 있으므로 초기 관리자 계정을 사용자 역할에 할당하거나 계정을 삭제할 수 있습니다. 자세한 내용은 초기 관리자 계정을 참고하세요.
사용자가 자신의 계정을 생성하지 못하도록 금지
포털 접근에 대한 보안이 유지되도록 한 후, 사용자가 자신의 계정을 생성할 수 없도록 포털 웹 사이트에서 계정 생성 버튼과 등록 페이지(signup.html)를 비활성화하는 것이 좋습니다. 즉, 모든 구성원이 엔터프라이즈 계정 및 자격 증명을 사용하여 포털에 로그인하며 불필요한 빌트인 계정은 생성할 수 없습니다. 자세한 내용은 사용자의 빌트인 포털 계정 생성 기능 비활성화를 참고하세요.
ArcGIS 계정을 사용한 로그인 비활성화
사용자가 ArcGIS 계정을 사용해 포털에 로그인하는 것을 방지하고 싶다면 로그인 페이지에서 ArcGIS 계정 사용 버튼을 비활성화할 수 있습니다. 이렇게 하려면 아래 단계를 따르세요.
- 포털 웹 사이트에 내 기관의 관리자로 로그인하여 내 기관 > 설정 편집 > 보안을 클릭합니다.
- 로그인 옵션 섹션에서 SAML IDP 계정 전용 라디오 버튼을 선택합니다. IDP는 포털에 구성된 항목에 따라 다릅니다.
- 저장을 클릭합니다.
로그인 페이지에는 ID 공급자 계정을 사용해 포털에 로그인할 수 있는 버튼이 표시됩니다. ArcGIS 계정 사용 로그인 버튼은 사용할 수 없습니다. 로그인 옵션 아래에서 SAML IDP 계정 또는 Portal for ArcGIS 계정을 선택하여 ArcGIS 계정을 통한 구성원 로그인을 다시 활성화할 수 있습니다. IDP 및 포털 이름은 구성된 항목에 따라 다릅니다.
SAML ID 공급자 수정
ID 공급자 제거 버튼을 사용하여 현재 등록된 ID 공급자를 제거할 수 있습니다. 이 버튼은 SAML을 준수하는 ID 공급자를 설정한 경우에만 활성화됩니다. ID 공급자를 제거한 후에는 언제든지 새 ID 공급자를 설정할 수 있습니다.