이 섹션에서는 Apigee SSO를 사용 설정한 후 Edge 시스템 관리 도구 및 명령어를 실행하는 방법을 설명합니다. Edge의 많은 작업에는 다음과 같은 시스템 관리 사용자 인증 정보가 필요합니다.
- 조직 및 환경 만들기
- Edge 구성요소 추가 및 삭제
apigee-adminapi.sh명령어 실행
하지만 Edge에서 SSO를 사용 설정한 후에는 일반적으로 기본 인증을 사용 중지하여 OIDC/SAML IDP를 통해서만 인증할 수 있도록 합니다. 따라서 시스템 관리 계정을 IDP에 추가했거나 자동화를 위한 로컬 머신 사용자를 만들었는지 확인해야 합니다.
시스템 관리자로 Edge Management API 호출
많은 Edge API 호출에서는 시스템 관리 사용자 인증 정보를 전달해야 합니다. Edge Management API와 함께 SAML 사용에는 Edge Management API 호출 시 get_token 유틸리티를 사용하여 토큰을 가져오고 갱신 토큰하는 방법에 대한
안내가 포함되어 있습니다.
Apigee SSO와 함께 apigee-adminapi.sh 유틸리티 사용
apigee-adminapi.sh 유틸리티를 사용하여 Edge Management API를 호출하여 수행하는 것과 동일한 Edge 구성 작업
을 수행합니다.
apigee-adminapi.sh 유틸리티의 장점은 다음과 같습니다.
- 간단한 명령줄 인터페이스를 사용합니다.
- 탭 기반 명령어 완성을 구현합니다.
- 도움말 및 사용 정보를 제공합니다.
- API를 사용해 보려는 경우 상응하는 API 호출을 표시할 수 있습니다.
Apigee SSO를 사용 설정한 후에는 사용자 관리자인지 자동화된 스크립트인지에 따라 apigee-adminapi.sh 유틸리티에 사용자 인증 정보를 전달하는 두 가지 기본 방법이 있습니다.
명령어에 -h 옵션을 사용하여 SSO 사용자 인증 정보 지정 옵션을 비롯한 모든 apigee-adminapi.sh 명령어의
옵션을 확인할 수 있습니다. 예를 들면
다음과 같습니다.
apigee-adminapi.sh orgs list -h
Bearer 토큰 전달 (사용자 관리자용)
최신 Apigee SSO는 기존 /passcode 복사-붙여넣기 흐름을 지원하지 않으므로 사용자 관리자는 get_token 유틸리티를 사용하여 OAuth 2.0 기기 코드 흐름을 완료한 후 결과 토큰을 스크립트에 전달해야 합니다.
먼저 토큰을 가져옵니다.
/opt/apigee/apigee-openldap/bin/get_token -u adminEmail
그런 다음 명령어를 호출할 때 토큰을 사용합니다.
apigee-adminapi.sh orgs list --sso-url http://edge_sso_IP_DNS:9099 --oauth-flow passcode \ --admin adminEmail --oauth-token token_string
각 항목의 의미는 다음과 같습니다.
oauth-flow는passcode를 지정합니다 (토큰이 제공됨을 기존 스크립트에 알림).oauth-token에는get_token에서 가져온 원시 JWT 문자열이 포함됩니다.
비밀번호 전달 (머신 사용자 전용)
인프라 배포를 자동화하는 경우 password_grant 흐름을 사용하여 사용자 인증 정보를 직접 전달할 수 있습니다. 하지만 SAML/OIDC 제휴가 사용 설정된 경우 MFA 우회를 방지하기 위해 사용자 섀도우 사용자는 비밀번호 로그인이 차단 됩니다. 먼저 OpenLDAP에서 명시적 머신 사용자를 프로비저닝해야 합니다.
apigee-adminapi.sh orgs list --sso-url http://edge_sso_IP_DNS:9099 --oauth-flow password_grant \ --admin machineUserEmail --oauth-password machineUserPassword
각 항목의 의미는 다음과 같습니다.
sso-url옵션은 Apigee SSO의 URL을 지정합니다. 9099 및 HTTP에서 포트 또는 프로토콜을 변경한 경우 수정합니다.oauth-flow는password_grant를 지정합니다.- machineUserEmail은 자동화된 머신 사용자의 이메일 주소입니다.
oauth-password는 머신 사용자의 비밀번호를 지정합니다.
Apigee SSO와 함께 Edge 유틸리티 사용
많은 Edge 유틸리티에는 다음과 같은 시스템 관리 사용자 인증 정보가 필요합니다.
apigee-provision조직, 환경, 가상 호스트를 만드는 데 사용되는- 기존 시스템에 노드를 추가하는 데 사용되는
setup.sh - 구성 파일 에서 시스템 관리 사용자 인증 정보를 지정해야 하는 기타 유틸리티
이러한 유틸리티는 시스템 관리자의 사용자 인증 정보를 지정하는 구성 파일을 입력으로 사용합니다. SSO가 사용 설정되기 전에는 다음과 같은 속성을 사용하여 이 작업을 수행합니다.
ADMIN_EMAIL="adminEmail" APIGEE_ADMINPW="adminPWord"
Apigee SSO를 사용 설정한 후에는 다른 속성을 사용하여 시스템 관리자의 사용자 인증 정보를 지정해야 합니다.
Bearer 토큰 사용 (사용자 관리자용)
사용자 관리자의 대화형 배포의 경우 get_token 유틸리티를 사용하여 토큰을 가져오고 OAUTH_BEARER_TOKEN 속성을 통해 제공합니다.
ADMIN_EMAIL="adminEmail" SSO_LOGIN_URL="http://edge_sso_IP_DNS:9099" OAUTH_FLOW="passcode" OAUTH_BEARER_TOKEN="token_string"
각 항목의 의미는 다음과 같습니다.
OAUTH_FLOW는passcode를 지정합니다 (토큰이 제공됨을 알림).OAUTH_BEARER_TOKEN에는get_token에서 가져온 원시 JWT 문자열이 포함됩니다.
비밀번호 사용 (머신 사용자 전용)
완전 자동화된 배포의 경우 password_grant 흐름을 사용하여 명시적으로 프로비저닝된 머신 사용자의 사용자 인증 정보를 제공합니다.
ADMIN_EMAIL="machineUserEmail" SSO_LOGIN_URL="http://edge_sso_IP_DNS:9099" OAUTH_FLOW="password_grant" OAUTH_ADMIN_PASSWORD="machineUserPassword"
각 항목의 의미는 다음과 같습니다.
SSO_LOGIN_URL은 Apigee SSO의 URL을 지정합니다.OAUTH_FLOW는password_grant를 지정합니다.OAUTH_ADMIN_PASSWORD는 머신 사용자의 비밀번호를 지정합니다.