4.3. API를 사용하여 프록시 정책 체인 수정


정책 체인에서 정책을 관리하려면 3scale 관리 포털을 사용하는 대신 계정 관리 API를 사용할 수 있습니다. API라고 하는 계정 관리 API를 사용하면 API 트래픽을 제어하는 프록시 정책 체인을 변경할 수 있습니다. 정책을 추가, 제거, 재정렬 또는 수정하여 전체 기능을 프록시 정책 체인 업데이트 라는 엔드포인트로 처리할 수 있습니다. 프록시 정책 체인 업데이트 끝점을 사용하여 API를 호출합니다.

PUT /admin/api/services/{service_id}/proxy/policies.json

엔드포인트 호출에는 요청 본문에 access_tokenpolicies_config 매개변수가 포함되어야 합니다. policies_config 요청 본문 매개변수는 URL로 인코딩된 JSON 배열이어야 합니다. 배열의 각 요소는 정책 구성을 나타냅니다.

프록시 정책 체인 업데이트 끝점은 업데이트된 프록시 정책 체인을 반환합니다. 입력이 잘못된 경우 오류가 발생합니다.

정책 체인을 보려면 계정 관리 API에 대해 다음 GET 호출을 사용합니다.

GET /admin/api/services/{service_id}/proxy/policies.json

GET 호출 예제 정책 체인 출력

{
  "policies_config": [
    {
      "name": "cors",
      "version": "builtin",
      "configuration": {
        "allow_headers": [],
        "allow_methods": [
          "GET"
        ],
        "allow_origin": "https://example.com",
        "allow_credentials": true
      },
      "enabled": true
    },
    {
      "name": "apicast",
      "version": "builtin",
      "configuration": {},
      "enabled": true
    }
  ]
}

이전 JSON 응답에서 policies_config 속성의 페이로드는 프록시 정책 체인 업데이트 엔드포인트에 대한 호출에서 policies_config 매개변수의 예상 값을 나타내는 배열입니다.

4.3.1. curl 명령을 사용하여 정책 체인 업데이트

다음 예제에서는 curl 명령과 jq 툴을 사용하여 프록시 정책 체인을 읽고 업데이트하는 방법을 보여줍니다. 자리 표시자 값 {admin_portal_url}, {service_id}, {access_token} 을 사용자 환경을 나타내는 값으로 바꿉니다.

4.3.1.1. curl 요청에 policies_config 인라인 제공

프로세스

  1. 현재 정책 체인을 가져옵니다.

    $ curl -s "{admin_portal_url}/admin/api/services/{service_id}/proxy/policies.json?access_token={access_token}" | jq '.policies_config' -c
    참고
    • curl-s 옵션을 사용하면 "실질" 모드가 요청 응답에 속하지 않는 출력을 억제할 수 있습니다.
    • jq '.policies_config' 는 응답의 policies_config JSON 속성에서 정책 체인 배열을 추출합니다.
    • jq 툴의 - C 옵션은 여러 행을 방지하기 위해 출력을 컴팩트 모드로 출력합니다.

    이 명령은 정책 체인의 CORS 및 APIcast 정책을 표시하는 응답을 반환합니다. 예를 들면 다음과 같습니다.

    [{"name":"cors","version":"builtin","configuration":{"allow_headers":[],"allow_methods":["GET","POST","PUT"],"allow_origin":"https://example.com","allow_credentials":true},"enabled":true},{"name":"apicast","version":"builtin","configuration":{},"enabled":true}]
  2. 체인에 정책을 추가, 제거 또는 재정렬하거나 구성을 변경하여 정책 체인을 편집합니다.
  3. 정책 체인을 업데이트합니다.

    다음 curl 명령 예에서 CORS 정책은 체인에서 제거되지만 정책 체인에 대한 다른 변경을 수행할 수 있습니다.

    $ curl -X PUT "{admin_portal_url}/admin/api/services/{service_id}/proxy/policies.json" -d 'access_token={access_token}' -d 'policies_config=[{"name":"apicast","version":"builtin","configuration":{},"enabled":true}]'

4.3.1.2. 파일에서 policies_config 콘텐츠 제공

프로세스

  1. 현재 정책 체인을 파일에 저장합니다.

    curl -s "{admin_portal_url}/admin/api/services/{service_id}/proxy/policies.json?access_token={access_token}" | jq '.policies_config' > policies_config.json
  2. 체인에 정책을 추가, 제거 또는 다시 정렬하거나 구성을 변경하여 policies_config.json 파일에서 정책 체인을 편집합니다.
  3. 정책 체인을 업데이트합니다.

    $ curl -X PUT "{admin_portal_url}/admin/api/services/{service_id}/proxy/policies.json" -d 'access_token={access_token}' --data-urlencode policies_config@policies_config.json
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.