토큰 생성 프로세스 자동화

<ph type="x-smartling-placeholder"></ph> 현재 Apigee Edge 문서를 보고 있습니다.
Apigee X 문서.
정보

Edge API에서 SAML을 사용할 때 OAuth2 액세스 및 SAML 어설션의 갱신 토큰을 비밀번호 흐름이라고 합니다. 비밀번호 사용 브라우저를 사용하여 일회성 비밀번호를 가져온 다음 OAuth2를 가져오는 데 사용할 수 있습니다. 토큰입니다.

그러나 여러분의 환경에서 일반적인 개발 작업을 위한 자동화를 지원할 수도 있습니다. 테스트 자동화 또는 지속적 통합/지속적 배포 (CI/CD)를 예로 들 수 있습니다. 자동화하기 위해 SAML을 사용 설정하면 이러한 작업을 실행할 때 다른 사용자 인증 없이 OAuth2 토큰을 받아 브라우저에서 비밀번호를 복사/붙여넣기해야 함

머신 사용자 정보

Apigee Edge는 SAML이 사용 설정된 조직의 머신 사용자를 지원합니다. 머신 사용자는 자동화에만 사용되며 사람이 직접 액세스하지 않습니다.

머신 사용자가 OAuth2 토큰을 가져올 수 있음 비밀번호를 지정할 필요가 없습니다. 즉, 인프라에 대한 관리 프로세스를 Edge API를 사용하여 OAuth2 토큰을 가져오고 새로고침합니다.

토큰 생성 프로세스를 자동화하기 위한 단계

토큰 생성 프로세스를 자동화하려면 다음 안내를 따르세요.

단계 설명
1 SAML ID 영역에 머신 사용자 만들기
2 Edge 조직의 머신 사용자에게 필요한 역할 할당하기
3 머신 사용자의 OAuth2 토큰 가져오기

동영상: 머신 사용자 인증 정보를 사용하여 Apigee Edge API에 대한 액세스를 자동화하는 방법을 알아보려면 짧은 동영상을 시청하세요.

SAML ID 영역의 머신 사용자 관리

Apigee는 머신 사용자 계정을 만들고 관리하기 위한 머신 사용자 관리 명령줄 인터페이스 (CLI)를 제공합니다. 머신 사용자 관리 CLI를 사용하는 단계는 다음 섹션에서 설명합니다.

CLI 사용

머신 사용자 관리 CLI를 사용하려면 먼저 다음 파일을 다운로드하고 압축을 풉니다. usermgmt.tar.gz(1)

CLI를 호출하는 형식은 다음과 같습니다.

usermgmt_platform [command] [flags]

다음 표에는 지원되는 플랫폼과 머신 사용자 관리 CLI를 호출하는 해당 명령어가 요약되어 있습니다. 실행 파일은 usermgmt 디렉터리에 있습니다.

플랫폼 32비트 64비트
Linux usermgmt_linux_386 usermgmt_linux_amd64
Mac usermgmt_darwin_386 usermgmt_darwin_amd64
Windows usermgmt_windows_386 usermgmt_windows_amd64

다음 표에는 지정할 수 있는 명령어가 요약되어 있습니다.

명령어 추가 정보
create ID 영역에 머신 사용자 만들기
delete ID 영역에서 머신 사용자 삭제
help CLI를 사용하여 도움말 보기
list ID 영역의 모든 머신 사용자 나열
reset ID 영역에서 머신 사용자의 비밀번호 재설정

원하는 경우 플래그 중 하나를 전달하여 지정된 명령어에 대한 도움말을 표시할 수 있습니다. -h 또는 --help

CLI에 로그인

24시간 이내에 CLI를 처음 실행하면 zoneadmin 계정 사용자 인증 정보를 입력하라는 메시지가 표시됩니다.

Enter your Apigee credentials
Username: zoneadmin-username
Password: zoneadmin-password
If your user is opted with MFA, enter MFA code. Otherwise press enter to skip.
MFA: mfa-code_or_enter_to_skip

머신 사용자 관리 CLI가 로컬 머신에 액세스 토큰을 저장하므로 24시간에 한 번만 로그인하면 됩니다.

CLI를 사용하여 도움말 보기

usermgmt_platform help 명령어를 사용하여 CLI 사용 정보를 표시합니다. 지원되는 플랫폼 목록은 CLI 사용을 참조하세요.

usermgmt_platform help

다음과 같은 도움말 정보가 표시됩니다.

A command-line interface (CLI) to manage machine user accounts to automate
Apigee identity zone management. Use the CLI to create, list, delete,
and reset the password for machine users.

Usage:
  usermgmt [flags]
  usermgmt [command]

Available Commands:
  create  Creates a machine users in an identity zone.
  delete  Deletes a machine users in an identity zone.
  help    Help about any command
  list    Lists the machine users in an identity zone.
  reset   Resets the password for a machine user in an identity zone.

Flags:
  -h, --help               help for usermgmt

Use "usermgmt [command] --help" for more information about a command.

명령줄에서 -h 또는 --help 플래그를 모두 전달하여 특정 명령어에 대한 도움말을 표시합니다.

예를 들어 list 명령어에 대한 도움말을 보려면 다음을 실행합니다.

usermgmt_platform list -h

다음과 같은 도움말 정보가 표시됩니다.

Lists the machine users in an identity zone.

Usage:
  usermgmt list [flags]

Flags:
  -h, --help   help for list

ID 영역에서 머신 사용자 만들기

usermgmt_platform create 명령어를 사용하여 ID 영역에 머신 사용자를 만듭니다. 지원되는 플랫폼 목록은 CLI 사용을 참조하세요.

  1. 다음 명령어를 입력합니다.
    usermgmt_platform create

    ID 영역 목록이 표시됩니다.

    myzone1
    myzone2
  2. 프롬프트에 영역의 이름을 입력합니다.
    Enter a zone name: myzone1
  3. 머신 사용자의 사용자 이름을 입력합니다.
    Create a Machine User
    Username: machineuser1@mycompany.com
  4. 시스템 사용자의 비밀번호를 입력합니다. 메시지가 표시되면 비밀번호를 다시 입력합니다.
    Password: password
    Re-enter password: password 

    사용자가 생성됩니다.

    Created machine user machineuser1@mycompany.com

ID 영역의 모든 머신 사용자 나열

usermgmt_platform list 명령어를 사용하여 ID 영역의 모든 머신 사용자를 나열합니다. 지원되는 플랫폼 목록은 CLI 사용을 참조하세요.

  1. 다음 명령어를 입력합니다.
    usermgmt_platform list
    ID 영역 목록이 표시됩니다.
    myzone1
    myzone2
  2. 프롬프트에 영역의 이름을 입력합니다.
    Enter a zone name: myzone1

    ID 영역의 머신 사용자 목록이 표시됩니다.

    Machine users in the zone:
    machineuser1@mycompany.com
        

ID 영역에 있는 머신 사용자의 비밀번호 재설정

usermgmt_platform reset 명령어를 사용하여 ID 영역에 있는 머신 사용자의 비밀번호를 재설정합니다. 지원되는 플랫폼 목록은 CLI 사용을 참조하세요.

  1. 다음 명령어를 입력합니다.
    usermgmt_platform reset

    ID 영역 목록이 표시됩니다.

    myzone1
    myzone2
  2. 프롬프트에 영역의 이름을 입력합니다.
    Enter a zone name: myzone1
  3. 비밀번호를 재설정하려는 시스템 사용자의 사용자 이름을 입력합니다.
    Reset User Password
    Enter the username for the machine user
    Username: machineuser1@mycompany.com
  4. 시스템 사용자의 새 비밀번호를 입력합니다. 메시지가 표시되면 비밀번호를 다시 입력합니다.
    Enter the new password: password
    Re-enter password: password

    비밀번호가 재설정되었습니다.

    Reset password for machine user machineuser1@mycompany.com

ID 영역에서 머신 사용자 삭제

usermgmt_platform delete 명령어를 사용하여 ID 영역의 머신 사용자를 삭제합니다. 지원되는 플랫폼 목록은 CLI 사용을 참조하세요.

  1. 다음 명령어를 입력합니다.
    usermgmt_platform delete
    ID 영역 목록이 표시됩니다.
    myzone1
    myzone2
  2. 프롬프트에 영역의 이름을 입력합니다.
    Enter a zone name: myzone1
  3. 삭제하려는 머신 사용자의 사용자 이름을 입력합니다.
    Delete User
    Enter the username for the machine user
    Username: machineuser1@mycompany.com 

    시스템 사용자가 삭제됩니다.

    Deleted user machineuser1@mycompany.com

Edge 조직의 머신 사용자에게 필요한 역할 할당

UI를 사용하여 머신 사용자를 SAML 사용 Edge 조직에 추가하고 필요한 역할 (예: 조직 관리자)을 할당합니다. 사용자 추가에 설명된 대로 언제든지 변경할 수 있습니다.

머신 사용자의 OAuth2 토큰 가져오기

토큰 생성 프로세스를 자동화하고 다음을 사용하여 머신 사용자의 토큰 캐싱을 처리할 수 있습니다. 에 설명된 acurl(1)get_token(1) 유틸리티 머신 사용자를 위한 OAuth2 및 SAML 영역의 머신 사용자를 지원합니다.

curl를 사용하여 머신 사용자의 OAuth2 토큰을 수동으로 가져오려면 다음 안내를 따르세요.

  1. 선호하는 URL 인코딩 도구를 사용하여 시스템 사용자의 사용자 이름과 비밀번호를 인코딩합니다.

    경고: 내부 URL 인코딩 도구를 사용하여 도용되지 않습니다.

  2. 다음 예와 같이 SAML 토큰 엔드포인트를 호출하여 초기 액세스 및 갱신 토큰을 생성합니다.
    curl -H "Content-Type: application/x-www-form-urlencoded;charset=utf-8" \
      -H "accept: application/json;charset=utf-8" \
      -H "Authorization: Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" -X POST \
      https://zoneName.login.apigee.com/oauth/token -s \
      -d 'grant_type=password&username=machineusername&password=machineuserpassword'

    승인을 위해 예약된 OAuth2 클라이언트 사용자 인증 정보(ZWRnZWNsaTplZGdlY2xpc2VjcmV0)를 Authorization 헤더. 이 호출은 액세스 및 갱신 토큰을 출력하여 stdout

  3. 액세스 토큰을 Edge 관리 API 호출에 Bearer 헤더로 전달합니다.
    curl -H "Authorization: Bearer ACCESS_TOKEN" \
      https://api.enterprise.apigee.com/v1/organizations/orgName
  4. 액세스 토큰이 만료되면 SAML에 갱신 토큰을 전송하여 갱신할 수 있습니다. 토큰 엔드포인트를 생성합니다.
    curl -H "Content-Type:application/x-www-form-urlencoded;charset=utf-8" \
      -H "Accept: application/json;charset=utf-8" \
      -H "Authorization: Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" -X POST \
      https://zoneName.login.apigee.com/oauth/token \
      -d 'grant_type=refresh_token&refresh_token=REFRESH_TOKEN'

(1) Copyright 2023 Google LLC
usermgmt, acurlget_token 도구는 "소프트웨어"로 제공됩니다. 아래 '서비스'를 포함하여 Google Cloud Platform 사용에 적용되는 계약 '약관'은 https://cloud.google.com/terms/service-terms에서 확인할 수 있습니다.