` `

사용자 인증 작업 흐름

../../../_images/auth-user-usage.png

일반적인 사용자 작업 흐름

HTTP(S) 인증

가장 흔한 리소스 연결 가운데 하나가 바로, 예를 들어 웹 매핑 서비스 같은 HTTP(S)를 통한 연결로, 인증 방법 플러그인은 자주 이런 연결 유형을 위해 작업합니다. 인증 방법 플러그인은 HTTP 요청 객체에 접근해서 해당 요청은 물론 그 헤더도 조작할 수 있습니다. 따라서 수많은 형태의 인터넷 기반 인증을 할 수 있습니다. 표준적인 사용자명/비밀번호 인증 방법을 사용해서 HTTP(S)를 통해 연결하는 경우, 연결 시 HTTP BASIC 인증을 시도할 것입니다.

../../../_images/auth-http-basic-wms.png

HTTP BASIC에 대한 WMS 연결 환경 설정하기

데이터베이스 인증

Connections to database resources are generally stored as key=value pairs, which will expose usernames and (optionally) passwords, if not using an authentication configuration. When configuring with the new auth system, the key=value will be an abstracted representation of the credentials, e.g. authfg=81t21b9.

../../../_images/auth-db-ssl-pki.png

PostgreSQL SSL-PKI 연결 환경 설정하기

PKI 인증

인증 시스템 내에서 PKI 항목을 환경 설정하는 경우, 데이터베이스로 항목을 가져오거나 또는 사용자 파일 시스템에 저장된 항목 파일을 참조하는 옵션을 선택할 수 있습니다. 해당 항목이 자주 변경되거나, 또는 시스템 관리자가 해당 항목을 교체할 예정인 경우 후자가 유용할 수도 있습니다. 두 옵션 모두, 데이터베이스 안에 있는 개인 키(private key)에 접근하는 데 필요한 암호(passphrase)를 저장해야 할 것입니다.

../../../_images/auth-pki-config.png

PKI 환경 설정 작업 흐름

All PKI components can be managed in separate editors within the Certificate Manager, which can be accessed in the Authentication tab in QGIS Options dialog (Settings ‣ Options) by clicking the [Manage certificates] button.

../../../_images/auth-open-Certificate-manager.png

인증서 관리자 열기

In the Certificate Manager, there are editors for Identities, Servers and Authorities. Each of these are contained in their own tabs, and are described below in the order they are encountered in the workflow chart above. The tab order is relative to frequently accessed editors once you are accustomed to the workflow.

주석

Because all authentication system edits write immediately to the authentication database, there is no need to click the Options dialog [OK] button for any changes to be saved. This is unlike other settings in the Options dialog.

권한

Settings ‣ Options 대화창의 Authentication 탭에서 Certificate Manager 대화창을 열어 Authorities 탭을 선택하면 사용 가능한 인증서 권한(Certificate Authorities; CAs)을 관리할 수 있습니다.

앞의 작업 흐름도에서 볼 수 있듯이, 첫 단계로 인증서 권한의 참조 파일을 가져와야 합니다. 이 단계를 건너뛸 수도 있는데, 특히 사용자의 PKI 신뢰 연결고리(trust chain)가 사용자 OS에 이미 설치돼 있는 – 예를 들어 상용 인증서 판매자의 인증서 같은 – 루트 인증서 권한에서 비롯되는 경우 이 단계가 필요없을 수도 있습니다. 사용자가 인증하는 루트 인증서 권한이 OS가 신뢰하는 루트 인증서 권한이 아니라면 해당 인증서 권한 참조 파일을 가져오거나 파일 경로를 참조시켜야 합니다. (확실하지 않은 경우 시스템 관리자에게 연락하십시오.)

../../../_images/auth-editor-authorities.png

권한 편집기

By default, the root CAs from your OS are available; however, their trust settings are not inherited. You should review the certificate trust policy settings, especially if your OS root CAs have had their policies adjusted. Any certificate that is expired will be set to untrusted and will not be used in secure server connections, unless you specifically override its trust policy. To see the QGIS-discoverable trust chain for any certificate, select it and click the propertiesWidget Show information for certificate.

../../../_images/auth-authority-imported_cert-info-chain.png

인증서 정보 대화창

Trust policy selectString 옵션을 사용하면 신뢰 연결고리 내에서 선택한 어떤 인증서든 신뢰 정책을 편집할 수 있습니다. 선택한 인증서에 대한 신뢰 정책을 어떻게 변경하든 간에, 선택한 인증서 별로 fileSave Save certificate trust policy change to database 아이콘을 클릭하지 않는 한 데이터베이스에 변경 사항을 저장하지 않을 것입니다. 대화창을 닫는다고 해도 신뢰 정책의 변경 사항은 적용되지 않을 것입니다.

../../../_images/auth-authority-edit-trust_save-not-close.png

신뢰 정책의 변경 사항을 저장하기

transformSettings Options 아이콘을 클릭하면 보안 연결에 사용할 만큼 신뢰할 수 있다고 필터링된 인증서 권한을 – 중간 인증서와 루트 인증서 모두 – 검토하거나, 또는 신뢰 정책의 기본값을 변경할 수도 있습니다.

경고

신뢰 정책의 기본값을 변경하면 보안 연결에 문제가 발생할 수도 있습니다.

../../../_images/auth-editor-authorities_utilities-menu.png

권한 옵션 액션

인증서 권한을 개별적으로 가져오거나, 또는 여러 인증서 권한을 담고 있는 파일을 가리키는 파일 경로를 저장할 수 있습니다. 여러 CA 연결고리 인증서를 담는 표준 파일인 PEM 포맷은 파일의 제일 끝에 루트 인증서를 놓고, 그 위로 파일의 시작점을 향해 순서대로 서명된 자식 인증서들을 모두 저장합니다.

CA 인증서 가져오기 대화창은 이 파일 안에 있는 모든 CA 인증서를 순서에 상관없이 찾을 것입니다. 또 유효하지 않다고 판단되는 인증서를 (사용자가 그 신뢰 정책을 무시하려는 경우) 가져올 수 있는 옵션도 제공합니다. CA 인증서를 가져올 때 신뢰 정책을 무시할 수도 있고, 또는 나중에 권한 편집기에서 무시하도록 설정할 수도 있습니다.

../../../_images/auth-authority-import.png

인증서 가져오기 대화창

주석

radioButtonOn PEM text 옵션의 텍스트 란에 인증서 정보를 붙여넣는 경우, 암호화된 인증서는 지원하지 않는다는 사실을 기억하십시오.

신원

Settings ‣ Options 대화창의 Authentication 탭에서 Certificate Manager 대화창을 열어 Identities 탭을 선택하면 사용 가능한 클라이언트 신원 묶음을 관리할 수 있습니다. 신원이란 PKI 적용 서비스에 대해 사용자를 인증하는 것으로 보통 클라이언트 인증서와 개인 키로 이루어져 있는데, 두 개가 각각 개별 파일로 돼 있거나 또는 단일한 “묶음(bundled)” 파일로 결합돼 있습니다. 이 묶음 또는 개인 키는 암호로 보호돼 있는 경우가 많습니다.

인증서 권한(CAs)을 가져오고 나면 인증 데이터베이스로 신원 묶음을 가져올 수도 있고 그러지 않을 수도 있습니다. 신원을 저장하고 싶지 않은 경우, 개별 인증 환경 설정 안에 신원 항목 파일 경로를 참조시킬 수 있습니다.

../../../_images/auth-editor-identities.png

신원 편집기

신원 묶음을 가져올 때, 신원 묶음은 암호로 보호돼 있을 수도 있고 아닐 수도 있습니다. 신원 묶음은 신뢰 연결고리를 형성하는 인증서 권한을 담고 있을 수도 있지만, 신뢰 연결고리 인증서를 가져오지는 않을 것입니다. 신뢰 연결고리 인증서는 Authorities 탭을 통해 개별적으로 추가할 수 있습니다.

신원 묶음의 인증서를 가져올 때, 개인 키는 데이터베이스에 QGIS 마스터 비밀번호를 이용해서 암호화되어 저장될 것입니다. 이후 데이터베이스에서 저장된 신원 묶음을 이용할 경우 마스터 비밀번호만 입력하면 됩니다.

PEM/DER(.pem/.der) 및 PKCS#12(.p12/.pfx) 항목으로 구성된 개인 신원 묶음을 지원합니다. 개인 키 또는 신원 묶음이 암호로 보호돼 있는 경우, 가져오기 전에 항목을 검증하기 위해 비밀번호를 입력해야 합니다. 마찬가지로, 신원 묶음에 있는 클라이언트 인증서가 유효하지 않을 경우 (예를 들어 유효 기간 전 또는 후인 경우) 신원 묶음을 가져올 수 없습니다.

../../../_images/auth-identity-import_paths.png

PEM/DER 신원 묶음 가져오기

../../../_images/auth-identity-import_bundle-valid.png

PKCS#12 신원 묶음 가져오기

잘못된 레이어 처리

때때로, 프로젝트 파일에 저장된 인증 환경 설정 ID가 더 이상 유효하지 않은 경우가 있습니다. 현재 인증 데이터베이스가 프로젝트가 마지막으로 저장됐을 때와 달라졌을 수도 있고, 또는 인증 정보가 일치하지 않을 수도 있기 때문입니다. 이런 경우 QGIS 구동 시 Handle bad layers 대화창이 열릴 것입니다.

../../../_images/auth-handle-bad-layers.png

인증을 통해 잘못된 레이어 처리하기

데이터소스가 연관된 인증 환경 설정 ID를 보유하고 있을 경우, 사용자가 편집할 수 있습니다. 이 경우 텍스트 편집기에서 프로젝트 파일을 열어 문자열을 편집하는 것과 거의 동일한 방식으로 자동적으로 데이터소스 문자열이 편집됩니다.

../../../_images/auth-handle-bad-layers-edit.png

잘못된 레이어의 인증 환경 설정 ID 편집하기

인증 환경 설정 ID 변경

Occasionally, you will need to change the authenticationn configuration ID that is associated with accessing a resource. There are instances where this is useful:

  • Resource auth config ID is no longer valid: This can occur when you have switched auth databases add need to align a new configuration to the ID already associated with a resource.
  • Shared project files: If you intended to share projects between users, e.g. via a shared file server, you can predefine a 7-character (containing a-z and/or 0-9) that is associated with the resource. Then, individual users change the ID of an authentication configuration that is specific to their credentials of the resource. When the project is opened, the ID is found in the authentication database, but the credentials are different per user.
../../../_images/auth-change-config-id.png

레이어의 인증 환경 설정 ID 변경하기 (고정 해제된 노란색 텍스트 란)

경고

인증 환경 설정 ID를 변경하는 것은 고급 작업으로 간주되며, 변경해야 하는 이유를 완전히 이해하고 있는 경우에만 변경해야 합니다. ID를 편집하기 전에 클릭해야 하는 locked 아이콘이 ID 텍스트 란 옆에 있는 이유입니다.

QGIS 서버 지원

QGIS 서버에서 인증 환경 설정이 적용된 레이어를 기본 맵으로 사용하는 프로젝트 파일을 사용하는 경우, QGIS가 리소스를 불러오기 위해 필요한 다음과 같은 추가 설정 단계가 있습니다:

  • 인증 데이터베이스를 사용할 수 있도록 설정해야 합니다.

  • 인증 데이터베이스의 마스터 비밀번호를 사용할 수 있도록 설정해야 합니다.

인증 시스템을 처음 사용하는 경우, 서버가 ~/.qgis2/ 또는 QGIS_AUTH_DB_DIR_PATH 환경 변수가 정의한 디렉터리에 qgis-auth.db 파일을 생성하고 사용할 것입니다. 서버 사용자에게 디렉터리가 없을 수도 있는데, 이런 경우 환경 변수를 사용해서 서버 사용자가 읽기/쓰기 권한을 가지고 있으며 웹에서 접근할 수 있는 디렉터리 안에 위치하지 않은 디렉터리를 정의하십시오.

서버에 마스터 비밀번호를 넘겨주려면, 서버 프로세스 사용자가 읽을 수 있는 파일 시스템 상에 있으며 QGIS_AUTH_PASSWORD_FILE 환경 변수를 통해 정의한 경로에 있는 파일의 첫 행에 마스터 비밀번호를 작성하십시오. 서버 프로세스 사용자만 읽을 수 있도록 파일 권한을 제약했는지, 그리고 웹에서 접근할 수 있는 디렉터리에 파일을 저장하지는 않았는지 확인하십시오.

주석

QGIS_AUTH_PASSWORD_FILE variable will be removed from the Server environment immediately after accessing.

SSL 서버 예외

../../../_images/auth-ssl-config.png

SSL 서버 예외

Settings ‣ Options 대화창의 Authentication 탭에서 Certificate Manager 대화창을 열어 Servers 탭을 선택하면 SSL 서버 환경 설정 및 예외를 관리할 수 있습니다.

SSL 서버 연결 시 때때로 SSL 주고받기(handshake) 또는 서버의 인증서에서 오류가 발생하는 경우가 있습니다. 이런 오류를 무시할 수도 있고 또는 이런 오류를 SSL 서버의 예외로 환경 설정할 수도 있습니다. 웹 브라우저가 SSL 오류를 무시할 수 있도록 해주는 방법과 비슷하지만, 좀 더 세밀하게 제어할 수 있습니다.

경고

서버와 클라이언트 간의 SSL 전체 설정을 완전히 이해하고 있지 않다면 SSL 서버 환경 설정을 생성해서는 안 됩니다. 그 대신 서버 관리자에서 문제점을 보고하십시오.

주석

일부 PKI 설정은 클라이언트 신원을 검증하기 위해 SSL 서버 인증서를 검증하는 데 사용하는 신뢰 연결고리와는 완전히 다른 인증서 권한 연결고리를 사용합니다. 이런 상황이라면, 연결 서버에 대해 어떤 환경 설정을 생성하더라도 사용자 클라이언트 신원 관련 문제점을 반드시 해결할 수 있는 것은 아닙니다. 사용자 클라이언트 신원 발행자 또는 서버 관리자만이 해당 문제점을 해결할 수 있습니다.

Certificate Manager 대화창에 있는 signPlus 아이콘을 클릭하면 SSL 서버 환경 설정을 사전 설정할 수 있습니다. 아니면, 연결 중 SSL 오류가 발생하는 경우 환경 설정을 추가하면 (일시적으로 오류를 무시하거나 또는 데이터베이스에 환경 설정을 저장한 다음 무시할 수 있는) 다음 SSL 오류 대화창이 열립니다:

../../../_images/auth-server-exception.png

환경 설정을 직접 추가하기

../../../_images/auth-server-error-add-exception.png

SSL 오류 발생 도중 환경 설정을 추가하기

데이터베이스에 SSL 환경 설정을 저장하고 나면, 해당 설정을 편집하거나 삭제할 수 있습니다.

../../../_images/auth-editor-servers.png

기존 SSL 환경 설정

../../../_images/auth-server-edit.png

기존 SSL 환경 설정 편집하기

SSL 환경 설정을 사전 설정하고자 하는데 사용자의 서버 연결에 대해 가져오기 대화창이 작동하지 않는 경우, 다음 코드를 실행하면 파이썬 콘솔 을 통해 연결을 직접 촉발할 수 있습니다. (https://bugreports.qt-project.org 문자열을 사용자 서버의 URL로 교체하십시오):

from PyQt4.QtNetwork import *
req = QNetworkRequest(QUrl('https://bugreports.qt-project.org'))
reply = QgsNetworkAccessManager.instance().get(req)

이렇게 하면 오류 발생 시 SSL 오류 대화창이 열립니다. 이 대화창에서 데이터베이스에 환경 설정을 저장하도록 선택할 수 있습니다.