Private Cloud용 Edge v. 4.17.09
Edge API에서 SAML을 사용할 때 SAML 어설션에서 OAuth2 액세스 및 갱신 토큰을 얻기 위해 사용하는 프로세스를 비밀번호 흐름이라고 합니다. 비밀번호 흐름을 사용하면 브라우저에서 일회용 비밀번호를 가져온 다음 OAuth2 토큰을 가져오는 데 사용할 수 있습니다.
그러나 개발 환경에서 테스트 자동화 또는 지속적 통합/지속적 배포 (CI/CD)와 같은 일반적인 개발 작업에 자동화를 지원할 수도 있습니다. SAML이 사용 설정된 경우 이러한 작업을 자동화하려면 브라우저에서 비밀번호를 복사하여 붙여넣지 않고도 OAuth2 토큰을 가져오고 새로고침할 수 있어야 합니다.
Edge는 머신 사용자를 사용하여 자동화된 토큰 생성을 지원합니다. 머신 사용자는 비밀번호를 지정하지 않고도 OAuth2 토큰을 가져올 수 있습니다. 즉, Edge 관리 API를 사용하여 OAuth2 토큰을 가져오고 새로고침하는 프로세스를 완전히 자동화할 수 있습니다.
머신 사용자 만들기
apigee-ssoadminapi.sh 유틸리티를 사용하여 SAML 조직의 머신 사용자를 만듭니다. 자세한 내용은 apigee-ssoadminapi.sh 사용을 참고하세요. 모든 조직에서 사용하는 단일 머신 사용자를 만들거나 조직마다 별도의 머신 사용자를 만들 수 있습니다.
머신 사용자는 생성되고 SAML ID 공급업체가 아닌 Edge 데이터 스토어에 저장됩니다. 따라서 Edge UI 및 Edge 관리 API를 사용하여 머신 사용자를 유지할 책임은 없습니다.
머신 사용자를 만들 때 이메일 주소와 비밀번호를 지정해야 합니다. 머신 사용자를 만든 후 하나 이상의 조직에 할당합니다.
머신 사용자를 만들려면 다음 안내를 따르세요.
- 다음 apigee-ssoadminapi.sh 명령어를 사용하여 머신 사용자를 만듭니다.
> apigee-ssoadminapi.sh saml machineuser add --admin SSO_ADMIN_NAME --secret SSO_ADMIN_SECRET --host edge_sso_IP_or_DNS -u machine_user_email
machine_user_email- SSO_ADMIN_NAME은 Edge SSO 모듈을 구성하는 데 사용되는 구성 파일의 SSO_ADMIN_NAME 속성으로 정의된 관리자 사용자 이름입니다. 기본값은 ssoadmin입니다.
- SSO_ADMIN_SECRET는 구성 파일의 SSO_ADMIN_SECRET 속성에서 지정된 관리자 비밀번호입니다.
apigee-sso 모듈은 --port에 기본값 9099를 사용하고 --ssl에 http를 사용하므로 이 예에서 --port 및 --ssl의 값을 생략해도 됩니다. 설치에서 이러한 기본값을 사용하지 않는 경우 적절하게 지정합니다.
- Edge UI에 로그인하고 머신 사용자의 이메일을 조직에 추가하고 머신 사용자에게 필요한 역할을 할당합니다. 자세한 내용은 전역 사용자 추가를 참고하세요.
머신 사용자 토큰 가져오기 및 새로고침
Edge API를 사용하여 비밀번호 대신 머신 사용자의 사용자 인증 정보를 전달하여 OAuth2 토큰을 가져오고 새로고침합니다.
머신 사용자의 OAuth2 토큰을 가져오려면 다음 안내를 따르세요.
- 다음과 같은 API 호출을 사용하여 초기 액세스 및 갱신 토큰을 생성합니다.
> curl -H "Content-Type: application/x-www-form-urlencoded;charset=utf-8" /
-H "accept: application/json;charset=utf-8" /
-H "Authorization: Basic ZWsoRnZWNsaVpcVdl in POST_username /Password -H "Authorization: Basic ZWsoRnZWNsaVpcVdl in the
edge_sso_IP_DNS 호출하면 액세스 토큰과 갱신 토큰이 화면에 출력됩니다. 나중에 사용할 수 있도록 토큰을 저장합니다. - 액세스 토큰을 Bearer 헤더로 Edge 관리 API 호출에 전달합니다.
> curl -H "Authorization: Bearer access_token" http://ms_IP_DNS:8080/v1/organizations/orgName
여기서 orgName은 머신 사용자가 포함된 조직의 이름입니다. - 나중에 액세스 토큰을 새로고침하려면 갱신 토큰이 포함된 다음 호출을 사용합니다.
> curl -H "Content-Type:application/x-www-form-urlencoded;charset=utf-8" /
-H "Accept: application/json;charset=utf-8" /
-H "soset=utf-8" /
-H "0soset=utf-8" /
-H "0soset =utf-8" /
-H "soptoken: Basic ZWRnZGdlV2a
edge_sso_IP_DNS
Edge 관리 API를 사용하여 머신 사용자 만들기
apigee-ssoadminapi.sh 유틸리티를 사용하는 대신 Edge 관리 API를 사용하여 머신 사용자를 만들 수 있습니다. 머신 사용자를 만들려면 다음 안내를 따르세요.
- 다음 cURL 명령어를 사용하여 ssoadmin 사용자의 RE
edge_sso_IP_DNS
이 명령어는 다음 호출을 실행하는 데 필요한 토큰을 표시합니다. - <ph - 1 - 1 <ph type="x-smartling-placeholder">
</ph> - < br - 1 - 1 - 1 -
edge_sso_IP_DNS - Edge UI에 로그인하고 머신 사용자의 이메일을 조직에 추가하고 머신 사용자에게 필요한 역할을 할당합니다. 자세한 내용은 전역 사용자 추가를 참고하세요.