Microsoft Windows Server 운영 체제의 AD FS(Active Directory Federation Services) 2.0 롤업 패치 3 및 AD FS 3.0을 Portal for ArcGIS의 엔터프라이즈 로그인용 ID 공급자로 구성할 수 있습니다. 구성 절차는 Portal for ArcGIS에 엔터프라이즈 ID 공급자 등록 및 엔터프라이즈 ID 공급자에 Portal for ArcGIS 등록의 두 가지 주요 단계로 구성됩니다.
필요한 경우 Windows Active Directory의 엔터프라이즈 그룹에 대한 메타데이터를 포털에 제공할 수 있습니다. 이를 통해 포털에서 ID 저장소의 기존 엔터프라이즈 그룹을 활용하는 그룹을 생성할 수 있습니다. 구성원이 포털에 로그인한 경우 콘텐츠, 항목, 데이터에 대한 접근 권한은 엔터프라이즈 그룹에 정의된 멤버십 규칙에 따라 제어됩니다. 필요한 엔터프라이즈 그룹 메타데이터를 제공하지 않은 경우에도 그룹을 생성할 수 있습니다. 그러나 이 경우 멤버십 규칙이 Windows Active Directory가 아니라 Portal for ArcGIS에 의해 제어됩니다.
필수 정보
사용자가 엔터프라이즈 로그인을 사용하여 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을(를) 전달하는 것이 좋습니다.
Portal for ArcGIS에 엔터프라이즈 ID 공급자로 AD FS 등록
- 포털 웹 사이트에 내 기관의 관리자로 로그인하여 내 기관 > 설정 편집 > 보안을 클릭합니다.
- 엔터프라이즈 로그인 섹션에서 ID 공급자 설정 버튼을 클릭하고 창이 나타나면 기관의 이름을 입력합니다(예: City of Redlands). 사용자가 포털 웹 사이트에 접근하는 경우 이 텍스트가 SAML 로그인 옵션의 일부로 나타납니다(예: City of Redlands 계정 사용).
참고 사항:
포털에 대해 하나의 엔터프라이즈 ID 공급자만 등록할 수 있습니다.
- 사용자가 자동으로 또는 관리자가 계정을 포털에 추가한 후 기관에 가입할 수 있는지 여부를 선택합니다. 첫 번째 옵션을 선택하면 사용자가 관리자의 개입 없이 엔터프라이즈 로그인으로 기관에 로그인할 수 있습니다. 사용자의 계정은 처음 로그인할 때 기관에 자동으로 기관에 등록됩니다. 두 번째 옵션을 이용하려면 관리자가 커맨드 라인 유틸리티 또는 Python 스크립트 샘플을 사용하여 필요한 계정을 기관에 등록해야 합니다. 계정이 등록되고 나면 사용자는 기관에 로그인할 수 있게 됩니다.
팁:
하나 이상의 엔터프라이즈 계정을 포털의 관리자로 지정하고 초기 관리자 계정을 삭제하거나 수준을 내리는 것이 좋습니다. 또한 사용자가 자신의 계정을 생성하지 못하도록 포털 웹 사이트에서 계정 생성 버튼 및 등록 페이지(signup.html)를 비활성화하는 것이 좋습니다. 자세한 지침은 포털에서 SAML을 준수하는 ID 공급자 구성을 참고하세요.
- 다음 옵션 중 하나를 사용하여 ID 공급자에 대한 메타데이터 정보를 제공합니다.
- URL - AD FS 페더레이션 메타데이터의 URL에 접근할 수 있으면 이 옵션을 선택하고 URL(예: https://<adfs-server>/federationmetadata/2007-06/federationmetadata.xml)을 입력합니다.
참고 사항:
엔터프라이즈 ID 공급자가 자체 서명된 인증서를 포함하면 메타데이터의 HTTPS URL을 지정하려는 경우 오류가 발생할 수 있습니다. Portal for ArcGIS에서 ID 공급자의 자체 서명된 인증서를 확인할 수 없기 때문에 이 오류가 발생합니다. 또는 아래에서 다른 옵션의 하나인 URL에서 HTTP를 사용하거나 신뢰할 수 있는 인증서로 ID 공급자를 구성합니다.
- 파일 - URL에 접근할 수 없으면 이 옵션을 선택합니다. AD FS에서 페더레이션 메타데이터 파일의 복사본을 다운로드하거나 가져와 파일 옵션을 사용하여 Portal for ArcGIS에 업로드합니다.
- 매개변수 - URL 또는 페더레이션 메타데이터 파일에 접근할 수 없는 경우 이 옵션을 선택합니다. 값을 수동으로 입력하고 요청된 매개변수, 즉 로그인 URL과 인증서를 제공합니다. AD FS 관리자에게 이러한 매개변수를 확인할 수 있습니다.
- URL - AD FS 페더레이션 메타데이터의 URL에 접근할 수 있으면 이 옵션을 선택하고 URL(예: https://<adfs-server>/federationmetadata/2007-06/federationmetadata.xml)을 입력합니다.
- 다음과 같은 고급 설정을 적절히 구성합니다.
- 어설션 암호화 - 이 옵션을 선택하면 ADFS의 SAML 어설션 응답이 암호화됩니다.
- 서명한 요청 활성화 - 이 옵션을 선택하면 AD FS로 보낸 SAML 인증 요청이 Portal for ArcGIS에 의해 서명됩니다.
- ID 공급자에 로그아웃 전파 - 이 옵션을 선택하면 Portal for ArcGIS이 로그아웃 URL을 사용하여 사용자를 AD FS에서 로그아웃시킵니다. 로그아웃 URL 설정에서 사용할 URL을 입력합니다. ID 공급자의 로그아웃 URL이 서명되어야 하는 경우 서명한 요청 활성화를 선택해야 합니다.
참고 사항:
기본 설정에 따라 AD FS에서는 SHA-256을 사용하여 로그아웃 요청에 서명을 해야 하므로, 서명한 요청 활성화 및 SHA256을 사용하여 서명을 선택해야 합니다.
- 로그아웃 URL - 현재 로그인되어 있는 사용자를 로그아웃시키는 데 사용할 ID 공급자 URL입니다.
- 엔터티 ID - 새 엔터티 ID를 사용하여 포털을 AD FS에 고유하게 식별하려면 이 값을 업데이트합니다.
어설션 암호화 및 서명한 요청 활성화 설정에는 포털 KeyStore의 samlcert 인증서가 사용됩니다. 새 인증서를 사용하려면 samlcert 인증서를 삭제하고 포털로 인증서 가져오기의 단계에 따라 동일한 별칭(samlcert)의 새 인증서를 생성한 다음 포털을 다시 시작합니다.
- 선택적으로 Windows Active Directory의 엔터프라이즈
그룹에 대한 메타데이터를 포털에 제공합니다.
- ArcGIS Portal Directory에 내 기관의 관리자로 로그인합니다. URL은 형식입니다 https://webadaptorhost.domain.com/webadaptorname/portaladmin.
- Security > Config > Update Identity Store를 클릭합니다.
- 그룹 구성 JSON을 Group store configuration (in JSON format) 텍스트 상자에 입력합니다.
다음 텍스트를 복사하여 사이트에 특정한 정보를 포함하도록 변경할 수 있습니다.
{ "type": "LDAP", "properties": { "userPassword": "secret", "isPasswordEncrypted": "false", "user": "cn=aduser,ou=users,ou=ags,dc=example,dc=com", "ldapURLForUsers": "ldap://bar2:10389/ou=users\,ou=ags\,dc=example\,dc=com", "ldapURLForRoles": "ldap://bar2:10389/dc=example,dc=com", "usernameAttribute": "sAMAccountName", "caseSensitive": "false", "userSearchAttribute": "sAMAccountName", "memberAttributeInRoles": "member", "rolenameAttribute":"sAMAccountName" } }
대부분의 경우 user, userPassword, ldapURLForUsers 및 ldapURLForRoles 매개변수 값만 변경하면 됩니다. LDAP의 URL은 LDAP 관리자가 제공해야 합니다. user 매개변수에 사용하는 계정은 내 기관에서 그룹의 이름을 조회할 권한이 필요합니다. 비밀번호를 일반 텍스트로 입력한 경우에도 포털의 구성 디렉터리에 저장되거나 나타날 때는 암호화됩니다.
- 사용자 저장소 구성에 대한 JSON 입력을 마쳤으면 Update Configuration를 클릭하여 변경 내용을 저장하고 포털을 다시 시작합니다.
AD FS에 신뢰할 수 있는 서비스 공급자로 Portal for ArcGIS 등록
- AD FS 관리 콘솔을 엽니다.
- 신뢰 당사자 트러스트 > 신뢰 당사자 트러스트 추가를 선택합니다.
- 신뢰 당사자 트러스트 추가 마법사에서 시작 버튼을 클릭합니다.
- 데이터 원본 선택에서 신뢰 당사자에 대한 데이터를 가져오는 옵션(URL에서 가져오기, 파일에서 가져오기, 수동으로 입력) 중 하나를 선택합니다. URL 또는 파일에서 가져오려면 기관에서 메타데이터를 받아야 합니다. 메타데이터 URL 또는 파일에 접근할 수 없는 경우에는 수동으로 정보를 입력할 수 있습니다. 경우에 따라 수동으로 데이터를 입력하는 것이 가장 쉬운 옵션일 수도 있습니다.
- 온라인 또는 로컬 네트워크에서 발행된 신뢰 당사자에 대한 데이터 가져오기
이 옵션에서는 Portal for ArcGIS 기관의 URL 메타데이터를 사용합니다. 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을 입력할 때는 AD FS 서버의 정규화된 도메인 이름을 웹 앱 URL 필드에 지정합니다. IP 주소 또는 이 요청 원점의 IP 주소와 같은 기타 옵션은 선택할 수 없으며 선택하는 경우 잘못된 토큰이 생성될 수 있습니다.
참고 사항:
arcgis위의 예시 URL의 부분은 Web Adaptor 응용프로그램의 기본 이름입니다. Web Adaptor 이름이 arcgis이(가) 아닌 경우 URL의 이 부분을 해당 Web Adaptor의 이름으로 교체합니다.
- 파일에서 신뢰 당사자에 대한 데이터 가져오기
이 옵션에서는 Portal for ArcGIS 기관의 메타데이터 .xml 파일을 사용합니다. 메타데이터 XML 파일은 다음의 두 가지 방법으로 가져올 수 있습니다.
- 내 기관에 대한 설정 편집 페이지의 보안 섹션에서 서비스 공급자 가져오기 버튼을 클릭합니다. 그러면 내 컴퓨터에 XML 파일로 저장할 수 있는 내 기관의 메타데이터가 제공됩니다.
- Portal for ArcGIS 기관의 메타데이터 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을 입력할 때는 AD FS 서버의 정규화된 도메인 이름을 웹 앱 URL 필드에 지정합니다. IP 주소 또는 이 요청 원점의 IP 주소와 같은
기타 옵션은 선택할 수 없으며 선택하는 경우 잘못된 토큰이 생성될 수 있습니다.
참고 사항:
위 샘플 URL의 arcgis 부분은 Web Adaptor 응용프로그램의 기본 이름입니다. Web Adaptor 이름이 arcgis이(가) 아닌 경우 URL의 이 부분을 해당 Web Adaptor의 이름으로 교체합니다.
- 수동으로 신뢰 당사자에 대한 데이터 입력
이 옵션을 사용하면 신뢰 당사자 트러스트 추가 마법사에서 데이터를 수동으로 입력하는 추가 창이 보여집니다. 아래의 6~8단계에 이러한 창에 대한 설명이 나와 있습니다.
- 온라인 또는 로컬 네트워크에서 발행된 신뢰 당사자에 대한 데이터 가져오기
- 디스플레이 이름 지정에 디스플레이 이름을 입력합니다.
디스플레이 이름은 AD FS에서 신뢰 당사자를 식별하는 데 사용됩니다. 그 외에 다른 의미는 없습니다. 디스플레이 이름은 ArcGIS 또는 ArcGIS 내의 기관 이름(예: ArcGIS-SamlTest으로 설정되어야 합니다.
팁:
위 그림에서는 URL 또는 파일에서 데이터 원본을 가져오는 단계가 포함된 디스플레이 이름 지정 창을 보여 줍니다. 데이터 원본 정보를 수동으로 입력하도록 선택한 경우 아래의 6~8단계에 설명된 추가 단계가 마법사의 왼쪽에 보여집니다. URL 또는 파일을 선택한 경우 9단계로 건너뛸 수 있습니다.
- (수동 데이터 원본에만 해당) 프로필 선택에서 AD FS 2.0 프로필(또는 해당 환경에서 사용 가능한 경우 AD FS 2.0보다 높은 버전)을 선택합니다.
- (수동 데이터 원본에만 해당) URL 구성에서 SAML 2.0 WebSSO 프로토콜 지원 활성화 옆의 체크 박스를 선택하고 신뢰 당사자 SAML 2.0 SSO 서비스의 URL을 입력합니다.
신뢰 당사자 URL은 사용자 인증 후 AD FS에서 SAML 응답을 보내는 URL이어야 합니다. 즉, HTTPS URL: https://webadaptorhost.domain.com/webadaptorname/sharing/rest/oauth2/saml/signin이어야 합니다.
참고 사항:
arcgis위의 예시 URL의 부분은 Web Adaptor 응용프로그램의 기본 이름입니다. Web Adaptor 이름이 arcgis가 아닌 경우 URL의 이 부분을 해당 Web Adaptor의 이름으로 교체합니다.
- (수동 데이터 원본에만 해당) 식별자 구성에 신뢰 당사자 트러스트 식별자의 URL을 입력합니다.
portal.domain.com.arcgis이는 이어야 합니다.
- 발급 인증 규칙 선택에서 모든 사용자가 이 신뢰 당사자에게 접근하도록 허용을 선택합니다.
팁:
위 그림에서는 URL 또는 파일에서 데이터 원본을 가져오는 단계가 포함된 발급 인증 규칙 선택 창을 보여 줍니다. 데이터 원본 정보를 수동으로 입력하도록 선택한 경우 추가 단계가 마법사의 왼쪽에 표시됩니다.
- 트러스트 추가 준비 완료에서 신뢰 당사자에 대한 모든 설정을 검토합니다. 메타데이터 URL은 URL에서 데이터 원본을 가져오도록 선택한 경우에만 채워집니다. 아래 그림에서는 데이터 원본 정보를 수동으로 입력하도록 선택한 경우의 트러스트 추가 준비 완료 창을 보여 줍니다.
다음을 클릭합니다.
팁:
신뢰 당사자 모니터링 옵션을 사용할 수 있는 경우 AD FS는 주기적으로 메타데이터 URL 페더레이션을 확인하고 신뢰 당사자 트러스트의 현재 상태와 비교합니다. 그러나 메타데이터 URL 페더레이션에서 토큰이 만료되면 모니터링에 실패합니다. 실패 사항은 AD FS 이벤트 로그에 기록됩니다. 이러한 메시지를 숨기려면 모니터링을 비활성화하거나 토큰을 업데이트하는 것이 좋습니다.
- 마침에서 닫기 버튼을 클릭한 후 클레임 규칙 편집 대화 상자를 자동으로 여는 체크 박스를 선택합니다.
팁:
위 그림에서는 URL 또는 파일에서 데이터 원본을 가져오는 단계가 포함된 마침 창을 보여 줍니다. 데이터 원본 정보를 수동으로 입력하도록 선택한 경우 추가 단계가 마법사의 왼쪽에 표시됩니다.
- 클레임 규칙을 설정하려면 클레임 규칙 편집 마법사를 열고 규칙 추가를 클릭합니다.
- 규칙 템플릿 선택에서 생성할 클레임 규칙에 대해 LDAP 속성을 클레임으로 보내기 템플릿을 선택하고 다음을 클릭합니다.
- 클레임 규칙 구성에서 규칙의 이름(예: DefaultClaims)을 제공합니다.
- 속성 저장소에서 Active Directory를 선택합니다.
- 보내는 클레임 유형에 LDAP 속성 매핑에서 LDAP 속성에 대해 사용자 이름이 포함된 LDAP 속성(예: SAM-Account-Name)을 선택하고 보내는 클레임 유형에 대해 NameID를 선택합니다.
참고 사항:
NameID는 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 공급자에게 받은 값으로 사용자 계정의 전체 이름과 이메일 주소를 채웁니다.
클레임 규칙을 편집하려면 아래 지침을 따르세요.
- LDAP 속성 열에서 표시 이름(또는 둘째 열의 목록에 있는 다른 속성)을 선택하여 보내는 클레임 유형 열의 지정된 이름에 매핑합니다.
- LDAP 속성 열에서 이메일 주소를 선택하여 보내는 클레임 유형 열의 이메일 주소에 매핑합니다.
이 클레임을 사용하면 AD FS에서 사용자 인증 후 이름이 givenname, email인 속성을 Portal for ArcGIS에 보냅니다. 그런 다음 Portal for ArcGIS에서는 givenname 및 email 속성에서 받은 값으로 사용자 계정의 전체 이름과 이메일 주소를 채웁니다.
엔터프라이즈 ID 공급자의 이메일 주소를 Portal for ArcGIS로 전달하는 것이 좋습니다. 그러면 나중에 사용자가 관리자로 승격되었을 때 유용합니다. 계정에 이메일 주소를 넣으면 사용자가 관리 활동에 대한 알림을 수신하고 다른 사용자에게 기관 가입을 권유하는 초대를 보낼 수 있습니다.
- 마침을 클릭하여 Portal for ArcGIS를 신뢰 당사자로 포함하도록 AD FS ID 공급자를 구성하는 작업을 마칩니다.
IDP 초기화 로그인
AD FS를 기관의 ID 공급자로 구성하면 IDP 초기화 엔터프라이즈 로그인을 활용할 수 있는 옵션이 생깁니다. AD FS 및 Portal for ArcGIS에서 IDP 로그인을 시작하려면 IDP 로그인을 활성화해야 합니다. 아직 하지 않은 경우 아래의 단계를 따라 AD FS에서 IDP 로그인을 활성화합니다. Portal for ArcGIS는 기본 설정에 따라 IDP 로그인을 지원하므로 Portal for ArcGIS에서 필요한 추가 구성 단계가 없습니다. AD FS에서의 구성만 필요합니다.
- AD FS를 활성화하여 web.config 파일에서 RelayState 매개변수를 전송합니다. 이 매개변수는 사용자가 로그인 후 접근할 특정 리소스를 식별하는 데 사용됩니다.
- web.config 파일을 엽니다. 기본 설정에 따라 이 파일은 C:\inetpub\adfs\ls\에 있습니다.
- 다음 항목을 microsoft.identityServer.web 파일의 web.config 섹션에 추가합니다.
<microsoft.identityServer.web> ... <useRelayStateForIdpInitiatedSignOn enabled="true" /> </microsoft.identityServer.web>
- RelayState 매개변수를 생성합니다. AD FS에는 를 생성하기 위해 다음과 같은 두 부분의 정보가 필요합니다.RelayState
- RPID(신뢰 당사자 식별자).- AD FS에서 구성된 Portal for ArcGIS 기관의 신뢰 당사자 식별자를 나타냅니다. 이를 가져오려면 AD FS 관리 콘솔에서 Portal for ArcGIS 신뢰 당사자 속성(예: webadaptorhost.domain.com)을 엽니다.
- RelayState - 사용자가 AD FS 사이트(예: https://webadaptorhost.domain.com/webadaptorname/)에 로그인하면 재전송되는 포털 URL입니다.
- RPID 및 RelayState의 값을 정의하여 RelayState매개변수를 생성합니다.
- RPID 및 RelayState의 값을 인코딩합니다(예:
- RPID: webadaptorhost.domain.com.webadaptorname
- RelayState: https%3A%2F%2Fwebadaptorhost.domain.com%2Fwebadaptorname%2F
- 이전 단계에서 생성한 인코딩 값을 단일 문자열로 병합합니다(예: RPID=webadaptorhost.domain.com.webadaptorname&RelayState=https%3A%2F%2Fwebadaptor.domain.com%2Farcgis%2F).
- 병합된 문자열을 인코딩합니다(예: RPID%3Dwebadaptorhost.domain.com.webadaptorname%26RelayState%3D%20https%253A%252F%252Fwebadaptorhost.domain.com%252Fwebadaptorname%252F).
- RelayState 매개변수를 문자열에 추가하고 AD FS의 IDP 초기화 SSO URL을 추가합니다(예: https://idphost.test.com/adfs/ls/idpinitiatedsignon.aspx?RelayState=RPID%3Dwebadaptorhost.domain.com.webadaptorname%26RelayState%3D%20https%253A%252F%252Fwebadaptorhost.domain.com%252Fwebadaptorname%252F). 이는 AD FS 사이트에서 로그인을 초기화하는 데 사용할 URL입니다.
사용자가 로그인하고 정상적으로 인증하면 AD FS가 SAML 응답을 생성하고 내 기관의 URL을 이용하여 RelayState를 Portal for ArcGIS에 전달합니다. 포털은 SAML 응답을 확인하고 사용자를 해당 기관과 리소스로 재전송합니다.