` `

인증 시스템 개요

../../../_images/auth-system-overview.png

인증 시스템 개념도

인증 데이터베이스

The new authentication system stores authentication configurations in an SQLite database file located, by default, at <user home>/.qgis2/qgis-auth.db.

현재의 다른 QGIS 사용자 환경 설정에 영향을 미치지 않고 서로 다른 QGIS 설치본 간에 이 인증 데이터베이스를 이동시킬 수 있습니다. 인증 데이터베이스가 일반적인 QGIS 설정과 완벽하게 분리되어 있기 때문입니다. 환경 설정을 데이터베이스에 처음으로 저장할 때 환경 설정 ID(랜덤한 문자 7개 길이의 알파벳-숫자 문자열)를 생성합니다. 이 ID가 환경 설정을 가리키기 때문에, 관련 인증 정보를 노출시키는 일 없이 ID를 (프로젝트, 플러그인, 또는 설정 파일과 같은) 평문 텍스트 응용 프로그램 항목으로 저장할 수 있습니다.

주석

환경 변수 QGIS_AUTH_DB_DIR_PATH 를 사용하거나 또는 QGIS 구동 시 명령 줄에서 --authdbdirectory 옵션을 설정해서 qgis-auth.db 의 부모 디렉터리를 설정할 수 있습니다.

마스터 비밀번호

데이터베이스 내에 민감한 정보를 저장하거나 접근하려면, 사용자가 마스터 비밀번호 를 정의해야만 합니다. 데이터베이스에 암호화된 데이터를 처음으로 저장할 때 새 마스터 비밀번호를 요청하고 확인합니다. 사용자가 민감한 정보에 접근할 때만 마스터 비밀번호를 입력해야 하는데, 사용자가 캐시값을 수동으로 삭제하지만 않는다면 남은 세션 동안 (응용 프로그램을 종료할 때까지) 마스터 비밀번호를 캐시에 저장합니다. 기존 인증 환경 설정을 선택한다거나 또는 (WMS 레이어 추가 시처럼) 서버 환경 설정에 인증 환경 설정을 적용한다거나 하는 경우와 같은 인증 시스템을 이용하는 일부 인스턴스는 마스터 비밀번호를 요구하지 않습니다.

../../../_images/auth-password-new_enter.png

새 마스터 비밀번호 입력 대화창

주석

환경 변수 QGIS_AUTH_PASSWORD_FILE 을 이용해서 마스터 비밀번호를 담고 있는 파일을 가리키는 경로를 설정할 수 있습니다.

마스터 비밀번호 관리하기

마스터 비밀번호를 설정한 다음, 다시 리셋할 수 있습니다. 리셋하기 전에 현재 마스터 비밀번호를 입력해야 합니다. 이 과정 도중에 현재 데이터베이스의 완전한 백업 파일을 생성하는 옵션이 있습니다.

../../../_images/auth-password-reset.png

마스터 비밀번호 리셋하기

사용자가 마스터 비밀번호를 잊어버린 경우, 다시 찾거나 무시할 수 있는 방법은 없습니다. 또 마스터 비밀번호 없이 암호화된 정보를 받아올 수 있는 방법도 없습니다.

사용자가 기존 비밀번호를 세 번 부정확하게 입력한 경우, 대화창이 데이터베이스를 삭제하도록 제안할 것입니다.

../../../_images/auth-password-invalid-3times.png

부정확한 시도를 세 번 한 후의 QGIS 비밀번호 메시지

인증 환경 설정

QGIS 옵션 대화창의 (Settings ‣ Options) Authentication 탭에 있는 Configurations 부분에서 인증 환경 설정을 관리할 수 있습니다.

../../../_images/auth-editor-configs2.png

환경 설정 편집기

새 환경 설정을 추가하려면 signPlus 아이콘을, 그리고 환경 설정을 제거하려면 signMinus 버튼을 클릭하십시오. 기존 환경 설정을 수정하려면 symbologyEdit 아이콘을 클릭하십시오.

../../../_images/auth-config-create_authcfg-id.png

환경 설정 편집기 안에서 환경 설정 추가하기

OWS 서비스 연결과 같은 지정한 서비스 연결을 환경 설정할 때, 인증 환경 설정 관리에 대해 세 가지 유형의 작업(추가, 편집 및 제거)을 할 수 있습니다. 이를 위해, 환경 설정 선택기 안에 인증 데이터베이스에서 찾은 환경 설정을 완전히 관리할 수 있는 액션 버튼들이 있습니다. 이런 경우, 환경 설정을 좀 더 종합적으로 관리해야 할 필요가 없는 한, QGIS 옵션 대화창의 Authentication 탭에 있는 Configurations 부분으로 갈 필요가 없습니다.

../../../_images/auth-selector-wms-connection.png

WMS connection dialog showing [Add], [Edit], and [Remove] authentication configuration buttons

인증 환경 설정을 생성하거나 편집할 때, 요구되는 정보는 명칭, 인증 방법, 그리고 인증 방법이 요구하는 기타 정보입니다. (사용할 수 있는 인증 유형에 관한 자세한 내용은 인증 방법 을 참조하세요.)

인증 방법

Available authentications are provided by C++ plugins much in the same way data provider plugins are supported by QGIS. The method of authentication that can be selected is relative to the access needed for the resource/provider, e.g. HTTP(S) or database, and whether there is support in both QGIS code and a plugin. As such, some authentication method plugins may not be applicable everywhere an authentication configuration selector is shown. A list of available authentication method plugins and their compatible resource/providers can be accessed going to Settings ‣ Options and, in the Authentication tab, click the options [Installed plugins] button.

../../../_images/auth-method-listing.png

사용할 수 있는 인증 방법 플러그인 목록

QGIS를 다시 컴파일할 필요가 없는 경우 새 인증 방법을 위한 플러그인을 생성할 수 있습니다. 현재 (QGIS 2.12 버전부터) C++ 플러그인만을 지원하고 있기 때문에, 새로 추가한 플러그인을 사용하려면 QGIS를 재시작해야 합니다. 기존 QGIS 설치본에 플러그인을 추가할 생각이라면, 사용자 플러그인이 기존 설치본과 동일한 버전을 대상으로 컴파일됐는지 확인하십시오.

../../../_images/auth-config-create_basic-auth.png

HTTP BASIC 인증 환경 설정

../../../_images/auth-config-create_pem-der-paths.png

PKI 경로 인증 환경 설정

../../../_images/auth-config-create_pkcs12-paths.png

PKI PKCS#12 파일 경로 인증 환경 설정

../../../_images/auth-config-create_stored-identity2.png

저장된 신원 인증 환경 설정

주석

Resource URL은 현재 구현되지 않은 기능으로, 향후 지정한 URL에 있는 리소스에 연결 시 특정 환경 설정을 자동 선택할 수 있도록 개발할 예정입니다.

마스터 비밀번호 및 인증 환경 설정 유틸리티

Settings ‣ Options 대화창의 Authentication 에서, 인증 데이터베이스 및 환경 설정을 관리할 수 있는 다음 settings Utilities 액션의 콤보박스 목록을 찾을 수 있습니다:

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

유틸리티 목록

  • Input master password:

    • Opens the master password input dialog, independent of performing any authentication database command. Clear cached master password
    • Unsets the master password if it has been set via input dialog. Reset master password
    • Opens a dialog to change the master password (the current password must be known) and optionally back up the current database.
  • Clear cached authentication configurations: Clears the internal lookup cache for configurations used to speed up network connections. This does not clear QGIS’s core network access manager’s cache, which requires a relaunch of QGIS.

  • Reset master password: Replaces the current master password for a new one. The current master password will be needed prior to resetting and a backup of database can be done.

  • Remove all authentication configurations: Clears the database of all configuration records, without removing other stored records.

  • Erase authentication database: Schedules a backup of the current database and complete rebuild of the database table structure. These actions are scheduled for a later time, so as to ensure other operations like project loading do not interrupt the operation or cause errors due to a temporarily missing database.

    ../../../_images/auth-db-erase.png

    DB 삭제 확인 대화창

인증 환경 설정 사용하기

일반적으로, (WMS 같은) 네트워크 서비스 용 환경 설정 대화창에서 인증 환경 설정을 선택합니다. 하지만 인증이 필요한 곳이라면 어디든, 또는 제 3자 PyQGIS 또는 C++ 플러그인 같은 비핵심 기능에 선택기 위젯을 내장시킬 수 있습니다.

선택기 위젯을 사용할 때, 아무것도 선택하지 않았거나 선택할 인증 환경 설정이 없거나 또는 데이터베이스에서 이전에 할당한 환경 설정을 찾을 수 없는 경우 팝업 메뉴의 콤보박스에 ‘No authentication’이라고 표시됩니다. MethodId 텍스트 란은 읽기 전용으로, 선택한 인증 방법의 설명 및 환경 설정 ID를 각각 표시합니다.

../../../_images/auth-selector-no-authentication.png

Authentication configuration selector with no authentication

../../../_images/auth-selector-pkcs12-authentication.png

Authentication configuration selector with selected config

파이썬 바인딩

모든 클래스 및 공개 함수는 SIP 바인딩을 보유하고 있습니다. QgsAuthCrypto 를 제외하고 말이죠. 왜냐하면 파이썬을 통해서가 아니라 주 응용 프로그램이 마스터 비밀번호 해싱 및 인증 데이터베이스를 관리해야 하기 때문입니다. 파이썬 접근 관련 설명은 보안 고려 사항 을 참조하세요.