acurl 사용

현재 Apigee Edge 문서가 표시되고 있습니다.
Apigee X 문서로 이동
정보

acurl(1) 유틸리티는 표준 curl 명령어 주위에 편의 래퍼를 제공합니다. acurl:

  • Apigee 사용자 인증 정보를 OAuth2 액세스 토큰으로 교환합니다.
  • 액세스 토큰이 만료되었는지 감지하고 갱신 토큰을 사용하여 새 액세스 토큰을 가져옵니다.
  • API 요청의 Authorization 헤더에 있는 토큰을 전달합니다.

액세스 토큰을 사용하여 LDAP 및 SAML 워크플로를 비롯해 OAuth2로 Edge API 엔드포인트를 호출합니다.

OAuth2를 사용하여 Edge API에 액세스하지만 acurl를 사용하지 않는 경우 액세스 토큰을 가져와서 API 요청의 헤더에 직접 추가해야 합니다. 액세스 토큰을 가져오는 한 가지 방법은 get_token 유틸리티를 사용하는 것입니다.

acurl 설치

acurl를 사용하려면 먼저 설치해야 합니다.

acurl 구문

acurl 유틸리티는 다음 문법을 사용합니다.

acurl API_URL -u USERNAME:PASSWORD [-m MFACODE]

또는

acurl API_URL -p PASSCODE

각 항목의 의미는 다음과 같습니다.

옵션 필수? 설명
API_URL 필수 항목 Apigee Edge API 엔드포인트입니다. 엔드포인트의 전체 목록은 Apigee Edge API 참조를 확인하세요.
USERNAME 선택사항. 사용자 이름과 비밀번호 조합 또는 비밀번호가 필요합니다. Apigee 사용자 이름(일반적으로 Apigee 계정과 연결된 이메일 주소)입니다. get_token를 처음 호출할 때 사용자 이름 또는 비밀번호를 전달해야 합니다. 액세스 및 갱신 토큰이 만료될 때까지 이메일 주소를 다시 전달할 필요가 없습니다. 사용자 두 명 이상의 토큰을 캐시하는 경우 각 호출마다 사용자 이름을 지정해야 합니다.
PASSWORD 선택사항. 사용자 이름과 비밀번호 조합 또는 비밀번호가 필요합니다. Apigee 계정의 비밀번호입니다. 비밀번호를 생략하면 처음 acurl를 사용할 때 그리고 유효한 갱신 토큰이 없는 후속 호출에서 비밀번호를 입력하라는 메시지가 표시됩니다. 명령어에서 직접 비밀번호를 사용하지 않으려면 비밀번호 대신 일회용 코드 비밀번호를 사용하면 됩니다.
MFACODE Optional 임시 6자리 다단계 인증 (MFA) 코드. -u를 사용하고 MFA를 사용 설정한 경우 이 코드가 필요합니다. 생략하면 메시지가 표시됩니다 (비밀번호 모드가 아닌 경우). MFA를 사용 설정하지 않았거나 스크립트화된 흐름이 있는 경우 메시지가 표시되지 않도록 -m ""를 지정할 수 있습니다.
PASSCODE 선택사항. 사용자 이름과 비밀번호 조합 또는 비밀번호가 필요합니다. 비밀번호 대신 사용할 수 있는 일회용 비밀번호 비밀번호는 SAML IDP로 인증할 때 필요하며 LDAP IDP로 인증하는 데 사용할 수 있습니다.

예를 들면 다음과 같습니다.

acurl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval
acurl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval -u ahamilton@apigee.com
acurl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval -u ahamilton@apigee.com -p 424242
acurl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval -u ahamilton@apigee.com:mypassw0rd
acurl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval -u ahamilton@apigee.com:mypassw0rd -m 123456

위에 표시된 옵션 외에도 acurl는 모든 curl 옵션을 허용합니다. 예를 들어 표준 curl 옵션을 사용하여 헤더를 전달하고, HTTP 동사를 지정하고, 본문을 추가하고, 상세 출력을 사용 설정할 수 있습니다.

옵션 acurl meaning curl meaning
-u username username
-m MFA code max time (긴 형식 --max-time를 사용해야 함)
-p passcode proxy tunnel (긴 형식 --proxytunnel를 사용해야 함)
-v verbose verbose
-h help help (긴 형식 --help를 사용해야 함)
acurl -v -X POST -H 'Content-Type: application/json' \
    https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval/apiproducts/myproduct/attributes/attr \
    -u ahamilton@apigee.com -d '{"value":42}'

acurl 호출이 성공하면 호출한 Edge API 엔드포인트를 기반으로 결과가 반환됩니다. 또한 acurl는 액세스 토큰과 갱신 토큰을 모두 ~/.sso-cli에 저장합니다.

토큰 만료에 설명된 대로 액세스 토큰과 갱신 토큰이 모두 만료될 때까지 사용자 인증 정보 (비밀번호 및 선택적 MFA 또는 비밀번호)를 입력하지 않고 계속 호출할 수 있습니다.

curl에서 이전

curl를 사용하는 경우 acurl 유틸리티로 이전하는 것은 간단하며 사용자 인증 정보를 수동으로 인코딩할 필요가 없습니다. 유틸리티를 다운로드하여 설치한 후

curl -u username
acurl -u username
로 바꿀 수 있습니다.

acurl 유틸리티는 사용자 인증 정보를 인코딩하고 때때로 새 토큰 쌍을 가져오는 데 필요한 추가 사용자 인증 정보를 묻는 메시지를 표시합니다.

acurl 유틸리티는 머신 사용자의 curl를 대체하는 데도 사용할 수 있습니다. 자세한 내용은 머신 사용자를 위한 OAuth2SAML 영역의 머신 사용자를 참조하세요.

acurl 처음 호출하기

acurl로 API를 처음 호출할 때 acurl에서 액세스 토큰 및 갱신 토큰으로 교환할 수 있도록 Apigee 사용자 인증 정보 (Apigee 계정의 사용자 이름과 비밀번호 또는 비밀번호)를 제공합니다.

다음 예시에서는 조직 가져오기 엔드포인트를 사용하여 조직에 대한 세부정보를 가져오기 위한 acurl를 사용한 초기 호출을 보여줍니다.

acurl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval \
  -u ahamilton@apigee.com
Enter the password for user 'ahamilton@apigee.com':
[hidden input]
Enter the six-digit code (no spaces) if 'ahamilton@apigee.com' is MFA-enabled or press ENTER:
1a2b3c
{
  "createdAt" : 1491854501264,
  "createdBy" : "noreply_iops@apigee.com",
  "displayName" : "ahamilton",
  "environments" : [ "prod", "test" ],
  "lastModifiedAt" : 1491854501264,
  "lastModifiedBy" : "noreply_iops@apigee.com",
  "name" : "ahamilton",
  "properties" : {
    "property" : [ {
      "name" : "features.isSmbOrganization",
      "value" : "false"
    }, {
      "name" : "features.isCpsEnabled",
      "value" : "true"
    } ]
  },
  "type" : "trial"
}

acurl 유틸리티가 액세스 토큰을 가져와서 Edge API 엔드포인트 호출에 삽입합니다.

curl -H "Authorization: Bearer oauth2_access_token" ...

액세스 토큰은 ~/.sso-cli에 로컬로 저장되며 후속 호출에 사용됩니다.

액세스 토큰이 만료되면 acurl에서 자동으로 갱신 토큰을 사용하여 새 액세스 토큰을 가져옵니다. 갱신 토큰이 만료되면 acurl에서 Apigee 사용자 인증 정보를 요청하는 메시지를 표시합니다.

이 요청은 'ahamilton-eval' 조직에 대한 세부정보를 가져옵니다. Edge API 엔드포인트의 전체 목록은 Apigee Edge API 참조를 확인하세요.


(1) Copyright 2023 Google LLC
acurl 도구는 Google Cloud Platform 사용에 적용되는 계약에 따라 '소프트웨어'로 제공되며 https://cloud.google.com/terms/service-terms에서 확인할 수 있는 서비스별 약관이 포함됩니다.