ArcGIS API For Python 03-서로 다른 인증 방안 사용
GIS
대상 은 몇 가지 사용자 에 대한 다양한 검증 방안 을 제공 합 니 다.GIS
클래스 는ArcGIS Online
또는ArcGIS Enterprise
인 스 턴 스 에 URL 이나 사용자 증 거 를 제공 하 는 방식 으로 구축GIS
대상 을 지원 합 니 다.사용자 증빙서류 내용 은 사용자 이름과 사용자 비밀 번 호 를 포함 하거나 PKI 를 사용 한 경우 키 파일/파일 인증 서 를 사용 하여 사용자 증빙서류 내용 으로 사용 할 수 있 습 니 다.URL 주 소 를 제공 하지 않 으 면 기본적으로 ArcGIS Online 을 사용 합 니 다.사용자 증 거 를 제공 하지 않 으 면 기본적으로 익명 사용자 로 접근 합 니 다.또한 스 크 립 트 는 ArcGIS Pro 를 통 해 Portal 에 로그 인 할 수 있 으 며 현재 활성 화 된 Portal 을 선택 합 니 다.
익명 사용자 접근
익명 의 사용자 로 서 이 API 에 접근 할 수 있 는 작업 이 적 습 니 다.공 유 된 지도 와 그림 을 조회 하거나 볼 수 있 지만 내용 을 만 들 거나 수정 하거나 분석 작업 을 수행 하 는 데 는 권한 이 없습니다.
print("ArcGIS Online as anonymous user")
gis = GIS()
print("Logged in as anonymous user to " + gis.properties.portalName)
주의해 야 할 점 은 Enterprise 가 IWA 인증 을 설정 하고 Windows 시스템 에서 Enterprise 에 로그 인하 면 연결 시 자동 으로 로그 인 할 수 있 습 니 다.
print("ArcGIS Enterprise as anonymous user")
gis = GIS("https://singlega.jiaoxn.local/arcgis")
print("Logged in as anonymous user to " + gis.properties.portalName)
내 장 된 사용자
ArcGIS Online 이 든 ArcGIS Enterprise 든 내 장 된 신분 저장 소 를 사용 하여 사전 설정 을 했 기 때문에 사용자 와 그룹 을 쉽게 만 들 수 있 습 니 다.이 경우 로그 인 할 때 사용자 이름과 비밀 번 호 를 제공 해 야 합 니 다.
print("ArcGIS Online Org account")
gis = GIS("https://www.arcgis.com", "arcgis_python", "P@ssword123")
print("Logged in as " + str(gis.properties.user.username))
print("Portal for ArcGIS as a built in user")
gis = GIS("https://portalname.domain.com/webadapter_name", "sharinguser", "password")
print("Logged in as: " + gis.properties.user.username)
엔 터 프 라 이 즈 표식 저장 소
ArcGIS Online 과 ArcGIS Enterprise 의 디자인 은 Enterprise 계 정과 그룹 을 통 해 ArcGIS 조직 에 대한 접근 을 제어 할 수 있 습 니 다.
print("
Basic Authentication with LDAP")
ldapbasic = GIS("https://portalname.domain.com/webadapter_name", "amy", "password")
print("Logged in as: " + ldapbasic.properties.user.username)
현재 활성 디 렉 터 리 에서 온 Enterprise 사용자 연결 을 사용 할 때
domain\\username
방식 으로 사용자 이름 을 지정 합 니 다.print("
Portal-tier Authentication with LDAP - enterprise user")
gisldap = GIS("https://portalname.domain.com/webadapter_name", "AVWORLD\\Publisher", "password")
print("Logged in as: " + gisldap.properties.user.username)
LDAP 에서 온 Enterprise 사용자 계 정 으로 연결 할 때 평소 와 같이 사용자 이름과 비밀 번 호 를 지정 하면 됩 니 다.
print("
Portal-tier Authentication with LDAP - builtin user")
gisldap = GIS("https://portalname.domain.com/webadapter_name", "sharing1", "password")
print("Logged in as: " + gisldap.properties.user.username)
PKI 연결 을 사용 할 때 두 가지 방법 이 있 습 니 다.하 나 는
key_file
과cert_file
을 사용 하고 다른 하 나 는pkcs12
포맷 된 인증서 파일 과 비밀 번 호 를 사용 합 니 다.# PEM
print("
PKI with key and cert files")
gis = GIS("https://portalname.domain.com/webcontext",
key_file="C:\\path\\to\\key.pem",
cert_file="C:\\path\\to\\cert.pem")
print("Logged in as: " + gis.properties.user.username)
# PKCS12
print("
PKI with PFX file and password")
gis = GIS("https://portalname.domain.com/webcontext",
cert_file="C:\\path\\to\\mycert.pfx",
password="secret.password")
print("Logged in as: " + gis.properties.user.username)
OAuth 2.0 기반 사용자 인증
이 방식 으로 연결 하려 면 하나
client.id
가 필요 합 니 다.client id 가 져 오기
Content
+ Add Item
,An Application
버튼Application
,제목Python
,라벨Python
Settings
Registered Info
이 방식 으로 연결 할 때 사용자 이름과 비밀 번 호 를 제공 하지 않 으 면 대화 형 로그 인 페이지 가 표 시 됩 니 다.로그 인 후 코드 를 얻 을 수 있 습 니 다.이 코드 가 로그 인 과정 을 마 쳤 을 때 붙 여 넣 을 수 있 습 니 다.사용자 이름과 비밀 번 호 를 제공 합 니 다.이 과정 을 차단 할 수 있 습 니 다.
gis = GIS("https://pythonapi.playground.esri.com/portal", username="arcgis_python", password="amazing_arcgis_123",
client_id='f8cRxbP3NO8bf9ag')
print("Successfully logged in as: " + gis.properties.user.username)
ArcGIS Pro 로 연결
pro
의 권한 수여 모드 를 바탕 으로 Python 코드 스 크 립 트 는 사용자 이름과 비밀 번 호 를 입력 하지 않 은 상태 에서 현재 활성 화 된 Portal 을 대표 하 는GIS
클래스 인 스 턴 스 를 만 들 수 있 습 니 다.주의해 야 할 것 은
Named User license
과 같은 권한 수여 방식 으로 Pro 에 권한 을 부여 할 경우 로그 인 할 때 체크Signe me in automatically
를 하지 않 았 거나 Pro 를 오프라인 으로 사용 할 수 있 도록 설정 하지 않 았 다 면 이 모드 로 연결 할 때 ArcGIS Pro 가 이 코드 를 실행 하 는 기기 에 설치 되 어 있 고 Pro 가 실행 되 고 있 는 지 확인 해 야 한 다 는 점 이다.체크Signe me in automatically
하면 기본적으로 포 털 허가 만 료 전 까지 2 주 연속 ArcGIS Pro 를 닫 을 수 있다.print("
Active Portal in ArcGIS Pro")
gis = GIS("pro")
보호 암호
다른 사용자 에 게 노트북 코드 를 공유 하거나 코드 를 공공 위치 에 저장 할 때 코드 에 직접 노출 하고 싶 지 않 을 때 코드 를 입력 하지 않 아 도 된다.Python API 가 코드 를 실행 할 때 내장 모듈
getpass
을 호출 하여 사용자 에 게 코드 입력 을 알려 줍 니 다.다음 코드 와 같 습 니 다.gis = GIS("https://pythonapi.playground.esri.com/portal", username='arcgis_python')
print("Successfully logged in as: " + gis.properties.user.username)
# Output
Enter password: ········
Successfully logged in as: arcgis_python
암 호 를 입력 하 라 고 알 릴 때 코드 는 사용자 가 정확 한 코드 를 입력 할 때 까지 실행 을 중단 합 니 다.입력 한 코드 는*번호 로 가 려 집 니 다.
비밀 번 호 를 입력 해 야 하 는 연결 모드 에 서 는 이 모드 로 비밀 번 호 를 보호 할 수 있 습 니 다.단독 Python 스 크 립 트 에서 이 방식 을 사용 할 때 이 스 크 립 트 는 스 크 립 트 가 실 행 될 때 사용자 가 암 호 를 제공 해 야 하기 때문에 대화 식 으로 실 행 됩 니 다.
로 컬 자격증 저장
자주
GIS
인 스 턴 스 를 연결 하고 연결 인증 서 를 로 컬 에 저장 하 는 것 을 고려 하면GIS
실례 화 시profile
인 자 를 입력 하면 해결 할 수 있 습 니 다.GIS
클래스 에 권한 수여 증 거 를 전달 하고 인증서 이름 을 지정 하면 지속 적 인 설정 파일 을 만 들 수 있 습 니 다.이 프로필 은 사용자 홈 디 렉 터 리 에서 비밀 번 호 를 제외 한 인증 증 거 를 암호 화 되 지 않 은 이름.arcgisprofile
프로필 에 저장 합 니 다.자격증 은keyring
모듈 을 통 해 운영 체제 의 암호 관리자 에 비밀 번 호 를 안전하게 저장 합 니 다.리 눅 스 시스템 이 라면 적절 한 안전성 을 확보 하기 위해 추가 소프트웨어 를 설치 해 야 할 수도 있 습 니 다.프로필 을 저장 하면 인증서 파일 을
profile
매개 변 수 를 통 해 전달 할 수 있 습 니 다.여러 인증서 파일 을 평행 으로 만 들 고 호출 할 수 있 습 니 다.#
playground_gis = GIS(url="https://pythonapi.playground.esri.com/portal", username='arcgis_python', password='amazing_arcgis_123',
profile='python_playground_prof')
agol_gis = GIS(url="https://arcgis.com/", username='arcgis_python', password="P@ssword123",
profile="AGOL_prof")
print("profile defined for {}".format(playground_gis))
print("profile defined for {}".format(agol_gis))
#
def print_profile_info(gis):
print("Successfully logged into '{}' via the '{}' user".format(
gis.properties.portalHostname,
gis.properties.user.username))
playground_gis = GIS(profile='python_playground_prof')
print_profile_info(playground_gis)
agol_gis = GIS(profile="AGOL_prof")
print_profile_info(agol_gis)
영구 프로필 상세 내용
영구 설정 파일 은 암호 화 되 지 않 은
.arcgisprofile
파일 에 다음GIS
인자 의 임 의 조합 을 저장 합 니 다.암 호 는
keyring
모듈 을 통 해 안전 한 방식 으로 저 장 됩 니 다.즉,코드 를 실행 할 때 암 호 는 운영 체제 의 암호 저장 관리자 에서 검색 된다 는 것 입 니 다.Windows
Window 시스템 에서 비밀 번 호 는 Windows 증빙 관리자 에 저 장 됩 니 다.그 보기 방식 은:
Start > Control Panel > User Accounts > Credential Manager > Windows Credentials > Generic Credentials
Mac
Mac 시스템 에서 비밀 번 호 는 Keychain Access 에 저 장 됩 니 다.보기 방식 은 다음 과 같 습 니 다.
Applications > Utilities > Keychain Access > Passwords > "arcgis_python_api_profile_passwords"
Linux
Linux 에 서 는 영구적 인 프로필 이 있 는 암 호 를 안전하게 저장 하기 위해 다른 소프트웨어 를 설치 하고 설정 해 야 할 수도 있 습 니 다.그 배치 과정 은 다른 블 로 그 를 통 해 알 수 있다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[API POST] 내 손으로 만든 API 사용하기, 스파르타 코딩 클럽 1일차스파르타 코딩 클럽 실무형 AI 웹 개발자 양성 과정 개발 과정: 1일차 4개월 과정의 프로그램이 시작됐다. 살인적인 스케줄, 하루 12시간 의무 자습시간 등등 걱정스러운 부분도 많았지만 프로그램 전체 기간동안 사용...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.