acurl 사용

Apigee Edge 문서입니다.
Apigee X 문서로 이동
정보

acurl(1) 유틸리티는 표준 curl 명령어를 둘러싼 편리한 래퍼를 제공합니다. acurl:

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

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

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 선택사항 임시 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 옵션을 허용합니다. 예를 들어 헤더를 전달하고, HTTP 동사를 지정하고, 본문을 추가하고, 표준 curl 옵션을 사용한 상세 출력:

옵션 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에서 확인할 수 있습니다.