관리 포털 가이드


Red Hat 3scale API Management 2.14

Red Hat 3scale API Management와 관련된 측면을 관리합니다.

Red Hat Customer Content Services

초록

이 안내서에서는 Red Hat 3scale API Management를 관리하기 위한 정보를 제공합니다.

머리말

이 안내서는 관리 포털에서 사용 가능한 기능을 사용하여 3scale 설치를 관리하는 데 도움이 됩니다.

Red Hat 문서에 관한 피드백 제공

문서 개선을 위한 의견에 감사드립니다.

개선 사항을 제안하려면 Jira 문제를 열고 제안된 변경 사항을 설명합니다. 귀하의 요청을 신속하게 처리할 수 있도록 가능한 한 자세한 정보를 제공하십시오.

사전 요구 사항

  • Red Hat 고객 포털 계정이 있어야 합니다. 이 계정을 사용하면 Red Hat Jira Software 인스턴스에 로그인할 수 있습니다. 계정이 없는 경우 계정을 생성하라는 메시지가 표시됩니다.

절차

  1. 다음 링크를 클릭합니다. 문제 생성.
  2. 요약 텍스트 상자에 문제에 대한 간략한 설명을 입력합니다.
  3. 설명 텍스트 상자에 다음 정보를 입력합니다.

    • 문제를 발견한 페이지의 URL입니다.
    • 문제에 대한 자세한 설명입니다.
      다른 필드에 있는 정보는 기본값에 따라 그대로 둘 수 있습니다.
  4. 생성 을 클릭하여 Jira 문제를 문서 팀에 제출합니다.

피드백을 제공하기 위해 시간을 내어 주셔서 감사합니다.

I 부. 계정 설정

1장. 계정 구성

계정을 생성한 후 회사에 대한 기본 정보를 업데이트합니다. 위치를 설정하고 연락처 정보를 추가하십시오.

참고
The account view is only visible to administrators, not to members.
Copy to Clipboard Toggle word wrap

1.1. 회사 정보 추가

새 계정을 생성한 후에는 다음 단계를 통해 회사 정보를 추가합니다.

  1. 상단 탐색 모음 오른쪽에 있는 톱니바 아이콘을 클릭합니다. 개요 창이 표시됩니다.
  2. 계정 세부 정보 제목 옆에 있는 편집 링크를 클릭합니다.
  3. 계정 정보를 입력합니다.

여기에서 지정한 주소에는 다음 두 가지 전략이 있습니다.

  • 유료 계획에 있는 경우 청구 목적으로 이 주소를 사용하십시오.
  • 청구 및 결제 모듈을 사용하는 경우, 이 주소는 사용자가 송장에 표시되는 주소입니다.

1.2. 원하는 시간대를 선택합니다.

동일한 페이지에서 모든 시스템 디스플레이에서 사용할 시간대를 선택할 수도 있습니다. 이 설정은 분석 그래프에 영향을 미칩니다. 그러나 청구 주기 계산은 UTC 시간에 따라 수행됩니다.

2장. 3scale API Management 관리 포털용 Red Hat Single Sign On

이 가이드에서는 3scale API Management 관리 포털에서 Red Hat Single Sign-On을 구성하고 사용하는 방법에 대한 정보를 제공합니다.

2.1. Red Hat Single Sign-On 또는 Auth0 멤버 인증 활성화

3scale은 멤버 및 관리자를 위한 Single Sign-On(SS0) 인증을 지원합니다.

3scale 관리 포털은 각각 여러 ID 중개 및 멤버 페더레이션 옵션을 지원하는 다음 SSO 공급자를 지원합니다.

참고

여러 SSO 멤버 인증 유형을 활성화할 수 있습니다.

Red Hat Single Sign-On 또는 Auth0에 추가된 사용자만 SSO를 통해 3scale 관리 포털에 액세스할 수 있습니다. 역할 또는 사용자 그룹으로 액세스를 추가로 제한하려면 Red Hat Single Sign-On 또는 Auth0 지원 포털의 단계별 튜토리얼을 통해 해당 단계를 참조해야 합니다.

선택한 공급자를 통해 SSO를 설정한 후에는 3scale 관리 포털에서 구성하고 활성화해야 합니다.

2.1.1. Red Hat Single Sign-On 사전 요구 사항

  • 설명서의 개발자 포털 인증 섹션에 설명된 대로 구성된 Red Hat Single Sign-On 인스턴스 및 영역.

2.1.2. Auth0 사전 요구 사항

  • Auth0 서브스크립션 및 계정.

2.1.3. Red Hat Single Sign-On 활성화

관리자는 3scale 관리 포털에서 다음 단계를 수행하여 Red Hat Single Sign-On 또는 Auth0을 활성화합니다.

  1. 사전 요구 사항에서 강조 표시된 기본 SSO 공급자가 올바르게 구성되었는지 확인합니다.
  2. 계정 설정에서 SSO 통합으로 이동합니다.

    • 페이지 오른쪽 상단에 있는 톱니바퀴 아이콘을 클릭합니다.
    • Account Settings (gear icon) > Users > SSO Integration으로 이동하여 New SSO Integration 을 클릭합니다.
  3. 드롭다운 목록에서 SSO 공급자를 선택합니다.
  4. SSO를 구성할 때 제공된 필요한 정보를 입력합니다.

    • 클라이언트
    • 클라이언트 시크릿
    • 영역 또는 사이트
  5. 인증 공급자 생성을클릭합니다.
참고

테스트 중에 콜백 URL 불일치가 발생하면 오류 메시지에 표시된 콜백 URL을 Auth0 허용 콜백 URL에 추가합니다.

2.2. 3scale API Management로 Red Hat Single Sign-On 사용

SSO를 구성한 후 멤버는 연결된 ID 공급자(IdP)의 계정 자격 증명을 사용하여 로그인할 수 있습니다.

다음 단계에 따라 SSO를 사용하여 3scale API Management 관리 포털에 로그인합니다.

  1. 3scale 로그인 페이지로 이동합니다.

    https://<organization>-admin.3scale.net/p/login
    Copy to Clipboard Toggle word wrap
  2. IdP로 3scale 인증
  3. 필요한 경우 필요한 정보를 입력하여 등록하십시오.

성공적으로 등록하면 API(애플리케이션 프로그래밍 인터페이스) 공급자 조직에 멤버 계정이 있고 자동으로 로그인됩니다.

2.3. 3scale 로그인을 Red Hat Single Sign-On 옵션으로 리디렉션

이 섹션에서는 Red Hat Single Sign-On을 통한 IdP 로그인 창 리디렉션에 대해 설명합니다. 3scale API Management 관리자로서 선택적 SSO 로그인 페이지를 통해 3scale 계정에 액세스할 수 있도록 다음 단계를 완료합니다.

2.3.1. 사전 요구 사항

참고

Red Hat Single Sign-On을 3scale과 통합하려면 Red Hat Single Sign-On 인스턴스가 작동해야 합니다. 설치 지침은 Red Hat Single Sign -On 7.2 설치를 참조하십시오.

2.3.2. 필수 단계

  1. 3scale 설명서의 3scale 관리 포털 섹션의 Red Hat Single Sign-On 설정에 대한 액세스 및 지침에 따라 Red Hat Single Sign-On 에 액세스합니다.
  2. 보안 로그온을 위해 Red Hat Single Sign-On 내에서 리디렉션을 형성하는 3scale URL을 Red Hat Single Sign-On에 제공합니다. 다음 URL 형식을 사용합니다.

    https://<organization>-admin.3scale.net/auth/<system_name>/bounce
    Copy to Clipboard Toggle word wrap
  3. <system_name >은 관리 포털의 SSO 통합 세부 정보 페이지를 통해 가져올 수 있습니다.

    https://<organization>.3scale.net/p/admin/account/authentication_providers/<ID>
    Copy to Clipboard Toggle word wrap
  4. keycloak_0123456 aaaaaaa는 다음과 같은 OAuth 흐름 테스트 필드의 SSO 통합 세부 정보 페이지에서도 확인할 수 있습니다.

    https://<organization>.3scale.net/auth/keycloak_0123456aaaaa/callback
    Copy to Clipboard Toggle word wrap

3장. 사용자 및 권한 관리

참고

초대 기능은 Pro 및 Enterprise 고객만 사용할 수 있습니다.

API(애플리케이션 프로그래밍 인터페이스)를 관리하는 워크로드를 공유하려면 조직에서 팀 멤버를 초대하여 3scale 관리 포털에 액세스할 수 있습니다. 아래 지침은 3scale 관리 포털에 대한 액세스 권한을 하나 이상의 팀 구성원에게 제공하는 방법을 설명합니다.

사용자와 함께, 귀하의 팀 구성원을 참조합니다. 3scale 관리 포털에는 다음 두 가지 유형의 사용자가 있습니다.

  • 관리자

    모든 지역 및 서비스에 대한 전체 액세스 권한을 가지며 계획에서 허용하는 경우 다른 멤버를 초대할 수 있습니다.

  • 멤버

    귀하가 엔터프라이즈 고객인 경우, 서비스에 대한 개발자 포털(예: Analytics, 개발자 포털)과 같은 제품의 영역에 대한 액세스가 제한됩니다.

SSO(Single Sign-On) 통합을 통해 새 3scale 사용자를 생성하는 경우 이 사용자는 기본적으로 SSO 토큰 콘텐츠에 관계없이 member 역할을 갖습니다. 3scale은 해당 역할을 SSO 역할에 매핑하지 않습니다.

3.2. 초대 보내기

사용자 목록에서 새 팀 멤버를 초대할 수 있습니다. 초대를 보내려면:

  1. 목록 오른쪽 상단에 있는 Invite 사용자 링크를 클릭합니다.
  2. 초대할 사용자의 이메일 주소를 입력하고 보내기 를 클릭합니다.
  3. 전송 확인으로 창의 오른쪽 상단에 메시지가 표시됩니다: 초대가 성공적으로 전송되었습니다.

입력한 주소로 초대 이메일이 전송됩니다. 이메일이 도착하지 않으면 수신자의 이메일 계정에 스팸으로 표시되지 않았는지 확인하십시오.

또한 사용자 > 초대에서 전송된 초대의 목록 및 상태를 확인할 수 있습니다.

3.3. 초대 수락

새 관리자 또는 멤버는 초대 이메일의 링크를 클릭하고 프로세스를 완료하려면 양식을 작성해야 합니다. 양식을 제출하면 해당 계정이 활성화됩니다.

3.4. 새로운 사용자에게 권한을 부여

팀 멤버에게 제공할 수 있는 두 가지 주요 유형의 권리가 있습니다.

  • 지역별

    분석, 청구 또는 개발자 관리를 통해

  • 서비스별

    모든 서비스 중에서 구성원에게 액세스 권한을 부여할 서비스를 선택합니다. 참고: 이 기능은 엔터프라이즈 사용자만 사용할 수 있습니다.

새 사용자 권한을 부여하려면 사용자 메뉴에서 해당 권한을 선택하고 편집 을 클릭하여 새 사용자를 편집합니다. 다음과 같은 사용자 역할이 있습니다.

  • 관리자 권한을 변경하면 관리자 포털을 완전히 제어할 수 있습니다.
  • 멤버에 대한 권한을 변경하면 팀 멤버가 액세스할 수 있는 영역과 서비스를 선택할 수 있습니다.

    • 멤버로 , 해당 지역과 관련된 사용 가능한 모든 서비스를 나열하려면 영역을 선택합니다.

관리 포털의 특정 영역에 대한 액세스 권한을 부여하면 구성원에게 동등한 API에만 액세스할 수 있습니다.

  • 개발자 계정 - 애플리케이션

    계정 관리 API에 대한 액세스 권한을 부여합니다.

  • 분석

    Analytics API에 대한 액세스 권한을 부여합니다.

  • 청구

    billing API에 대한 액세스 권한을 부여합니다.

4장. 알림

알림은 관리자 및 멤버로 전송되므로 개발자 활동(새 계정)을 더 쉽게 구문 분석할 수 있습니다.

4.1. 알림 유형

다양한 유형의 알림이 있습니다.

  • 계정
  • 청구
  • 애플리케이션
  • 서비스 서브스크립션
  • 사용 경고

4.2. 가시성

admin 사용자는 모든 알림에 액세스할 수 있습니다.

멤버 사용자는 액세스 권한이 부여된 영역의 알림에만 액세스할 수 있습니다. 예를 들어, 멤버는 청구 섹션에 액세스할 수 있는 경우에만 청구와 관련된 알림에 액세스할 수 있습니다.

엔터프라이즈 계정 의 경우 멤버 사용자는 액세스 권한이 부여된 서비스 활동에 대한 알림만 액세스할 수 있습니다.

4.3. 이메일별 알림 구독

서브스크립션은 개인 정보이며 해당 알림을 수신하는 사용자만 수정할 수 있습니다. 서브스크립션을 편집하려면 다음을 수행합니다.

  1. 계정 설정 > 개인 > 알림 기본 설정으로 이동합니다.
  2. 수신하려는 알림을 선택합니다.
  3. Update Notification preferences를 클릭합니다.

4.4. 웹 알림

이메일 알림 외에도 대시보드에서 마지막 활동에 대한 정보를 찾을 수 있습니다.

5장. 개인 설정

개인 설정에서 기본 설정을 팀 구성원으로 편집할 수 있습니다. 관리자인 경우 계정 기본 설정을 편집할 수도 있습니다. 계정 구성 튜토리얼을 확인하십시오.

개인 설정을 편집하려면 다음을 수행합니다.

  1. 탐색 모음에서 별점 아이콘을 클릭합니다.
  2. 왼쪽 패널에서 개인 으로 이동합니다.

    여기에서 편집할 수 있는 세 가지 유형의 설정이 있습니다.

    • 개인 세부 정보

      이름, 이메일, 암호

    • 토큰

      3scale API(애플리케이션 프로그래밍 인터페이스) - billing, Account Management, Analytics에 대해 인증할 수 있는 액세스 토큰을 생성하고 ActiveDocs를 사용하여 사용해 보십시오. 3scale 토큰에 대해 자세히 알아보십시오.

    • 알림 설정

      수신하려는 알림을 선택합니다.

      참고: 엔터프라이즈 고객이고 멤버인 경우 지역 및 서비스로 필터링됩니다. 즉, 액세스 권한이 부여된 영역 및 서비스에 대한 알림만 구독할 수 있습니다. 알림 기본 설정에 대한 자세한 내용은 여기에서 확인하십시오.

6장. 토큰

이 튜토리얼에는 3scale 토큰에 대한 정보가 포함되어 있습니다. 즉, 해당 토큰의 정의, 작동 방식 및 생성 방법이 포함되어 있습니다.

3scale에는 두 가지 유형의 토큰(사용자가 생성한 액세스 토큰)과 서비스 토큰 (3scale에서 새 서비스를 생성할 때 자동으로 생성됨)이 있습니다.

6.1. 액세스 토큰

액세스 토큰을 사용하면 API(애플리케이션 프로그래밍 인터페이스) 공급자 관리자와 멤버가 3scale API(예: billing, 계정 관리 및 분석)에 대해 인증하고 ActiveDocs를 사용하여 이를 시도할 수 있습니다.

액세스 토큰은 읽기 및 쓰기 액세스 또는 읽기 전용을 제공할 수 있습니다.

고려해야 할 중요한 사항은 액세스 토큰이 작동하는 방식이며, 이는 해당 멤버의 권한에 따라 이루어집니다. 관리자는 3scale API 모두에 대해 인증하기 위한 토큰을 생성할 수 있습니다. 멤버는 관리 포털의 다른 부분에 액세스할 수 있는 권한으로 제한됩니다. 예를 들어 멤버가 LimitRangeing 영역에 액세스할 수 없는 경우Membering API에 대해 인증하기 위해 토큰을 만들 수 없습니다.

6.2. 액세스 토큰 생성

액세스 토큰은 토큰 페이지에서 생성할 수 있습니다. 토큰을 생성하려면 다음 단계를 따르십시오.

  1. 탐색 모음에서 별점 아이콘을 클릭합니다.
  2. 개인 > 토큰으로 이동합니다.
  3. 액세스 토큰 추가를 클릭합니다.
  4. 이름을 지정하고 하나 이상의 범위를 선택하고 토큰에 대한 권한을 선택합니다.
  5. 새 토큰을 저장하려면 액세스 토큰 만들기를 클릭합니다.

멤버인 경우 계정 관리자가 액세스할 수 있는 API만 제공되지 않을 수 있습니다.

필요한 만큼의 액세스 토큰을 생성할 수 있습니다. 보안상의 이유로 토큰이 3scale에 저장되지 않습니다. 새 토큰을 생성할 때 토큰을 저장하라는 경고 메시지가 표시되므로 이 토큰을 사용하여 3scale API에 요청할 수 있습니다.

토큰이 손실되면 해당 토큰을 삭제하는 것이 좋습니다. 이를 비활성화한 후 잘못된 토큰을 렌더링한 다음 새 토큰을 생성하는 것이 좋습니다.

6.3. 액세스 토큰 사용

액세스 토큰을 사용하여 3scale API를 호출할 때 액세스 권한이 있는 서비스에 의해 결과가 필터링됩니다.

예를 들어 APIcast 자체 관리를 배포할 때 APIcast API 게이트웨이에서 계정 관리 API를 사용하여 서비스 구성을 가져올 수 있도록 액세스 토큰이 필요합니다.

이 작동 방식은 조직이 3scale에서 3scale 서비스를 설정하는 경우이며, 멤버로 2 및 3에는 액세스할 수 있지만 계정 관리 API에 액세스할 수도 있습니다. 또한 토큰을 생성하고 계정 관리 API에 요청할 때 서비스 1을 사용하는 애플리케이션만 받습니다.

동일한 예제에 따라 계정 관리 API에 액세스할 수 있지만 제로 서비스 액세스 시 호출 시 액세스 거부 오류가 발생합니다.

6.3.1. 서비스 토큰

서비스 토큰은 3scale Service Management API에 대해 인증하는 데 사용됩니다. 서비스 토큰은 3scale에서 새 서비스를 생성할 때 자동으로 생성되며 서비스당 고유합니다. 이는 3scale 계정 사용자 간에 공유됩니다.

Admin Portal의 Dashboard: 계정 설정(gear icon) > 개인 > 토큰에서 사용자가 액세스할 수 있는 서비스의 서비스 토큰 을 찾을 수 있습니다.

II 부. 개발자 계정 관리

7장. 개발자 추가

다음은 API(애플리케이션 프로그래밍 인터페이스)에 액세스하기 위해 새 개발자 계정을 추가하는 단계입니다.

개발자를 수동으로 초대하도록 워크플로를 구성한 경우 새 개발자를 추가하는 방법을 설명합니다.

7.1. 새 개발자 계정 생성

  1. 관리 포털의 ECDHE 섹션에서 계정 링크를 따릅니다.
  2. 생성을 클릭합니다.

관리자는 일부 필수 필드도 건너뛸 수 있습니다. 사용자를 안전하게 계정에 초대하려면 암호 필드를 건너뛸 수도 있습니다. 그러나 이 기본 관리자 계정의 이메일은 모든 사용자 간에 고유해야 합니다.

7.2. 애플리케이션 설정

참고

user_key,app_key, client_secret 필드에 대한 최대 길이 및 예약된 문자의 필드 제한이 있습니다.

5~256자 사이의 영숫자 [0-9, a-z, A-Z] hyphen-minus (-) 만 있습니다. 공백은 허용되지 않습니다.

또한 app_idclient_id 의 길이는 최대 140자입니다.

계정에 대한 앱 키를 미리 구성하려는 경우 개발자 대신 애플리케이션을 추가할 수도 있습니다. 그렇지 않으면 개발자가 수행할 초기 단계 중 하나로 두십시오.

7.3. 개발자에게 알립니다.

개발자에게 이메일 초대를 수동으로 보내거나 단계에 따라 초대 개발자 기능을 사용할 수 있습니다.

8장. 개발자 승인

이 섹션에서는 등록 워크플로의 모든 단계에 대해 승인을 수행하는 방법을 보여줍니다.

수동 승인 단계를 사용하여 등록 워크플로를 구현하면 몇 가지 옵션이 있습니다. 승인 프로세스는 트리거 및 승인 상태에 따라 약간 다릅니다. 이메일 알림이 표시되면 다음 섹션의 지침을 따르십시오. 그렇지 않으면 계정, 서비스 또는 애플리케이션을 승인할지 여부에 따라 달라집니다.

8.1. 이메일 알림에서 승인

관리자로서 개발자 중 한 명이 승인 보류 중인 항목이 있다는 이메일 알림을 수신하면 해당 항목의 URL을 브라우저로 복사/붙일 수 있으며 페이지로 직접 이동하여 승인을 할 수 있습니다.

8.2. 계정 승인

특정 계정을 검색하거나 보류 중인 (승인용) 상태에 있는 모든 계정을 필터링하려면 Audience > Accounts > Listing. 보류 중인 계정만 표시하려면 State 드롭다운 목록에서 Pending 를 선택하고 검색을 클릭합니다.

각 행에서 직접 개별 승인을 수행하거나 한 번에 여러 행을 선택하고 대량 승인을 수행할 수 있습니다.

8.3. 서비스 승인

서비스에 대한 특정 서브스크립션을 검색하거나 보류 중인 (승인용) 상태에 있는 모든 서브스크립션을 필터링하려면 Audience > Accounts > Subscriptions 로 이동합니다.

서브스크립션을 보려면 FlexVolume > 계정 > 사용 규칙에서 서비스 계획을 활성화합니다.

한 번에 하나의 서브스크립션 또는 여러 개를 선택하고 대규모 승인을 수행할 수 있습니다.

8.4. 애플리케이션 승인

애플리케이션을 검색하거나 보류 중 (승인용) 상태인 모든 애플리케이션을 필터링하려면 다음을 수행합니다.

  1. ECDHE &gt ; 애플리케이션 > 목록 으로 이동합니다.
  2. State (상태) 드롭다운 목록에서 "pending"을 선택하고 Search 를 클릭합니다.

한 번에 하나의 애플리케이션 또는 여러 애플리케이션을 선택하고 대규모 승인을 수행할 수 있습니다.

개발자 계정의 세부 정보 페이지에서 시작하여 승인하려는 애플리케이션을 선택한 다음 애플리케이션 세부 정보 페이지에서 승인할 수도 있습니다.

9장. 앱 계획 변경

이 섹션에서는 계정, 서비스 또는 애플리케이션에 대한 계획을 변경할 수 있습니다.

관리자는 언제든지 개발자에 대한 계획을 변경하거나 개발자가 시작하는 계획 변경 요청에 대한 응답으로 변경할 수 있습니다.

참고

변경 계획 단계는 변경 중인 계획 유형에 따라 약간 다릅니다.

9.1. 계정 계획 변경

특정 계정을 검색하거나 필터링하려면 DestinationRule &gt ; 계정 > 목록으로 이동합니다.

한 번에 하나 이상의 행을 선택하고 계획을 변경할 수 있습니다.

9.2. 서비스 계획 변경

특정 서브스크립션을 서비스에 검색하거나 필터링하려면ECDHE > 계정 > 서브스크립션으로 이동합니다.

설정 페이지에서 서비스 계획을 활성화한 경우에만 서브스크립션을 볼 수 있습니다.

한 번에 하나 또는 여러 서브스크립션을 선택하고 계획을 변경할 수 있습니다.

9.3. 애플리케이션 계획 변경

특정 애플리케이션을 검색하거나 필터링하려면 DestinationRule &gt ; 애플리케이션 > 목록으로 이동합니다.

한 번에 하나 또는 여러 애플리케이션을 선택하고 계획을 변경할 수 있습니다.

또 다른 시나리오는 개발자 계정의 세부 정보 페이지에서 시작하는 것입니다. 여기에서 계획을 변경할 애플리케이션을 선택합니다. 애플리케이션 세부 정보 페이지에서 계획을 변경할 수 있습니다.

9.3.1. 더 많은 정보

다른 표준 계획으로 변경하는 대신 특정 앱에 대해서만 변경을 수행하려는 경우 사용자 지정 계획 기능을 사용할 수 있습니다.

9.4. 개발자 포털에서 애플리케이션 계획 변경 시작

참고

제품의 애플리케이션 계획 설정은 해당 제품의 모든 애플리케이션 계획에 적용됩니다.

관리 포털에서 애플리케이션 계획 변경 아래의 [ your_product_name] > Applications > Settings > Usages Rules 로 이동하면 사용자가 변경 사항을 시작하는 방법이 결정됩니다. 다음에서는 선택한 옵션에 따라 수행되는 작업을 설명합니다.

  • 요청 계획 변경

    변경 요청 시 관리자에게 알림을 받습니다.

  • 직접 계획 변경

    개발자가 승인 없이 계획을 변경할 수 있습니다. 관리자는 변경 사항에 대해서만 알림을 받습니다.

  • 계획 변경을 허용하지 않음

    개발자 포털에서 계획을 변경할 수 있는 옵션은 없습니다. 관리자만 수동으로 변경할 수 있습니다.

  • 개발자가 신용카드 세부 정보를 입력한 경우:

    • 계획 변경 요청만

      변경 요청 시 관리자에게 알림을 받습니다.

    • 유료 계획에 대한 credit 카드 항목 요청

      무료 계획을 전환할 수 있지만 유료 계획으로 전환하려면 신용 카드 세부 정보를 입력해야합니다.

개발자가 개발자 포털에서 애플리케이션 계획을 변경하려는 경우(예: 무제한 계획으로 변경) 변경 사항이 이메일로 완료됩니다. 개발자는 계획 변경 요청을 완료하려면 개발자 포털에 로그인해야 합니다.

절차

  1. 개발자 포털에 로그인합니다.
  2. 애플리케이션 탭으로 이동합니다.
  3. 서브스크립션된 애플리케이션 목록을 찾습니다.
  4. 원하는 계획에 서브스크립션된 애플리케이션을 식별합니다.
  5. 애플리케이션 이름을 클릭하여 편집 창을 엽니다.
  6. 편집 창에서 현재 계획을 찾아 검토/변경 버튼을 클릭합니다.
  7. 서비스에 사용 가능한 애플리케이션 계획을 검토합니다.
  8. 원하는 계획(예: 무제한 )을 선택합니다.
  9. 요청 계획 변경 을 클릭합니다.

    • 통지가 표시됩니다. 적용 가능한 PLAN HAS BEEN SENT.
    • 그러면 관리 포털을 통해 새 계획을 승인할 이메일 알림이 관리자에게 전송됩니다.

9.5. 관리 포털에서 애플리케이션 계획 변경 구현

관리자가 애플리케이션 계획 변경을 요청하는 이메일을 수신하면 다음 단계를 사용하여 프로세스를 완료합니다. 새 계획을 선택하고 확인하는 방법을 간략하게 설명합니다. 또한 개발자는 변경 사항 알림을 수신하여 개발자 포털에서 업데이트를 확인할 수 있습니다.

절차

  1. 애플리케이션 세부 정보가 포함된 이메일 요청을 엽니다. 예를 들어 다음과 같습니다.

    Details:
        Application: Testers's App
        Service: API
        Current plan: Basic
        Requested plan: _Unlimited_
    "Change Plan" (URL to the application in the Admin Portal)
    Copy to Clipboard Toggle word wrap
  2. 이메일에 제공된 변경 계획 URL을 찾습니다.
  3. 변경 계획 URL을 클릭하여 관리 포털의 애플리케이션 세부 정보 페이지에 액세스합니다.
  4. 계획 변경 섹션으로 이동합니다.
  5. 드롭다운 메뉴를 클릭하여 사용 가능한 애플리케이션 계획을 표시합니다.
  6. 이메일에 언급된 요청된 계획을 선택합니다(예: Unlimited ).
  7. 원하는 계획을 선택하면 계획 변경 옵션이 활성화됩니다.
  8. 계획 변경을 클릭하여 계획 변경을 확인합니다.
  9. 애플리케이션 계획이 Unlimited 계획으로 성공적으로 변경되었는지 확인합니다.

3scale API Management는 구매자 템플릿에 대해 변경된 애플리케이션 계획을 사용하여 사용자에게 계획 변경 사항을 알리는 이메일 알림을 자동으로 보냅니다. 개발자는 개발자 포털에서 계획 변경 사항을 확인할 수 있습니다.

10장. 개발자 문의

이 가이드에서는 3scale 및 외부를 통해 특정 애플리케이션을 관리하는 개발자 계정을 확인한 다음 해당 애플리케이션과 통신하는 방법을 설명합니다.

API 작업 중에 API를 사용하는 개발자에게 문의해야 할 수도 있습니다.

10.1. 시스템에서 관련 애플리케이션 및 계정을 찾습니다.

해당 애플리케이션을 관리하는 계정과 개발자가 이미 알고 있는 경우 아래와 같이ECDHE > 계정 > 계정 > 목록의 계정 페이지에서 해당 계정으로 이동합니다.

애플리케이션 ID 또는 API 키만 있는 경우ECDHE > 계정 > 목록 의 계정 페이지에서 검색 상자를 사용하여 관련 계정을 찾을 수 있습니다. 애플리케이션 검색에 대한 자세한 내용은 여기에서 확인할 수 있습니다.

10.2. 개발자에게 내부 메시지 전송

아래와 같이 계정 프로필 페이지에 있으면 메시지 아이콘을 클릭합니다.

여기에서 생성된 메시지는 계정 시스템 대시보드로 모두 전송됩니다. 여기서 계정의 모든 개발자가 해당 내용을 볼 수 있으며, 해당 계정 내에 admin 상태가 있는 개발자 계정의 사용자에게 이메일로 전송됩니다.

10.3. 다른 방법의 연락처

긴급 상황이며 이메일이 귀하의 목적에 맞게 충분히 빠르지 않을 경우 가입시 개발자가 제출한 연락처 정보를 사용할 수도 있습니다.

  • 회사 계정 페이지(일반 연락처 정보)에 전화 번호를 포함할 수 있습니다.
  • 사용자 자체 파일에 대한 개발자/사용자별 정보입니다.

등록시 전화 번호를 필수 필드로 만들 수 있습니다.

11장. 계획 사용자 정의

이 섹션을 완료하면 특정 개발자의 애플리케이션 계획을 사용자 지정했습니다.

애플리케이션 계획은 개발자 커뮤니티의 다양한 세그먼트에 표준 정책을 적용하는 좋은 방법입니다. 그러나 고유한 요구 사항에 따라 개별 개발자의 표준 계획을 사용자 지정할 수 있는 유연성이 있습니다.

계획이 사용자 정의되면 원래 계획에 대한 링크가 손실됩니다. 원래 계획을 변경하면 사용자 정의 계획이 이러한 변경 사항을 상속하지 않습니다. 따라서 효과적으로 관리할 수 없는 사용자 지정 계획을 너무 많이 사용하기 전에 이 사용자 정의 기능을 사용하지 않아야 합니다.

개발자는 현재 청구 기간이 이미 진행 중이므로 다음 가격 계층으로 업그레이드하지 않고 현재 제한을 늘리려고 합니다. 사용자 지정은 제한 및 변수 비용만 부과할 수 있도록 하여 이러한 상황을 처리하는 좋은 방법이 될 수 있습니다. 또한 다음 청구 달의 업그레이드를 권장하는 데 도움이 됩니다.

11.1. 계정 선택

관심 있는 개발자 계정의 세부 정보 페이지를 보려면 다음을 수행합니다.

  1. ECDHE &gt ; 계정 > 목록으로 이동합니다.
  2. 개발자 계정 선택

11.2. 애플리케이션 선택

사용자 지정할 계획이 있는 애플리케이션을 선택합니다.

11.3. 애플리케이션 계획 사용자 정의

옵션을 "customize"로 선택합니다. 이렇게 하면 이 계정이 소유한 애플리케이션에 대해 모든 계획 요소를 사용자 지정할 수 있는 페이지가 제공됩니다.

11.3.1. 더 많은 정보

계획을 사용자 정의하기 위해 단계를 수행하기 전에 새로운 표준 계획 (개발자 포털에 표시되지 않음)으로 더 잘 벗어나지 않는 경우 항상 먼저 고려하십시오. 그러면 표준 계획을 변경 하므로 개발자 파트너 중 하나 이상에 적용되는 경우 재사용의 이점을 얻을 수 있습니다.

12장. 활성화 등록

셀프 서비스 또는 수동 모드를 구현하여 개발자 등록을 구성합니다.

개발자의 워크플로우를 셀프 서비스 또는 수동 초대 전용으로 구성할 수 있습니다. 셀프 서비스 서명은 개발자가 개발자 포털을 통해 수행하지만 수동 초대는 관리자 포털을 통해 관리자가 처리합니다.

기본적으로 개발자는 직접 등록할 수 있습니다. 개발자 셀프 서비스를 활성화하는 경우 개발자 계정을 활성화하기 전에 관리자 승인이 필요할 수 있습니다.

이렇게 하려면ECDHE > 계정 > 설정 > 사용 규칙으로 이동합니다.

13장. 애플리케이션 검색

이 가이드가 끝나면 이름, API 키 또는 애플리케이션 ID를 기반으로 관리 포털에서 애플리케이션을 빠르게 찾을 수 있습니다.

API 작업 중에 API에 빠르게 액세스하는 애플리케이션에 대한 정보를 찾아야 합니다. 지원 목적으로, 구성을 변경하거나, 애플리케이션이 오작동하고 비활성화되어야 하기 때문에 잠재적으로 가능합니다.

13.1. 필요한 정보 얻기

애플리케이션을 찾으려면 해당 애플리케이션이 속한 계정의 이름 또는 애플리케이션 이름이 필요합니다. 이 정보가 없는 경우 액세스 로그를 확인할 수 있습니다. 검색을 수행하려면 Applications: Audience > Applications > Listing 로 이동합니다.

식별자로 인증 유형을 검색하는 경우 다음 정보가 필요합니다.

  • API 키 전용 인증 패턴의 경우: API 키
  • 앱 ID 및 앱 키 인증 패턴의 경우: 앱 식별자(app 키로 검색은 지원되지 않음)
  • OpenID Connect 인증 패턴의 경우: client_id(시크릿에 대한 검색은 지원되지 않음)

13.2. 애플리케이션 검색

지정된 애플리케이션을 검색하려면 Audience > Applications > Listing을 통해 Applications 페이지로 이동하여 아래 이미지에 표시된 것처럼 검색 상자를 사용합니다.

13.3. 애플리케이션 정보에 액세스

결과가 반환되면 액세스하려는 애플리케이션을 클릭하면 해당 애플리케이션의 홈페이지로 이동합니다. 이 페이지에는 아래 이미지에 표시된 것과 같은 정보가 포함됩니다.

14장. 개발자 초대

이 단계를 완료하면 개발자 계정에 새 개발자 사용자를 추가합니다.

개발자 계정을 수동으로 생성할 때 관리 포털을 통해 개발자 사용자를 해당 계정에 초대할 수 있습니다.

  1. Audience > Accounts > Listing으로 이동합니다.
  2. 해당 계정을 선택합니다.
  3. "In invitationations"를 선택한 다음 Invite user 를 클릭합니다.

15장. 서비스에서 개발자 설명 취소

관리자는 서비스에서 개발자의 구독을 취소할 수 있습니다. 서비스 사용 중단 시 하나의 특정 개발자 또는 여러 개발자의 경우 이 작업을 수행해야 할 수 있습니다.

15.1. 서비스에서 단일 개발자 구독 취소

관리 포털을 통해 서브스크립션하는 서비스에서 단일 개발자 구독 취소:

  1. 관리 포털의 대시보드에서 DestinationRule > 계정 > 목록 > [ 계정 선택] > 서비스 서브스크립션 으로 이동합니다.
  2. 개발자가 삭제할 서비스에 대해 Unsubscribe 를 선택합니다.

15.2. 서비스에서 여러 개발자를 구독 취소

더 이상 사용되지 않거나 삭제된 서비스에서 여러 개발자를 취소하려면 대규모 작업을 수행합니다.

참고

이 방법은 삭제되거나 일시 중지된 서비스에만 적용됩니다. 활성 서비스에서 대규모 서브스크립션 취소 작업을 수행할 수 없습니다.

  1. 대시보드에서:ECDHE > 계정 > 서브스크립션으로 이동합니다.
  2. 대량 상태 변경을 수행합니다.
  3. 서비스 드롭다운 메뉴를 사용하여 개발자의 구독을 취소할 서비스를 식별합니다.
  4. 왼쪽의 확인란을 사용하여 취소할 개발자를 선택합니다.
  5. Change State > Suspend 를 선택하여 선택한 개발자 서브스크립션을 일시 중지합니다.

서비스 계획을 활성화해야 합니다.

16장. 애플리케이션 일시 중단

이 가이드에서는 애플리케이션의 모든 키 및 액세스 토큰을 비활성화하는 방법을 설명합니다.

애플리케이션이 API를 잘못 사용하고 다른 트래픽에 영향을 미치는 경우 개발자에게 연락하여 코드 또는 구성을 수정하도록 요청하기 전에 해당 작업을 신속하게 중단해야 할 수 있습니다.

16.1. 애플리케이션 검색

계정 또는 애플리케이션 탭에서 또는 여기에 설명된 대로 검색하여 애플리케이션을 찾을 수 있습니다.

16.2. 애플리케이션 비활성화

애플리케이션을 찾고 애플리케이션 요약 페이지를 확인한 후 State 값 옆에 있는 일시 중단 아이콘을 클릭합니다. 이 작업은 API에서 애플리케이션을 즉시 비활성화하고 모든 키가 작동하지 않도록 일시 중지합니다. 이러한 애플리케이션 키를 사용한 호출은 제어 시스템에서 거부됩니다.

문제가 있는 동작이 수정되면 동일한 버튼을 사용하여 애플리케이션을 일시 정지할 수 있습니다.

참고

에이전트에서 캐싱을 사용하는 경우 일시 중지 시간은 즉각적이 아니지만 짧은 시간 초과가 필요할 수 있습니다.

16.3. 개발자 연락처

애플리케이션 개발자에게 문의하는 방법은 워크플로우 및 정책에 따라 다릅니다. 동일한 페이지에서 계정 이름을 클릭하면 애플리케이션을 소유한 계정의 키 관리자를 식별할 수 있는 계정 보기로 이동할 수 있습니다. 표시된 대로 이메일 또는 전송 메시지 버튼을 클릭하여 사용자에게 대시보드 메시지를 생성할 수 있습니다.

17장. 애플리케이션 삭제

관리 포털을 통해 애플리케이션을 삭제하려면 다음 단계를 수행해야 합니다.

옵션 1: [gradle_API_name]의 모든 애플리케이션 목록에서 애플리케이션을 삭제합니다.

  1. 대시보드에서 [Remote_API_name] 을 클릭합니다.
  2. 개요 탭을 클릭합니다.
  3. 개요 페이지의 왼쪽 패널에서 애플리케이션을 클릭합니다.
  4. 목록 선택 .
  5. 애플리케이션을 클릭합니다.
  6. 애플리케이션 세부 정보가 포함된 페이지가 표시됩니다. 편집 을 클릭합니다.
  7. 애플리케이션을 삭제하려면 삭제를 클릭합니다.
  8. 확인 메시지가 표시됩니다. 확인을 클릭하여 삭제를 확인합니다.

옵션 2: 특정 애플리케이션 계획을 기반으로 애플리케이션을 삭제합니다.

  1. 관리 포털에서 대시보드 를 클릭합니다.
  2. API 를 선택합니다.
  3. 게시된 애플리케이션 계획에서 애플리케이션을 선택합니다.
  4. 애플리케이션을 클릭합니다.
  5. 애플리케이션 세부 정보가 포함된 페이지가 표시됩니다. 편집 을 클릭합니다.
  6. 애플리케이션을 삭제하려면 삭제를 클릭합니다.
  7. 확인 메시지가 표시됩니다. 확인을 클릭하여 삭제를 확인합니다.

또는 애플리케이션 삭제라는 작업을 통해 3scale API Docs를 통해 애플리케이션을 삭제 할 수도 있습니다.

18장. API 삭제

서비스를 삭제하여 API를 삭제할 수 있습니다. 서비스를 삭제하면 API의 애플리케이션, 애플리케이션 계획, 메트릭, 가격 규칙, 기능, 서비스 계획 및 서브스크립션이 제거됩니다.

API를 삭제하려면 다음을 수행합니다.

  1. [gradle_product_name] > 개요 > 편집으로 이동합니다.
  2. 서비스 삭제 섹션에서 서비스를 삭제할 링크를 클릭합니다.

III 부. 액세스 제어

3scale API(애플리케이션 프로그래밍 인터페이스) 공급자로서 개별 사용 세부 정보를 캡처하고, 메트릭을 정의하고, 매핑 규칙과 방법 및 메트릭을 연결하며 가격 및 사용량 제한을 설정하는 애플리케이션 계획을 생성하는 방법을 지정하여 API에 대한 액세스를 제어합니다. 애플리케이션 계획에서는 사용 제한을 적용하기 위해 방법 및 메트릭에 수집된 데이터를 사용합니다.

19장. 방법 설계 및 사용량 세부 정보 캡처를 위한 메트릭 추가

애플리케이션 계획에서는 API에 대한 소비자 액세스에 대한 제한 및 가격 규칙을 설정합니다. 제한 및 규칙을 적용하려면 API에서 개별 사용 데이터를 수집하거나 메트릭을 추가할 수 있는 방법을 지정합니다. 지정된 각 메서드 및 각 사용자 지정 메트릭에 매핑 규칙을 추가합니다. 매핑 규칙은 캡처할 사용 데이터에 대한 세부 정보를 지정합니다.

메서드를 지정하거나 제품 및 백엔드에 대한 메트릭을 추가할 수 있습니다. 제품의 경우 제품의 애플리케이션 계획에서 제한 및 가격 규칙을 설정할 수 있습니다. 백엔드의 경우 이를 통해 백엔드를 번들하는 모든 제품에 대해 애플리케이션 계획의 제한 및 가격 규칙을 설정할 수 있습니다.

개별 호출 수를 캡처할 메서드를 지정합니다. 이렇게 하면 API 사용 추적을 더 세밀하게 사용할 수 있습니다. 메서드로 트래픽을 보고하면 메서드 및 Hits 메트릭에 대한 카운터가 자동으로 증가합니다. API 백엔드의 각 끝점 또는 끝점과 HTTP 메서드의 조합에 대해 메서드를 지정할 수 있습니다. API의 끝점 을 여기에 추가된 메서드에 매핑하는 방법을 알아보려면 메서드 및 메트릭에 매핑 규칙 추가를 참조하십시오.

지표는 제품 및 백엔드 모두에 대해 API의 사용량을 추적하는 데 적합합니다. 히트 는 각 API에 대해 존재하는 기본 제공 메트릭입니다. API에 대한 호출 수를 추적합니다. Hits 와 별도로 API 사용을 캡처하려면 다양한 단위로 사용량을 보고하는 메트릭을 정의합니다. 단위는 quantifiable이어야 하며 메가바이트, CPU 시간 또는 API에서 반환한 요소 수와 같은 비즈니스 목표에 대한 의미를 적용해야 합니다. CPU 시간 또는 mb 과 같은 Hits 이외의 메트릭은 기본적으로 제공되지 않습니다. 사용자가 구성한 외부 서비스에서 호출한 끝점을 사용하여 이러한 지표를 가져옵니다.

메서드 및 메트릭은 API 패키징을 위한 스캐폴드입니다. 각 애플리케이션 계획을 사용하면 지정된 각 방법과 각 메트릭에 대해 다양한 사용 제한 및 가격 규칙을 정의할 수 있습니다. 메트릭 및 메서드에서 보고한 사용에 대한 자세한 내용은 API 분석을 참조하십시오.

19.1. 제품 및 백엔드에 방법 추가

제품 또는 백엔드에 방법을 추가하면 개별 사용 세부 정보를 캡처하려는 API에서 메서드를 지정한다는 의미입니다. 애플리케이션 계획에서는 제품 또는 백엔드에 추가하는 각 방법에 대한 제한을 설정하는 기능을 제공합니다. 제품에 메서드 또는 지표를 추가하는 절차는 백엔드에 방법 또는 지표를 추가하는 절차와 유사합니다.

절차

  1. [gradle_product_name] > 통합 > 방법 및 지표 또는 [your_backend_name] > 방법 및 지표 로 이동합니다.
  2. 방법 추가를 클릭합니다.
  3. Friendly 이름 필드에 메서드에 대한 간단한 설명을 입력합니다. 이 이름은 3scale 관리 포털의 다른 섹션에 표시됩니다. 친숙한 이름은 제품에 고유해야 합니다.

    중요

    방법의 시스템 이름을 변경하거나 삭제할 때는 주의하십시오. 이러한 변경으로 인해 메서드의 이전 시스템 이름을 가리키는 매핑 규칙이 있는 경우 이미 배포된 3scale 통합을 중단할 수 있습니다.

  4. 시스템 이름 필드에 3scale 서비스 관리 API를 통해 사용량을 보고하는 데 사용할 API의 메서드 이름을 입력합니다.

    시스템 이름의 형식을 결정합니다. 이 이름은 엔드포인트(/status)와 유사하거나, 예를 들어 메서드와 경로(GET_/status)를 포함할 수 있습니다. 그러나 시스템 이름은 다음 규칙을 준수해야 합니다.

    • 제품 또는 백엔드에서 고유합니다.
    • 영숫자, 밑줄 _, 하이픈 - 또는 슬래시 / 만 포함합니다.
    • 공백이 없습니다.
    • 백엔드 API의 경우 메서드 시스템 이름에는 매핑된 백엔드를 식별하는 숫자 문자열이 포함되어 있습니다. 이 백엔드 식별자는 수정할 수 없습니다.
  5. 선택 사항: 설명 필드에 메서드에 대한 보다 자세한 설명을 입력합니다.
  6. Create Method 를 클릭합니다.

검증 단계

  • 애플리케이션 계획에서 추가된 방법을 사용할 수 있습니다.

19.2. 제품 및 백엔드에 메트릭 추가

메트릭을 추가하면 API에 대한 모든 호출에 대해 캡처할 사용 단위가 지정됩니다. 애플리케이션 계획에서는 제품 또는 백엔드에 추가하는 각 메트릭의 제한을 설정하는 기능을 제공합니다. 제품에 메서드 또는 지표를 추가하는 절차는 백엔드에 방법 또는 지표를 추가하는 절차와 유사합니다.

절차

  1. [gradle_product_name] > 통합 > 방법 및 지표 또는 [your_backend_name] > 방법 및 지표 로 이동합니다.
  2. 지표 탭을 클릭합니다.
  3. 지표 추가를 클릭합니다.
  4. Friendly 이름 필드에 지표에 대한 간단한 설명을 입력합니다. 이 이름은 3scale 관리 포털의 다른 섹션에 표시됩니다. 친숙한 이름은 제품에 고유해야 합니다.

    중요

    메트릭의 시스템 이름을 변경하거나 삭제할 때는 주의하십시오. 이러한 변경으로 인해 지표의 이전 시스템 이름을 가리키는 매핑 규칙이 있는 경우 이미 배포된 3scale 통합을 중단할 수 있습니다.

  5. 시스템 이름 필드에 3scale Service Management API를 통해 사용량을 보고하는 데 사용할 API의 지표 이름을 입력합니다.

    시스템 이름의 형식을 결정합니다. 그러나 시스템 이름은 다음 규칙을 준수해야 합니다.

    • 제품 또는 백엔드에서 고유합니다.
    • 영숫자, 밑줄 _, 하이픈 - 또는 슬래시 / 만 포함합니다.
    • 공백이 없습니다.
    • 백엔드 API의 경우 지표 시스템 이름에 매핑된 백엔드를 식별하는 숫자 문자열이 포함됩니다. 이 백엔드 식별자는 수정할 수 없습니다.
  6. 단위 필드에 단위를 입력합니다.

    • 예를 들어, 단수 명목을 사용합니다. 단수형은 분석 차트에서 복수하게 됩니다.
  7. 선택 사항: 설명 필드에 메트릭에 대한 자세한 설명을 입력합니다.
  8. Create Metric 을 클릭합니다.

검증 단계

  • 애플리케이션 계획에서 추가된 메트릭을 사용할 수 있습니다.

19.3. 방법 및 메트릭 가져오기를 위한 대안

API에 끝점이 여러 개 있는 경우 메서드를 자동으로 지정하고 3scale 제품 및 백엔드에 메트릭을 추가하는 두 가지 방법이 있습니다.

19.4. 메서드 및 메트릭에 매핑 규칙 추가

매핑 규칙은 제품 및 백엔드에서 이전에 생성된 방법과 메트릭 에 매핑되는 작업입니다.

참고

매핑 규칙은 이전에 생성된 방법에 필요하지만 메트릭에 대해 선택 사항입니다.

절차

  1. [gradle_product_name] > 통합 > 매핑 규칙으로 이동합니다.
  2. 매핑 규칙 생성 을 클릭합니다.
  3. Verb 필드는 HTTP 메서드인 GET 으로 미리 채워져 있지만 드롭다운 목록에서 다른 옵션을 선택할 수 있습니다.
  4. Pattern 필드에서 슬래시 / 로 시작하는 유효한 URL을 추가합니다. URL은 중괄호 {} 내부에서 지정한 와일드카드에서 사용할 수 있습니다.
  5. Metric 또는 method to increment 필드의 이전에 생성된 방법 또는 메트릭 중 하나를 선택합니다.
  6. Increment by 필드는 1 로 미리 채워져 있지만 사용자의 요구에 맞게 변경합니다.
  7. Create mapping rule 버튼을 클릭합니다.

검증 단계

  • 매핑 규칙을 확인하려면 [gradle_product_name] > 통합 > 방법 및 지표 로 이동합니다. 각 방법과 메트릭은 Mapped 열에 확인 표시가 있어야 합니다.

20장. 애플리케이션 계획

애플리케이션 계획에서는 API 소비자에게 허용할 수 있는 다양한 액세스 권한 집합을 정의합니다. 이러한 매개변수는 속도 제한부터 액세스할 수 있는 방법과 어떤 기능을 활성화할지 결정할 수 있습니다.

20.1. 애플리케이션 계획 생성 방법

기본적으로 3scale 계정이 생성되면 Basic 및 Unlimited의 두 가지 계획이 제공됩니다. 이를 유지 및 편집하거나 직접 만들 수 있습니다. 필요한 만큼 계획을 생성할 수 있습니다.

새 애플리케이션 계획을 생성하려면 다음 단계를 따르십시오.

  1. [ your_product_name] > Applications > Application Plans 로 이동합니다.
  2. Create Application Plan 버튼을 클릭합니다.
  3. Create Application Plan 페이지에서 새 계획에 대한 이름과 시스템 이름(시스템 이름이어야 함)을 입력합니다.
  4. 애플리케이션에 API에 액세스하기 전에 승인이 필요한 경우 승인이 필요한 애플리케이션 확인란을 선택합니다.

계획을 생성하면 속도 제한을 프로비저닝하고 유료 계획을 설정할 수 있습니다.

20.2. 기본 애플리케이션 계획 설정

모든 계획을 생성한 후 사용자가 애플리케이션을 등록하기 위해 등록할 때 기본 계획을 선택할 수 있습니다.

기본 애플리케이션 계획을 선택하려면 다음을 수행합니다.

  1. [ your_product_name] > Applications > Application Plans 로 이동합니다.
  2. Default Plan 의 드롭다운 목록에서 계획을 선택합니다.

기본 애플리케이션 계획을 표시하지 않는 경우 새 사용자가 API에 대한 액세스 권한을 등록하면 기본적으로 애플리케이션을 생성하지 않습니다. 즉, 사용자는 API에 액세스할 수 없습니다.

21장. 프로비저닝 유료 계획

API를 수익화하는 가장 일반적인 방법 중 하나인 제품 또는 백엔드는 사용량에 따라 서브스크립션 요금을 정의하는 것입니다. 이 섹션에서는 애플리케이션 계획을 사용하여 가격 계층을 프로비저닝하는 방법과 유료 계획을 설정하는 방법에 대해 중점적으로 설명합니다. 또한 계정의 가격 규칙과 제품 및 백엔드 수준에서도 적용할 수 있습니다. 이러한 주제는 고급 가이드에서 다룹니다.

21.1. 가격 모델 결정

첫 번째 결정은 가격 모델의 계층을 구별하는 방법입니다. 계층은 볼륨 또는 사용량, API 기능, 다른 리소스에 대한 액세스 또는 조합에 따라 구동될 수 있습니다.

  • 볼륨 / 사용량

    계층 간 차이를 구별하는 가장 일반적인 방법은 볼륨 기반입니다. 볼륨에는 일반적으로 고객과의 가치와 강력한 상관관계가 있고 서비스 비용이 있기 때문입니다. 제품 호출에 글로벌 적중 횟수를 적용하거나 메서드 수준에서보다 세부적인 측정을 적용할 수 있습니다. 볼륨 드라이버는 글로벌 적중 지표의 수준 또는 적중에서 개별 메서드에 적용됩니다. 여러 가격 규칙을 모든 메트릭에 적용할 수 있습니다. 히트 계산은 1 개월 청구 주기에 따라 누적됩니다.

  • 기능

    계층에 따라 제품 일부에 대한 액세스를 활성화하거나 비활성화할 수 있습니다. 이는 표준 수준과 프리미엄 수준을 구별하는 좋은 방법입니다.

  • Resources

    또한 고객에게 가치를 제공하거나 인프라의 비용을 유도하는 기타 리소스에 대한 액세스를 기반으로 계층을 생성할 수도 있습니다(예: 사용량이 기가바이트, 사용자 수 또는 트랜잭션 값). 리소스 드라이버는 볼륨 드라이버와 유사하지만 사용자 지정 메트릭에 적용됩니다.

가격 드라이버를 결정하면 계층이 플랫 속도 서브스크립션, 변수 속도 또는 일회 전하를 기반으로 할지 여부를 결정해야합니다. 위의 세 가지 가격 드라이버는 모두 일회성 또는 월간 플랫 비율 서브스크립션과 호환됩니다. 가격을 결정하는 경우 히트 볼륨이나 리소스 소비량을 기준으로 결정되는 경우 가격에 대한 변수 요소가 있습니다.

21.2. 가격 규칙을 사용하여 애플리케이션 계획 구성

새 애플리케이션 계획을 생성하거나 기존 애플리케이션을 편집할 수 있습니다. 새 애플리케이션 계획을 생성할 때 초기 비용 또는 플랫 비율 서브스크립션을 입력할 수 있습니다.

편집 애플리케이션 보기에서 초기 비용 및 서브스크립션을 입력하거나 수정할 수 있습니다.

다음으로 21.1절. “가격 모델 결정” 에서 선택한 가격 드라이버를 설정합니다.

  1. [ your_product_name] > Overview > Applications > Application Plans 로 이동합니다.
  2. 애플리케이션 계획 이름을 클릭합니다.
  3. Metrics, Methods, Limits &ECDHE Rules 로 이동합니다. 여기에서는 총 적중 수준, 메서드의 세분성 또는 모든 사용자 지정 메트릭에서 가격을 정의할 수 있습니다.

일부 항목이 메트릭으로 이미 있는 경우 항목을 편집할 수 있습니다.

가격 책정 규칙 설정을 완료하면 애플리케이션 업데이트 계획 을 클릭합니다.

21.3. 추가 가격 계층 생성

단일 애플리케이션 계획을 사용하여 API 유료 계획을 정의할 수 있습니다. 일반적으로 모든 가격 책정 규칙이 볼륨 또는 리소스 드라이버에 의해 정의되는 경우입니다. 그러나 개발자 커뮤니티의 다양한 세그먼트에 대해 별도의 계획을 제공하려면 더 많은 애플리케이션 계획을 추가합니다.

가장 쉬운 방법은 애플리케이션 계획 개요 페이지에서 첫 번째 애플리케이션 계획을 복사하는 것입니다. 이렇게 하면 기존 메트릭 및 가격 규칙이 모두 미리 채워집니다. 처음으로 전체 계획을 만들기 위해 더 많은 주의를 기울이면 계획 복사 기능으로 더 많은 시간을 절약할 수 있습니다.

21.4. 유료 계획 프로비저닝

계획을 프로비저닝하려면 개발자가 새 애플리케이션을 생성하고 새 유료 계획 중 하나를 선택해야 합니다. 관리 콘솔에서 이 작업을 수행할 수도 있습니다. 기존 애플리케이션의 경우 기존 계획에서 새 유료 계획 중 하나로 변경할 수도 있습니다.

21.5. 참고 자료

플랫 등급 가격 계획과 함께 속도 제한을 사용하여 계층을 구분하는 것이 일반적입니다. 이는 프로비저닝 속도 제한에서 설명됩니다.

22장. 프로비저닝 속도 제한

속도 제한을 사용하면 API 리소스, 제품 및 백엔드에 대한 액세스를 제한할 수 있습니다. 애플리케이션 계획을 사용하여 별도의 개발자 세그먼트에 대해 다른 제한을 구성할 수 있습니다.

비율 제한이 있으면 이러한 제한은 3scale 백엔드에 대한 권한 부여 요청 호출을 수행할 때 개발자가 수신하는 응답을 제어합니다.

22.1. 애플리케이션 계획 구성

애플리케이션 계획이 아직 정의되어 있지 않은 경우 먼저 생성합니다. 그렇지 않으면 속도 제한을 설정할 계획을 선택하고 편집 을 클릭합니다.

애플리케이션 계획 생성에 대한 자세한 내용은 애플리케이션 계획을 참조하십시오.

22.2. 속도 제한 설정

속도 제한을 설정하려면 다음을 수행합니다.

  1. [ move_product_name] > 개요 > 애플리케이션 > 애플리케이션 계획으로 이동합니다.
  2. 구성할 애플리케이션 계획의 이름을 클릭합니다.
  3. Metrics, Methods, Limits,Limit Rules 로 스크롤합니다.
  4. 제한을 클릭합니다.
  5. 제품 또는 백엔드 수준에 대한 제한을 구성합니다.
  6. 필요한 제한 설정을 완료하면 애플리케이션 업데이트 계획 을 클릭하여 변경 사항을 저장합니다.

22.3. 새로운 속도 제한을 실행으로 설정

이제 비율 제한이 정의되었으므로 다음이 수행됩니다.

  • 경고가 구성된 경우 알림 전송 시기를 결정하는 데 새 제한이 사용됩니다.
  • 3scale 백엔드에 대한 호출 수를 초과하면 제한이 고려되고 관련 오류 메시지가 표시됩니다. APIcast 오류 메시지에 대한 자세한 내용은 오류 메시지 구성을 참조하십시오.

속도 제한이 작동하면 대시보드의 한도에 도달하는 사용자를 볼 수 있으므로 잠재적인 계획 업그레이드 후보를 빠르고 쉽게 확인할 수 있습니다. 소프트 및 하드 제한에 대한 자세한 내용은 고급 경로에 대한 애플리케이션 계획을 사용하여 API 액세스 정책 구성의 시작하기 가이드를 참조하십시오.

22.4. 더 많은 정보

유량 제한을 설정하는 것 외에도 동일한 메트릭에 대한 변수 가격 규칙을 설정할 수도 있습니다. 유료 계획 프로비저닝 을 참조하십시오.

IV 부. 청구

23장. LimitRange 설정 구성

이 문서에서는 Red Hat 3scale API Management에서 LimitRangeing 기능이 작동하는 방법에 대해 설명합니다.

청구 설정은nateging & Gateway 및ECDHE Card Policies 로 나뉩니다. 두 가지 모두 관리 포털에서>페이딩에서 확인할 수 있습니다.

23.1. 청구 모드(Charging & Gateway)

3scale에 청구하는 것은 캘린더에 기반을 두고 있으며, Prepaid and Postpaid 라고도 합니다.

  • Prepaid mode에서 모든 고정요금 및 설정요금은 월 초 또는 청구 기간의 시작 부분에 청구됩니다. 변수 비용은 항상 다음 달의 시작 부분에 계산 및 청구됩니다.
  • Postpaid mode에서는 다음 달 초에 모든 고정 요금과 변수 비용이 청구됩니다.

자세한 내용은 자동 청구 프로세스를 참조하십시오.

23.2. 번식 활성화 (Charging & Gateway)

이 설정은 카드 거래를 가능하게 합니다. 이 설정이 설정되어 있으면 선택한 결제 게이트웨이를 사용하여 모든 송장이 청구됩니다. 이 설정을 해제하면 청구가 발생하고 송장이 발행되지만 실제 결제 거래는 발생하지 않습니다.

23.3. 별점 (Charging & Gateway)

청구 및 카드 거래를 수행할 통화를 선택합니다. 귀하의 결제 게이트웨이에 의해 선택된 통화가 지원되는지 확인하십시오. 이 설정은 글로벌이며 모든 송장 및 트랜잭션에 적용됩니다. 다른 개발자 계정에 대해 다른 설정을 설정할 수 없습니다.

23.4. 송장 발주 (Charging & Gateway)

Invoice footnote 필드에 도입된 텍스트는 모든 IRQ 송장 하단에 표시됩니다. 이 필드를 사용하여 고객의 배당 및 청구 정책에 대한 추가 정보를 제공할 수 있습니다.

각주의 텍스트가 변경되면 IRQ가 이미 생성된 송장에는 자동으로 적용되지 않습니다. 그러나 송장의 IRQ를 다시 생성하여 변경 사항을 적용할 수 있습니다.

이 필드는 PDF 송장에 텍스트 메시지를 추가하는 데 사용되며, 경우에 따라 청구된 계정의 경우 0 %입니다. 이 행은ECDHE / Sales hieradata가 명시적으로 0으로 설정된 경우에만 표시됩니다. 그렇지 않으면 표시되지 않습니다. 또한 텍스트는 관리 포털의 Invoice 페이지에도 표시됩니다.

이 설정에 대한 자세한 내용은 CloudEvent / Sales tax 섹션에서 참조하십시오.

23.6. 기호에 대한 YAML 구성

dotnet.yml 파일을 사용하면 3scale 배포의 목록을 구성할 수 있습니다. 3scale은 ISO 4217을 기반으로 3자리 통화 코드를 사용합니다.

중요
  • 결제 게이트웨이가 선택한 통화를 지원하는지 확인합니다.
  • 3scale은 카드 거래를 위해 다음과 같은 결제 게이트웨이와 통합됩니다.

    • Braintree
    • 스트라이프

23.6.1. OpenShift에서 설정 변경

설정 설정을 변경하려면 다음을 수행합니다.

절차

  1. 시스템 구성 맵의 항목으로 .yml 의 새 콘텐츠에 대한 소스를 추가합니다. 다음 예제에서는 ARS - Argentine Peso 를 기본 목록에 추가 및 추가하는 방법을 보여줍니다.

    $ oc patch configmap system --type merge -p "{\"data\": {\"currencies.yml\": \"production:\n  'USD - American Dollar': 'USD'\n  'EUR - Euro': 'EUR'\n  'GBP - British Pound': 'GBP'\n  'NZD - New Zealand dollar': 'NZD'\n  'CNY - Chinese Yuan Renminbi': 'CNY'\n  'CAD - Canadian Dollar': 'CAD'\n  'AUD - Australian Dollar': 'AUD'\n  'JPY - Japanese Yen': 'JPY'\n  'CHF - Swiss Franc': 'CHF'\n  'SAR - Saudi Riyal': 'SAR'\n  'ARS - Argentine peso': 'ARS'\n\"}}"
    Copy to Clipboard Toggle word wrap
    참고

    broker .yml 구성 파일에 대한 콘텐츠 예제를 보려면 기본 YAML 파일에 액세스합니다 .yml. 이 파일은 새 3scale 배포의 기본 구성을 보여줍니다.

    base: &default
      'USD - American Dollar': 'USD'
      'EUR - Euro': 'EUR'
      'GBP - British Pound': 'GBP'
      'NZD - New Zealand dollar': 'NZD'
      'CNY - Chinese Yuan Renminbi': 'CNY'
      'CAD - Canadian Dollar': 'CAD'
      'AUD - Australian Dollar': 'AUD'
      'JPY - Japanese Yen': 'JPY'
      'CHF - Swiss Franc': 'CHF'
      'SAR - Saudi Riyal': 'SAR'
    production:
      <<: *default
    preview:
      <<: *default
    Copy to Clipboard Toggle word wrap
  2. system-(app|sidekiq) DeploymentConfigsystem-config 볼륨에 새 ConfigMap 항목을 포함합니다. 그러면 관련 컨테이너 내부에 새 콘텐츠가 마운트되고 새 구성이 활성화됩니다.

    $ export PATCH_SYSTEM_VOLUMES='{"spec":{"template":{"spec":{"volumes":[{"configMap":{"items":[{"key":"zync.yml","path":"zync.yml"},{"key":"rolling_updates.yml","path":"rolling_updates.yml"},{"key":"service_discovery.yml","path":"service_discovery.yml"},{"key":"currencies.yml","path":"currencies.yml"}],"name":"system"},"name":"system-config"}]}}}}'
    Copy to Clipboard Toggle word wrap
    $ oc patch dc system-app -p $PATCH_SYSTEM_VOLUMES
    $ oc patch dc system-sidekiq -p $PATCH_SYSTEM_VOLUMES
    Copy to Clipboard Toggle word wrap
    $ unset PATCH_SYSTEM_VOLUMES
    Copy to Clipboard Toggle word wrap

23.6.2. 새로운 기능 확인

3scale 관리 포털에서 사용할 수 있는지 확인하려면 다음을 수행하십시오.

절차

  1. ECDHE > tileing >ECDHEging & Gateway 로 이동합니다.
  2. 통화 목록이 Currency 드롭다운 목록에서 사용할 수 있는지 확인합니다.
  3. 사용할 통화를 선택합니다.

23.7. 송장 ID 청구 기간(인증 및 게이트웨이)

3scale의 송장에는 두 가지 유형의 식별자가 있습니다.

실제 ID
데이터베이스의 송장을 고유하게 식별하는 것은 무엇입니까. 이는 송장 URL(예: https://<dashboard_domain>/buyers/accounts/<acount_id>/invoices/<invoice_id> )에 표시되는 숫자 ID입니다.
친숙한 ID
송장에 표시되는 ID는 사용자에게 친숙한 식별자입니다. 3scale 계정별로 고유해야 하지만 기술적으로 중복된 친숙한 식별자가 있을 수 있습니다. 3scale에서 중복된 식별자를 인식하는 경우 다음과 같은 경고 메시지가 표시됩니다. 이 송장 ID는 이미 사용 중이며 변경될 수 있습니다. 24시간 동안 친숙한 식별자가 수정 사항으로 표시되는 경우 지원에 문의하십시오.

이 설정은 송장의 Friendly ID 형식을 정의합니다.

monthly(기본값)
YYY-MM- XXX, 즉 ID에는 년, 월 및 송장 수가 포함됩니다. 예: 2018-02-00000013
연간
YYY- XXX, 즉 연도와 숫자만 포함됩니다. 예: 2018-00000001

송장 식별자에 대한 청구 기간을 월간 에서 연간 로 변경하는 유일한 영향은 친숙한 ID 형식을 변경하는 것입니다. 이러한 수정 사항은 청구 주기 기간을 변경하지 않습니다. 3scale API Management에서 월간 청구만 지원됩니다. 송장 식별자의 형식을 연간로 변경하면 회계 부서의 요구 사항이 있는 경우 사용할 수 있습니다.

연간 비용을 청구해야 하는 경우 청구를 수동으로 처리해야 합니다. 새 송장을 만들고 연간 비용으로 선 항목을 추가할 수 있습니다. 연간 배당을 사용하려는 경우 애플리케이션 계획을 자유롭게 설정하여 송장이 생성되지 않도록 하고/또는 매달 자동으로 청구되도록 할 수 있습니다.

23.8. 직불 카드 정책

여기에서 다음 페이지의 경로를 구성할 수 있습니다.

  • 법률 약관 페이지
  • 개인 정보 보호 페이지
  • Rescalation 페이지

24장. 대금결을 위한 인증 카드 게이트웨이

3scale API 공급자로서, API에 서브스크립션을 수익화하기 위해 대금 카드 결제 게이트웨이를 정의합니다.

24.1. 3scale API Management에서 지원하는 신용 카드 게이트웨이

3scale은 카드 거래를 위해 다음과 같은 결제 게이트웨이와 통합됩니다.

  • Braintree
  • 스트라이프

온라인 결제 서비스는 카드 데이터를 수집할 때 명령을 표시해야 합니다. 규정은 고객이 결제 방법을 해제할 수 있는 권한의 기록입니다. 규정은 제공된 결제 방법이 서비스에 대한 후속 결제를 수집하는 데 사용될 것이라고 명확하게 명시해야 합니다. Stripe 및 Braintree의 지시에 대한 자세한 내용은 추가 리소스 에 나열된 해당 결제 게이트웨이에 대한 외부 문서 링크를 참조하십시오.

24.2. Stripe을 카드 게이트웨이로 구성

3scale API 공급자로서 Stripe을 지은 카드 게이트웨이로 Stripe을 사용하여 API에 대한 서브스크립션에서 결제를 받을 수 있도록 관리 포털 및 개발자 포털을 구성합니다.

사전 요구 사항

절차

Stripe을 사용하여 결제 게이트웨이로 3scale을 구성하려면 다음 단계를 따르십시오.

  1. 3scale 관리 포털에서 계정 설정 > 개인 > 토큰으로 이동합니다.
  2. making API 범위를 사용하여 읽기 및 쓰기 토큰을 생성합니다.

    1. 액세스 토큰 추가를 클릭합니다.
    2. 토큰의 이름을 지정합니다.
    3. scope:auditing API를 선택합니다.
    4. 권한 수준: 읽기 및 쓰기를 선택합니다.
    5. 액세스 토큰 만들기를 클릭합니다.
    6. 액세스 토큰을 복사합니다.

      • 액세스 토큰을 파일 텍스트에 복사해야 합니다. 액세스 토큰은 나중에 표시되지 않습니다.
    7. 토큰 생성을 완료하려면 I have copied the token.를 클릭합니다.

프로시저로 돌아갑니다.

24.2.2. Stripe에서 키와 Webhook 시크릿 검색

참고
  • Stripe에서 Webhook를 구성해야 합니다.
  • Webhook를 사용하여 3scale에 결제가 성공했음을 알립니다.
  • 그런 다음 3scale은 송장 상태를 업데이트하고 추가 비용을 시도하지 않습니다.

Stripe 계정에서 Secret Key 를 가져오고 게시 가능한 키를 가져옵니다.

  1. Stripe 대시보드를 엽니다.
  2. Stripe 설명서의 지침에 따라 API 키를 찾습니다.
  3. 보안 복사 및 게시 가능 키

Stripe 계정에서 Webhook 서명 보안을 생성합니다.

  1. Developers > Webhooks 로 이동합니다.
  2. 엔드포인트 추가를 클릭합니다.
  3. 다음 끝점 URL로 입력합니다.

    https://<Your-provider-admin-domain>/api/payment_callbacks/stripe_callbacks?access_token=<value-of-access-token>
    Copy to Clipboard Toggle word wrap
  4. 보낼 이벤트에서 paid _intent.succeeded를 추가합니다.
  5. 엔드포인트 추가를 클릭합니다.
  6. 방금 생성한 웹 후크의 서명 시크릿을 표시하고 이 시크릿을 기록해 둡니다. Webhook 서명 보안입니다.

프로시저로 돌아갑니다.

24.2.3. 3scale API Management 관리 포털에서 청구 구성

3scale 관리 포털에서 다음을 수행합니다.

  1. ECDHE > tileing >ECDHEging & Gateway 로 이동합니다.
  2. enabled를 선택하고 Save 를 클릭합니다.
  3. ECDHE 카드 게이트웨이 > 게이트웨이 에서 게이트웨이로 Stripe 을 선택합니다.
  4. Stripe의 키 및 Webhook 시크릿 을 보유하는 Stripe 계정에서 얻은 게시 키, 게시 가능한 키 및 Webhook 서명 보안을 추가합니다.
  5. 저장을 클릭합니다.

프로시저로 돌아갑니다.

24.2.4. 3scale 개발자 포털에서 스코어 카드 세부 정보 편집

  1. 개발자 계정으로 3scale 개발자 포털에 로그인합니다.
  2. 설정 > 카드 세부 정보로 이동합니다.
  3. 카드 번호, 만료일 및 CVC의 다음 카드 세부 정보를 추가합니다.
  4. 세부 정보 저장을 클릭합니다.

프로시저로 돌아갑니다.

24.2.5. 실패한 이메일 응답 텍스트 업데이트

SCA 결제 수정 사항과 관련하여 invoice_messenger_unsuccessfully_ exponential_for_buyer.text.liquid 이메일의 텍스트에는 3scale 2.10의 수동 업데이트가 필요합니다.

  1. 3scale 관리 포털에서ECDHE > Messages > Email Templates 로 이동합니다.
  2. 구입자가 재시도한 경우 Invoice charge failure를 선택합니다.
  3. Override 를 클릭합니다.
  4. 템플릿 메시지 업데이트: 실패한 청구 이메일 응답에 사용할 수 있는 전체 텍스트입니다.

    Dear {{ account.name }},
    
    Thank you for using our service.
    
    We're sorry to inform you that your last payment was declined.
    This may have been caused by a few common reasons:
    
    - A new authentication policy enforced by your bank
    - An expired credit card
    - Insufficient funds on the account
    
    To continue using your service, verify the status of your credit card and update or re-enter the credit card details at {{payment_url}}.
    
    If you need help, don't hesitate to contact us at {{ provider.finance_support_email }}.
    
    Best regards,
    The {{ provider.name }} API Team
    Copy to Clipboard Toggle word wrap
  5. 이메일 템플릿 생성 을 클릭합니다.

이러한 단계를 통해 실패한 이메일 응답에 대한 이메일 템플릿을 업데이트했습니다.

프로시저로 돌아갑니다.

24.3. Braintree를 카드 게이트웨이로 구성

3scale API 공급자로서 Braintree를 사용하여 Braintree로 관리 포털과 개발자 포털을 구성하여 Braintree를 사용하여 API에 대한 서브스크립션에서 결제를 받을 수 있습니다.

사전 요구 사항

  • Braintree 계정이 있어야합니다.
  • 3D Secure (3DS)를 사용하는 고객의 보안 점검을 보장하려면 3scale에 3DS를 활성화하기 전에 Braintree 계정에 3DS를 활성화해야 합니다.

    • 기본적으로 3scale 및 Braintree 모두 꺼짐(비활성화) 3DS가 있습니다.

절차

Braintree를 사용하여 결제 게이트웨이로 3scale을 구성하려면 다음 단계를 따르십시오.

Braintree에서 키 및 가맹점 식별자를 가져옵니다.

Braintree 계정에서 공개 키, Merchant ID개인 키 를 가져옵니다. 이러한 값을 가져오는 방법에 대한 자세한 내용은 추가 리소스 에 나열된 Braintree 설명서를 참조하십시오.

프로시저로 돌아갑니다.

3scale 관리 포털에서 가상화 구성

3scale 관리 포털에서 다음을 수행합니다.

  1. ECDHE > tileing >ECDHEging & Gateway 로 이동합니다.
  2. 자동으로 활성화됨 을 선택합니다.
  3. 통화를 선택합니다.

    • 3scale billing 페이지에서 지정된 통화 유형은 Braintree 가맹점 계정에서 사용되는 통화 유형과 일치해야 합니다.
  4. 저장을 클릭합니다.
  5. ECDHE 카드 게이트웨이 > 게이트웨이 에서 게이트웨이로 Braintree 를 선택합니다.
  6. Braintree에서 키 및 가맹점 식별자를 가져옵니다. 의 Braintree 계정에서 얻은 공개 , Merchant ID 및 개인 키 를 추가합니다.
  7. 3DS를 활성화하려면 3D Secure Enabled 를 선택합니다.
  8. 변경 사항 저장을 클릭합니다.

프로시저로 돌아갑니다.

3scale 개발자 포털에서 스코어 카드 세부 정보 편집

3scale API 소비자로서 3scale 개발자 포털에서 email 카드 세부 정보를 추가하거나 편집합니다. 귀하의 카드 발급 기관과 재무 세부 정보와 일치하도록이 창에 나열된 모든 필드는 필수입니다.

  1. 개발자 계정으로 3scale 개발자 포털에 로그인합니다.
  2. 설정 > 카드 세부 정보로 이동합니다.
  3. AddECDHE Card Details and billinging Address 링크를 클릭합니다.
  4. 결제 세부 정보(이름, 성, 전화)를 추가합니다.
  5. 비밀번호 비밀번호 번호, 만료일 및 CVC의 카드 세부 정보를 추가합니다.
  6. 청구 주소 세부 정보: 회사, 거리 주소, zip/postal 코드, 도시 및 주/지역을 추가합니다. 그런 다음 국가를 선택합니다.
  7. 세부 정보 저장을 클릭합니다.
  8. 메시지가 표시되면 2 단계 인증 (2FA)을 구입하십시오. 예를 들어, 고객이 SMS 2FA 옵션을 사용하도록 설정한 경우 이 방법을 사용하여 인증 프로세스를 완료해야 합니다.

프로시저로 돌아갑니다.

24.4. 개발자 포털을 통해 거부된 송장 처리 허용

3scale API 공급자로서 개발자 포털을 통해 거부된 송장을 결제할 수 있습니다. 이러한 작업을 활성화하려면 관리 포털에서 Invoices 템플릿을 업데이트합니다. 이 절차는 개발자 포털의 기존 인스턴스를 위한 것입니다.

사전 요구 사항

  • 3scale에 대한 관리자 권한이 있어야 합니다.
  • Stripe 또는 Braintree 계정이 있어야합니다.

절차

개발자 포털을 통해 거부된 송장을 수령할 수 있도록 하려면 다음 단계를 따르십시오.

  1. 3scale 관리 포털에서ECDHE > 개발자 포털 > 콘텐츠로 이동합니다.
  2. Root > Invoices > Show template.
  3. 다음 코드 행을 바꿉니다.

    <a href="{{ urls.invoices }}">
      <i class="fa fa-chevron-left"></i>
        Cancel
        </a>
        {{ invoice.period_begin | date: '%B, %Y' }} Invoice
    Copy to Clipboard Toggle word wrap

    이 스니펫으로 다음을 수행하십시오.

    <div class="clearfix">
      <a href="{{ urls.invoices }}">
        <i class="fa fa-chevron-left"></i>
          Cancel
        </a>
        {{ invoice.period_begin | date: '%B, %Y' }} Invoice
        {% if invoice.pay_now? %}
          <a href="{{invoice.url}}/payment" class="pull-right btn btn-success pay-invoice-btn">Pay invoice</a>
        {% endif %}
    </div>
    Copy to Clipboard Toggle word wrap

24.5. 카드 게이트웨이 문제 해결

Stripe 또는 Braintree를 결제 게이트웨이로 사용하는 3scale API 공급자로서 이러한 카드 게이트웨이와 관련된 몇 가지 문제를 해결할 수 있습니다.

스트라이프

  • 3scale의 데이터와 함께 Stripe의 데이터를 매핑하려면 3scale-[PROVIDER_ID]-[DEVELOPER_ACCOUNT_ID] 로 구성된 metadata.3scale_account_reference 라는 Stripe 필드를 사용할 수 있습니다.

Braintree

  • Braintree 계정이 샌드 박스 모드에 있고 문제가 발생하는 경우 이를 production으로 변경해야 합니다.
  • 3D Secure (3D)를 활성화하지 않고 3scale 개발자 포털에 저장된 카드의 경우 3scale을 Braintree와 통합하는 제안된 솔루션입니다.

    1. 3scale API 공급자: 3scale 관리 포털에서 가상화 구성 에 나열된 단계를 따르십시오.
    2. 3scale API 소비자: 3scale 개발자 포털에서 스코어 카드 세부 정보 편집 에 나열된 단계를 따르십시오.
  • Braintree의 데이터를 3scale에 데이터와 함께 매핑하려면 3scale-[PROVIDER_ID]-[DEVELOPER_ACCOUNT_ID] 로 구성된 customer.id 라는 Braintree 필드를 사용할 수 있습니다.

25장. 가격

이 섹션에서는 API 사용을 위해 개발자를 부과할 수 있는 다양한 방법에 대해 설명합니다.

설정 비용
는 서비스에 대한 서브스크립션에 한 번 부과되며 다른 계획으로 전환할 때 부과되지 않습니다. 구독의 첫 번째 월에만 송장/신용 카드에 표시됩니다. 애플리케이션 계획, 서비스 계획 및 계정 계획에서 구성할 수 있습니다.
월 단위 비용
월 단위로 청구되는 반복 비용이 발생합니다. 월 중순에 서브스크립션이 발생한 경우 이러한 문제가 발생합니다. 종종 고정 요금 이라고 합니다. 애플리케이션 계획, 서비스 계획 및 계정 계획에서 구성할 수 있습니다.
변수 비용
애플리케이션 계획에서 구성된 각 방법/지표에 적용되는 가격 규칙에서 파생되는 비용입니다. API 사용을 기반으로 하므로 청구 기간이 만료되었을 때만 사전에 알 수 없습니다. 애플리케이션 계획에서만 사용할 수 있습니다.

예제

If you have a plan with monthly cost of $10, but want to charge your developer a $5 setup fee. The initial charge would be for $15, while all subsequent charges would be for $10.
Copy to Clipboard Toggle word wrap

25.1. 가격 규칙

가격 규칙은 각 API 요청 비용을 정의합니다. 동일한 메트릭에 대한 여러 가격 정책 규칙은 가격 규칙이 적용되는 경우의 범위를 나눕니다. 가격 규칙은 일정 월을 기반으로하며 카운터는 각 달의 첫 번째 날의 00:00 UTC로 재설정됩니다.

예시 1

Until 100 calls per month (from 1 to 100) each API call can be charged at $0.04, and starting from the call 101 (from 101 to infinity) the calls are charged at $0.10.
Copy to Clipboard Toggle word wrap

예시 2

The first 1000 calls are not charged (cost $0), because they are included in the plan which has a monthly fixed cost. Starting from call 1001, each call is charged at $0.50.
Copy to Clipboard Toggle word wrap

예시 3

Calls from 1 to 100 are charged at $0.30, 100 to 500 – at $0.40, and 500 and further – at $0.50.
Copy to Clipboard Toggle word wrap

참고

가격 책정 규칙은 메트릭 및 방법에 대해 정의됩니다. 실제 API 요청은 매핑 규칙을 통해 이러한 메트릭 및 메서드에 매핑됩니다.

25.2. 가격 규칙 설정

  1. [Remote_API_service] > 애플리케이션 > 애플리케이션 계획으로 이동합니다.
  2. 기존 애플리케이션 계획을 선택하거나 새 애플리케이션 계획을 생성합니다.
  3. Metrics, Methods, Limits &ECDHE Rules 섹션에서 'x' 를 클릭하여 가격 섹션을 엽니다.
  4. 새 가격 규칙을 클릭합니다.
  5. From, To, Cost per Unit 값을 설정하고 가격 책정 규칙 만들기를 클릭합니다.

마지막 두 단계를 반복하여 필요한 모든 가격 규칙 범위를 만듭니다.

규칙을 무한 으로 설정하려면 To 필드를 비워 둡니다.

최대 10진수 수는 메트릭 비용의 경우 4로 설정됩니다. 숫자가 더 많은 10진수로 추가되면 10진수가 4개인 숫자로 반올림됩니다.

25.3. 기존 가격 규칙 업데이트

  1. 편집을 클릭합니다.
  2. 장치당 From, To, Cost per Unit 필드를 적절하게 조정합니다.
  3. 업데이트 가격 규칙을 클릭합니다.

26장. 청구

청구 프로세스는 유료 서비스에 가입한 경우 개발자 계정 아래에 송장을 생성합니다. 송장은 구성된 결제 게이트웨이를 사용하여 청구됩니다.

26.1. 송장 나열

meeting > billing > Earning by month 섹션에서 상태에 따라 해당 월에 발행된 모든 송장의 합계로 계산되는 귀하의 여가 및 접수에 대한 개요를 확인할 수 있습니다.

합계
취소를 제외한 모든 송장
프로세스 중
open, Finalized 및 Pending invoices
Overdue
실패 및 무료 송장
유료
유료 송장

특정 달을 클릭하면 해당 월에 대한 모든 송장을 나열할 수 있습니다.

또한 invoices 목록을 see the list of invoices by going to make your ID, where you can find invoices by their ID (friendly ID), 계정 이름, 달 및 상태별로 필터링 할 수 있습니다.

특정 개발자 계정의 송장은 IRQ > 계정 > 계정 > [선택된 계정] 에서 계정 세부 정보 페이지의 X Invoices 에서 확인할 수 있습니다. 여기서 X는 계정의 송장 수입니다.

26.2. 송장 보기

송장 목록에서 송장 ID를 클릭하면 송장 세부 정보가 표시됩니다.

26.2.1. 송장 세부 정보

제목에는 송장의 월과 연도가 포함되어 있으며 송장이 수동으로 작성되었는지 또는 자동 청구 프로세스(예: 2018년 2월(수동으로 생성))를 통해 표시됩니다.

아래의 세부 정보 블록은 송장, 송장 상태, 송장이 완료 및 발행된 날짜 및 예정일 및 청구일 시의 친숙한 ID를 보여줍니다. IRQ가 이미 생성 된 경우pdf를 다운로드 할 수있는 링크도 표시됩니다.

Issued by and Issued to blocks은 API 공급자의 이름과 개발자 계정을 적절하게 표시합니다.

라인 항목이 있는 블록 아래에는 전체 비용, 전체 비용의 계산을 포함한 라인 항목 아래에 표시됩니다. 그리고 text in text to show if Cryostat/Sales tax is 0%가 구성된 경우 여기에도 표시됩니다.

송장의 Transactions 블록에서 거래 상태, 타임스탬프, 참조 번호, 결제 게이트웨이 및 금액에서 제공하는 메시지 등 모든 보안 카드 거래 시도 목록을 확인할 수 있습니다. 참조 번호를 사용하여 결제 게이트웨이 관리자 콘솔에서 트랜잭션을 찾을 수 있습니다.

26.2.2. 송장 편집

송장이 Open 또는 Finalized 상태인 경우 송장의 몇 가지 세부 사항을 편집할 수 있습니다.

송장 보기의 오른쪽 상단에 있는 편집 링크를 클릭하면 친숙한 ID 및 청구 기간을 변경할 수 있습니다.

또한 송장 라인 항목을 추가 및 삭제할 수 있습니다 (예: 계산된 비용 - total,knative/영업 과세, total withECDHE/sales Atomic). 새 줄 항목을 추가하려면 추가를 클릭하고 이름, 이름(비용에 영향을 미치지 않음), 설명 및 비용을 입력합니다.

송장 보기 하단의 링크는 송장의 현재 상태(예: PDF 생성, 발행 송장, 취소 송장, Regenerate PDF, Charge, Mark as paid )에 따라 다양한 작업을 수행할 수 있습니다. 이러한 작업 (Digital 관련 제외)은 송장의 상태를 변경합니다.

26.3. 송장 상태

송장은 다음 상태 중 하나에 있을 수 있습니다.

open
송장이 생성되었지만 자동화된 계산이 아직 완료되지 않았습니다.
종료됨
송장에는 현재 청구 기간이 모두 추가됩니다.
보류
송장은 개발자에게 발행되었으며 결제를 기다리고 있습니다.
Unpaid
송장이 실패한 경우 청구되지 않았지만 자동 재시도 대기 중입니다.
유료
송장이 성공적으로 청구되었습니다.
실패
송장이 제대로 청구되지 않아 자동 재시도가 더 이상 시도되지 않습니다.
취소
관리자가 취소했습니다.

26.4. 자동 청구 프로세스

3scale에서는 청구 프로세스가 매일 실행됩니다. 청구 흐름에 따라 송장을 생성하고, 상태를 변경하고, 구성된 결제 게이트웨이를 사용하여 요금을 수행합니다.

청구 흐름은 Prepaid 및 Postpaid 모드와 약간 다르며 3scale에서 청구가 일정 월에 따라 결정되므로 해당 월의 첫날에 발생하는 특별한 이벤트가 있습니다.

26.4.1. 각 달의 첫 날

postpaid

  • 이전 달의 변수 비용: 오픈 송장에 대한 비용이 행 항목으로 포함됩니다.
  • 지난 한 달 동안의 송장을 마감합니다.
  • 현재 월에 대한 cost fixed costs: Open state에서 현재 월에 대한 새 송장을 만듭니다.

prepaid

  • bill 고정 비용(현재 월)입니다.
  • bill 변수 비용(이전 달).

알림은 월 초에 종료 된 송장에 대한 API 관리자에게 전송되므로 송장을 검토하고 필요한 조정을 할 수 있습니다.

매일 수행되는 모든 작업은 위에서 설명한 작업과 함께 월의 첫날에도 발생합니다.

26.4.2. 매일

  • expired expired trial and new contract that have not yet been billed: 현재 월에 대한 오픈 상태의 문의가 생성됩니다.
  • Prepaid only: 열려 있는 모든 송장을 완료: 상태가 Finalized 로 변경됩니다.
  • 문제 송장: 보류 중으로 상태 변경

    • 송장은 일반적으로 2018년 1월 1일 후에 발행됩니다. 송장 발행 날짜는 현재 날짜로 설정되고 Due On date(인보가 청구되는 경우) 날짜는 발행 됨 + 2일로 설정됩니다.
    • 개발자에게 송장이 발행되면 해당 사용자는 이메일 알림을 받으며 개발자 포털에서 발행된 송장을 볼 수 있습니다.
  • 유료 송장

    • 무급보류 중 상태의 송장은 현재 날짜 또는 이전 날짜가 있는 경우 부과됩니다.
    • 결제에 실패한 경우 송장 상태가 Unpaid 로 변경됩니다. 경쟁은 3 일 후에 다시 시도됩니다. 3번 재시도에 실패한 후 송장 상태가 실패로 변경되고 더 이상 과금이 복구되지 않습니다.
  • 만료된 신용 카드에 대해 알려줍니다.

    • 대금이 곧 만료될 개발자 계정은 이메일 알림이 전송됩니다.

26.4.3. 자동 및 수동 송장

자동 청구 프로세스에서 생성하는 송장에는 송장 헤더에 (자동으로 생성) 레이블이 있습니다. 예: 2019년 1월 용 안내(자동으로 생성된)

수동으로 생성된 송장은 송장 세부 정보 페이지에서 (ECDHEly created) 로 표시됩니다.

자동화된 청구 프로세스에서는 현재 달 동안 기존 송장을 열린 상태로 사용하여 추가 행 항목을 만들 수 있지만 자동으로 생성된 송장만 사용할 수 있습니다. 수동으로 생성된 송장은 자동 청구 프로세스에 의해 업데이트되지 않습니다.

26.4.4. 중간 개월 업그레이드

애플리케이션(또는 계정/서비스 서브스크립션)이 월 중순으로 업그레이드되면 월에 남은 일 수에 따라 월간 비용이 부과됩니다. 애플리케이션 계획에 구성된 제한은 업그레이드되지 않습니다.

애플리케이션을 무료로 유료 계획으로 업그레이드하는 경우 다음 번에 청구가 실행되는 경우 월간 예상 비용을 포함하여 새 송장이 생성됩니다.

유료 계획에서 더 많은 유료 계획으로 애플리케이션을 업그레이드할 때 해당 동작은 다음과 같은 몇 가지 요인에 따라 달라집니다.

  • 빌링 모드: Prepaiding 또는 Postpaid.
  • 계획 변경이 이루어진 경우
26.4.4.1. 사전 청구
  1. 애플리케이션 계획이 생성된 대로 청구일(금요일(UTC) 오전 8시) 에서 변경된 경우 이전에 송장이 발생하지 않았으므로 이전 계획의 고정 비용이 송장에 포함되어 있으며 'Refund' 라인 항목으로 할인됩니다. 이전 계획의 고정 비용도 송장에 추가됩니다.

    예: 달의 첫날 계획 A (200$)에 가입 한 고객은 같은 날 계획 B (300$)로 업그레이드했습니다. 이 경우 하나의 송장이 생성되고 다음 줄 항목이 포함됩니다.

    Expand
    설명cost

    고정 비용 (Plan A')

    200

    비용 절감 (Plan A')

    -200

    애플리케이션 업그레이드 ('Plan A' to 'Plan B')

    300

    합계

    300

    고객이 한 달의 다른 날에 등록한 경우 200의 비용 및 회수액이 부과됩니다.

  2. 이 애플리케이션에 대해 송장이 이미 발행된 후 애플리케이션 계획이 변경된 경우:

    • 업그레이드 의 경우 개발자는 두 가지 송장을 발행합니다. 하나는 초기 비용이며 다른 하나는 업그레이드에 사용됩니다.

      예: 달의 첫날 계획 A (200$)에 등록한 고객은 월 중순에 계획 B (300$)로 업그레이드했습니다. 다음 송장이 생성됩니다.

      Expand
      설명cost

      고정 비용 (Plan A')

      200

      합계

      200

      Expand
      설명cost

      비용 절감 (Plan A')

      -100

      애플리케이션 업그레이드 ('Plan A' to 'Plan B')

      150

      합계

      50

      두 번째 송장에서는 청구 기간 중 업그레이드가 이루어지므로 감축된 비용(100$) 및 새로운 비용(150$)이 계산됩니다.

    • 애플리케이션 다운그레이드 (비용이 낮은 계획 변경)는 현재 지원되지 않습니다.
26.4.4.2. postpaid billing

Postpaid billing mode에서 하나의 송장이 발행되며, RefundApplication upgrade line 항목이 포함됩니다.

중요

이 동작은 2018년 4월 20일에 다음과 같은 변경 사항이 도입되었습니다.

  • 애플리케이션이 생성된 동일한 날 업그레이드되었을 때 송장에 초기 비용(초기 애플리케이션 계획)이 포함되지 않은 버그가 수정되었습니다.
  • 이전에는 새 계획과 이전 계획 비용의 차이를 포함하여 애플리케이션 업그레이드에 한 줄 항목만 추가되었습니다. 예를 들어 위의 사전 청구 섹션(플랜 A - 200$에서 계획 B - 300$로 애플리케이션 업그레이드)에 설명된 시나리오 2에서 두 번째 생성된 송장은 다음과 같습니다.
Expand
설명cost

애플리케이션 업그레이드 ('Plan A' to 'Plan B')

50

합계

50

여기서 50$는 새 계획과 이전 계획의 예상 비용(150$ - 100$)의 차이입니다.

2018년 4월 20일 이후부터 계산은 송장에 보다 명확하게 반영되며 (별도금 및 비용 포함) 총비용은 이전과 동일하게 유지됩니다.

26.5. 계정당 청구/하차 사용/차지 비활성화

자동 청구 프로세스에서는 유료 서비스에 가입된 모든 개발자 계정에 대해 송장을 생성합니다.

배상은 전 세계적으로 활성화되거나 비활성화될 수 있습니다. Configuring billing Settings, however it is also possible to enable or disable both billing and billing per developer account에서 참조하십시오. 이를 위해 계정 페이지로 이동하여 해당 버튼 (사용 / 비활성화)을 클릭하십시오.

  • 월간 청구가 활성화/비활성화됨
  • 월간 구독이 활성화/비활성화됨

과금이 비활성화되고 청구가 활성화되면 개발자에게 송장이 발행되지만 청구는 청구되지 않습니다. 이 기능은 유선 전송과 같이 별도로 배당을 처리하는 경우 유용합니다.

둘 다 비활성화되어 있는 경우 개발자는 발행되거나 청구되지 않습니다.

청구가 비활성화되고 과금이 활성화되면 개발자에게 새로운 송장이 발행되지 않지만 모든 미결한 항목(보류 중실패)이 계속 부과됩니다.

여기 LimitRange ing Status 블록에 있는 경우 해당 카드 세부 정보가 계정에 구성되어 있는지도 확인할 수 있습니다. 카드 세부 정보가 설정되어 있는 경우 월 및 카드 만료 연도가 표시됩니다. 카드 세부 정보가 있으면 개발자 포털의 등록 및 계획 변경에 영향을 미칠 수 있습니다( 26.9절. “직불 카드 흐름”참조).

26.6. 시험 기간이 있는 계획

지정된 기간(일)에 대한 유예 기간(일)을 지연하기 위한 유료 계획에 대해 시험 기간(일)을 설정할 수 있습니다.

상태 열에서 애플리케이션 목록([Your_product_name] > Applications > Listing)에서 애플리케이션의 평가판 기간 상태를 확인할 수 있습니다. 평가판은 N일 내에 만료 되며 평가판 왼쪽 필드의 애플리케이션 세부 정보 페이지에서 확인할 수 있습니다.

시험 기간 동안 애플리케이션은 제한 없이 계획에 정의된 모든 기능 및 사용 제한을 사용할 수 있습니다.

시험 기간이 설정되면 취소 또는 연장할 수 없습니다. 다른 계획으로 업그레이드하면 시험일 카운터가 재설정되지 않습니다.

시험 기간이 만료되기 10일 전에는 향후 시험 만료를 알리는 개발자 계정으로 이메일 알림이 전송됩니다. 이 이메일의 템플릿은 Audience > Messages > Email Templates:애플리케이션 계획의 구매자에 대해 만료된 애플리케이션 평가판 기간, 평가판 기간이 있는 서비스 계획의 경우 서비스 평가판 기간이 만료될 수 있습니다. 개발자는 현재 계획을 유지하거나 다른 계획으로 전환하거나 서브스크립션을 취소하기로 결정한 경우 API 공급자에게 문의해야 합니다.

평가판이 완료되면 다음번에 자동화된 청구 실행 시간( 26.4절. “자동 청구 프로세스”참조)이 다음에 애플리케이션 또는 서비스가 현재 사용 중인 계획에 대해 설정된 비용에 따라 비용이 청구됩니다. 이 애플리케이션은 시험 기간이 만료된 후에도 차단되거나 일시 중지 되지 않으며 계속 작동합니다.

기술적으로 시험 기간을 무료 계획에 설정할 수 있지만 기능이 유용성이 손실되므로 권장되지 않습니다.

26.7. ECDHE 비율/영업렬화

VAT( VAT)는 유럽 연합 내에서 판매된 재화 및 서비스에 적용되는 세율입니다. 다른 국가에는 비슷한 세율이 있습니다(예: 판매세). API 서비스 사용을 위해 고객을 부과하는 API 공급자는 종종 세무를 부과하고 기존 규정을 준수하기 위해 송장에 반영해야 합니다.

3scale 청구는 구성된 경우 송장에 automatically included를 포함할 수 있습니다.

26.7.1. ECDHE 속도 필드 구성

please rate is the number (in percentage) that will be applied to the total cost in the invoice. dashboard를 구성하려면 관리 포털에서 다음 단계를 수행합니다.

  1. ECDHE & gt; 계정 > 필드 정의로 이동합니다.
  2. 계정 섹션에서 생성 을 클릭합니다.
  3. [새 필드] 드롭다운 목록에서 vat_rate 를 선택합니다.
  4. 레이블 값을 설정합니다.
  5. 개발자의 Required,Read only 또는 Hidden 필드가 필요한지 여부를 나타내도록 확인란을 구성합니다.

    Choices 필드는 문자열만 허용하므로 이 필드는 사용할 수 없습니다.

  6. 생성을 클릭합니다.

26.7.2. ECDHE 코드 필드 구성

request_name_number는 다음과 같이 표시됩니다. Restic 코드를 구성하려면 대시보드의 관리 포털에서 다음 단계를 수행합니다.

  1. ECDHE & gt; 계정 > 필드 정의로 이동합니다.
  2. 계정 섹션에서 생성 을 클릭합니다.
  3. [새 필드] 드롭다운 목록에서 vat_code 를 선택합니다.
  4. 레이블 값을 설정합니다.
  5. 개발자의 Required,Read only 또는 Hidden 필드가 필요한지 여부를 나타내도록 확인란을 구성합니다.
  6. 생성을 클릭합니다.

26.7.3. 계정의 value 설정

kubevirt 코드 및ECDHE rate 필드가 추가되면 개발자 계정 편집 양식에서 해당 값을 설정할 수 있습니다. 필드 정의에서 선택한 확인란에 따라 필드를 표시하고 개발자 포털의 개발자가 편집할 수도 있습니다.

code는 임의의 string일 수 있습니다.

*율은 숫자여야 합니다. 정수 또는 10진수(예: 21, 23.5 )가 허용되며, 해당 숫자는 Cryostat로 포함될 비용의 백분율을 나타냅니다.

26.7.4. Available 관련 정보

0이 아닌 rate가 구성된 개발자 계정에 대한 송장이 생성되면 송장에는 다음 라인 항목이 포함됩니다.

_Total cost (without <VAT rate>)_ +
_<VAT rate> Amount_ +
_Total cost (<VAT rate> <VAT rate value>% included)_
Copy to Clipboard Toggle word wrap

<VAT rate >는 IRQ rate 필드에 대해 라벨 세트로 교체되며 < VAT rate value >는 송장이 발행된 계정에 대해 구성된 값입니다.

request 코드는 label이 포함된 invoice 버전에 포함되어 있으며, Label은ECDHE 코드 필드 정의에서 라벨로 지정됩니다. 값은 개발자 계정 세부 정보에 설정된 값에 해당합니다.

vat_ratevat_code 필드는 3scale 계정 관리 API에서 읽고 작성할 수도 있습니다.

26.8. 개발자 포털 보기

개발자는Create card information을 관리하고 개발자 포털에서 해당 송장을 볼 수 있습니다.

개발자가 개발자 포털의 청구 관련 요소를 볼 수 있도록 IRQ > 개발자 포털의 재무 전환 > 기능 gettingsible 상태가 될 수 있어야 합니다.

로그인한 사용자는 설정 > 대입 카드 세부 정보에서 직불 카드 세부 정보를 업데이트할 수 있습니다. 구성된 결제 게이트웨이에 따라 양식이 다를 수 있으며 사용자는 청구 주소를 먼저 입력해야 할 수 있습니다.

참고

직불 카드 세부 정보는 3scale 데이터베이스에 저장되지 않습니다. 이러한 세부 정보는 결제 게이트웨이에 의해 관리됩니다. 카드 번호의 마지막 4자리만 결제 게이트웨이에서 제공하는 만료일 및 3scale 데이터베이스에 저장됩니다.

개발자는 개발자 포털에는 하나의 카드 카드만 가질 수 있습니다.

개발자 포털에서 개인 카드 세부 정보를 삭제할 수 없습니다. 카드 세부 정보를 삭제하려는 개발자 계정의 사용자는 API 공급자에게 시스템에서 email 카드 세부 정보를 삭제하도록 요청해야 합니다.

송장을 보려면 사용자가 Settings > Invoices 로 이동하여 각 송장에 대한 세부 정보를 표시하거나 invoice IRQ를 다운로드할 수 있습니다.

26.9. 직불 카드 흐름

26.9.1. 유료 계획 구독하기

개발자가 유료 계획에 등록하면 애플리케이션 자격 증명을 볼 수 있기 전에 해당 카드 세부 정보를 입력해야 합니다. 개발자가 처음으로 개발자 포털에 로그인하면 카드 세부 정보 페이지로 리디렉션됩니다. 다른 개발자 계정 페이지에 액세스하려고 하면 IRQ 카드 세부 정보 페이지로 다시 리디렉션됩니다.

해당 개발자 포털 템플릿을 사용자 지정하여 Liquid 태그를 사용하여 해당 카드 세부 정보 탭을 제외한 모든 메뉴 항목을 숨길 수 있습니다.

current_account Liquid drop은 email 카드 세부 정보가 없는 경우 true를 반환하지만 필요한 경우 true 를 반환하는 requires_credit_card_now 메서드를 노출하지만(관리자 포털에서 prompting이 구성된 경우에만 필요)이고 그렇지 않으면 false 입니다.

하위 메뉴 및 users_ menu 의 메뉴 항목 및 기타 사용자 인터페이스 요소를 다음과 같은 조건으로 래핑하여 숨길 수 있습니다.

{% unless current_account.requires_credit_card_now? %}
...
{% endunless %}
Copy to Clipboard Toggle word wrap

26.9.2. 유료 계획으로 무료 업그레이드

기존 애플리케이션의 계획 변경에는 개발자가 직접 계획 변경을 요청하거나 계획 변경을 요청하는 등 다양한 옵션을 구성할 수 있습니다. 애플리케이션이 무료로 유료 계획으로 업그레이드되는 경우 업그레이드하기 전에 개발자가 해당 카드 세부 정보를 입력해야 합니다. 이 설정은 다음 설정에 따라 [ECDHE_product_name] > 통합 > 설정,애플리케이션 계획 변경 섹션에서 구성할 수 있습니다.

변경 계획 변경, 그렇지 않은 경우 직접 변경 계획:
- 계획 변경
요청 - 유료 계획 요청

개발자가 변경 사항을 요청할 수 있는 경우에만 첫 번째 옵션을 선택하고 대금 카드 세부 정보를 입력한 후 수동으로 업그레이드를 수행합니다.

유료 계획으로 업그레이드하기 전에 거래 카드 세부 정보를 입력해야 개발자에게 알리는 경우 두 번째 옵션을 선택합니다. 계획 선택기 위젯에서 개발자는 메시지가 표시됩니다. credit 카드 세부 정보를 입력할 때까지 계획을 변경할 수 없습니다.

26.10. 청구 주소 필드

개발자가 개발자 포털에서 credit 카드 세부 정보에 청구 주소를 입력하면 이 주소는 법적 계정 주소와 별도로 저장됩니다.

기본적으로 법률 주소는 발급 대상 필드의 송장에 표시됩니다. 그러나 개발자에게 법률 주소가 구성되어 있지 않지만 청구 주소만 있는 경우 후자의 송장에서 사용됩니다. 조직 이름은 이 경우 주소의 일부로 간주됩니다.

기본적으로 청구 주소는 관리 포털 또는 제품 API에 표시되지 않지만 다음과 같이 추가할 수 있습니다.

  1. ECDHE & gt; 계정 > 필드 정의로 이동합니다.
  2. 계정 블록에서 생성 을 클릭합니다.
  3. 드롭다운 목록에서 'billing_address'를 선택하고 레이블을 추가하고 읽기 전용 확인란을 선택한 다음 만들기를 클릭합니다.

이제 계정 관리 API 및 Webhook에서 계정의 XML 모델에 < billing_address > 필드가 표시됩니다. 해당 청구 주소는 계정에서 읽기 전용으로 표시되고 관리자 포털의 계정 편집 페이지가 표시됩니다.

청구 주소는 개발자 포털의 개발자가 카드 세부 정보 섹션에서 변경할 수 있습니다. 관리자는 관리 포털에서 청구 주소를 변경할 수 없지만 다음 필드를 추가 필드로 사용하여 계정 관리 API의 계정 편집 엔드포인트를 사용할 수 있습니다.

billing_address_name
billing_address_address1
billing_address_address2
billing_address_country
billing_address_city
billing_address_state
billing_address_zip
billing_address_phone
Copy to Clipboard Toggle word wrap

27장. 이메일 알림

청구와 관련된 다양한 이벤트가 API 공급자 및 개발자를 위한 이메일 알림과 관련이 있습니다.

27.1. 공급자 알림

3scale 계정(admins and members with billinging permission)은 계정 설정에서 청구 와 관련된 알림(상위 오른쪽의 아이콘) > 개인 > 알림 브릿지 섹션에서 구독하거나 구독 취소할 수 있습니다.

작업 필요: 송장 검토
청구 주기가 종료되기 전에 며칠 전에 발송되므로 송장을 고객에게 보내기 전에 검토할 수 있습니다.
고객 다운그레이드
고객이 월간 고정 가격으로 계획을 변경할 때 전송됩니다.
카드 만료
고객의 카드 만료가 곧 만료될 때 전송됩니다.
제공 오류 (retry)
결제에 실패할 때 전송되어 무료 송장을 작성하고 다시 시도합니다.
과금 오류 (final)
최종 결제 재시도에 실패할 때 전송되어 송장이 실패했습니다.

3scale 계정의 모든 관리자 사용자는 구독한 경우 청구와 관련된 알림을 받습니다.

27.2. 개발자 이메일

개발자 계정으로 전송된 이메일 알림은ECDHE > Messages > Email Templates 에서 구성할 수 있습니다. 다음 이메일을 사용할 수 있습니다.

구매자에 대한 카드 만료 알림
카드 발급이 곧 만료될 때 전송됩니다.
구매에 대한 송장이 성공적으로 청구되었습니다.
송장이 성공적으로 청구될 때 발송됩니다.
구입자가 재시도를 위한 송장 청구 실패
송장 청구가 실패하고 송장이 Failed 상태에 있을 때 전송됨은 다시 시도됨을 의미합니다.
다시 시도하지 않은 구매에 대한 송장 청구 실패
3차에 송장이 실패했으며 송장이 Unpaid state로 전달되어 다시 시도하지 않습니다.
구매에 대한 예정된 송장 청구
개발자에 대한 송장이 발행될 때 전송됩니다.

개발자 계정의 모든 관리자 사용자는 위의 알림을 받습니다.

27.2.1. 청구 이메일 주소

고객이 청구와 관련된 문제를 해결하기 위해 연락할 수 있는 이메일 주소를 구성할 수 있습니다(예: billing@example.com, Audience > 메시지 > 재무 지원 이메일 필드의 지원 이메일 ).

이메일 템플릿은 Liquid 드롭 {{ provider.finance_support_email }} 가 있는 이메일 주소를 참조합니다.

28장. 청구 API

VolumeSnapshot API는 일반적인 청구 프로세스를 자동화하는 방법을 제공합니다.

tileing API의 모든 엔드포인트는 문서 (?) > 3scale API Docs > Thanosing API 의 관리 포털에서 확인할 수 있습니다.

LimitRangeing API에는 다음 요구 사항을 충족하는 유효한 액세스 토큰이 필요합니다.

  • 공급자 계정의 admin 사용자 또는 "Billing" 권한이 있는 멤버 사용자에게 속해야 합니다.
  • "Billing API" 범위가 포함되어야 합니다.

송장 ID가 매개 변수로 필요한 경우 Friendly invoice ID가 아닌 송장 ID를 나타냅니다.

API 끝점의 XML 응답은 대부분 자체 설명이며 Invoice의 필드는 웹 및 IRQ 표현과 동일한 정보를 나타냅니다.

응답의 일부 주요 필드:

  • creation_type: 수동으로 생성한 송장의 경우 'manual' 또는 3scale 자동 청구 프로세스에서 생성한 송장에 대한 ' manual' 값을 가질 수 있습니다.
  • 공급자: API 공급자의 세부 정보(관리자 계정)는 송장의 섹션에 해당합니다.
  • 구매자: 개발자 계정의 세부 사항은 송장 섹션에 발급되어 있습니다.

송장의 XML 표현에는 라인 -items 필드 아래에 라인 항목 목록도 포함되어 있습니다.

일부 라인 항목, 일반적으로 예상되는 이름, 설명, 수량 및 비용 가격과 별도로 자동으로 생성된 항목의 경우 다음을 확인할 수 있습니다.

  • type: 라인 항목의 유형은 다음과 같은 값을 가질 수 있습니다.

    • line item::PlanCost - 고정 계획 비용을 위한 라인 항목의 경우입니다.
    • line item::VariableCost - 변수 비용을 위한 라인 항목의 경우입니다.
  • metric_id: 변수 비용 라인 항목의 경우 - 비용이 연결된 메트릭의 ID입니다.
  • contract_id: 비용이 연결된 서비스 또는 애플리케이션의 ID입니다.

V 부. Service Discovery: from OpenShift to 3scale API Management

서비스 검색은 OpenShift 클러스터에서 서비스를 가져오는 데 도움이 되는 3scale 기능입니다. OpenShift 서비스의 프라이빗 끝점은 이 API 백엔드를 번들로 제공하는 API(애플리케이션 프로그래밍 인터페이스) 백엔드 및 새 API 제품이 됩니다. 또한 OAS(OpenAPI Specification)를 기반으로 하는 서비스의 사양은 API 제품의 ActiveDoc으로 가져옵니다.

29장. 서비스 검색

3scale에서 제공하는 서비스 검색 기능을 사용하면 OpenShift에서 API 서비스를 가져올 수 있습니다.

29.1. 서비스 검색 정보

Service Discovery가 구성되면 3scale에서 동일한 OpenShift 클러스터에서 실행 중인 검색 가능한 API 서비스를 검색하고 관련 API 정의를 3scale로 자동으로 가져옵니다. 또한 3scale은 OpenAPI Specification (OAS)을 기반으로 API 통합 및 사양을 업데이트하여 클러스터와 다시 동기화할 수 있습니다.

Service Discovery는 다음과 같은 기능을 제공합니다.

  • 클러스터 API를 사용하여 검색에 올바르게 주석이 달린 서비스를 쿼리합니다.
  • 클러스터 내부의 내부 끝점을 사용하여 서비스에 액세스하도록 3scale을 구성합니다.
  • API 서비스 사양을 3scale ActiveDocs로 가져옵니다.
  • OpenShift 및 Red Hat Single Sign-On(RH SSO) 권한 부여 흐름을 지원합니다.
  • Fuse 버전 7.2부터 Red Hat Fuse와 함께 작동합니다.

검색 가능한 서비스를 가져오면 해당 네임스페이스가 속하는 프로젝트 내에 해당 네임스페이스를 유지합니다. 가져온 서비스는 새로운 고객용 API, 제품 및 해당 내부 API, 백엔드가 됩니다.

  • 3scale on premises의 경우 3scale API 공급자는 자체 네임 스페이스 및 서비스를 가질 수 있습니다. 검색된 서비스는 3scale 기존 및 네이티브 서비스와 공존할 수 있습니다.
  • Fuse 검색 가능 서비스는 Fuse 프로덕션 네임스페이스에 배포됩니다.

29.2. 검색 가능한 서비스에 대한 기준

3scale에서 OpenShift(OCP) 클러스터에서 API 서비스를 검색하려면 OCP 서비스가 다음 각 요소에 대한 기준을 충족해야 합니다.

content-Type 헤더

API 사양의 Content-Type 헤더는 다음 값 중 하나여야 합니다.

  • application/swagger+json
  • application/vnd.oai.openapi+json
  • application/json

OpenShift Service Object YAML 정의

  • OpenShift Service Object YAML 정의에는 다음 메타데이터가 포함되어야 합니다.

    • discovery.3scale.net 레이블: (필수) "true"로 설정합니다. 3scale은 선택기 정의를 실행하여 검색이 필요한 모든 서비스를 찾을 때 이 레이블을 사용합니다.
    • 다음 주석은 다음과 같습니다.

      discovery.3scale.net/discovery-version: (선택 사항) 3scale 검색 프로세스의 버전입니다.

      discovery.3scale.net/scheme: (필수) 서비스가 호스팅되는 URL의 스키마 부분입니다. 가능한 값은 "http" 또는 "https"입니다.

      discovery.3scale.net/port: (필수) 클러스터 내의 서비스의 포트 번호입니다.

      discovery.3scale.net/path: (선택 사항) 서비스가 호스팅되는 URL의 상대 기본 경로입니다. 경로가 root인 "/"에 있을 때 이 주석을 생략할 수 있습니다.

      discovery.3scale.net/description-path: 서비스에 대한 OpenAPI 서비스 설명 문서의 경로입니다.

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

          metadata:
            annotations:
              discovery.3scale.net/scheme: "https"
              discovery.3scale.net/port: '8081'
              discovery.3scale.net/path: "/api"
              discovery.3scale.net/description-path: "/api/openapi/json"
           labels:
              discovery.3scale.net: "true"
           name: i-task-api
           namespace: fuse
      Copy to Clipboard Toggle word wrap
    • 관리 권한이 있는 OpenShift 사용자인 경우 OpenShift 콘솔에서 API 서비스의 YAML 파일을 볼 수 있습니다.

      1. Applications> Services 를 선택합니다.
      2. i-task-api 와 같은 서비스를 선택하여 세부 정보 페이지를 엽니다.
      3. Actions> Edit YAML 을 선택하여 YAML 파일을 엽니다.
      4. 보기를 완료하면 취소 를 선택합니다.

ovs-networkpolicy 플러그인이 있는 클러스터

  • OpenShift와 3scale 프로젝트 간 트래픽을 허용하려면 ovs-networkpolicy 플러그인이 있는 클러스터에는 애플리케이션 프로젝트 내에서 생성된 NetworkPolicy 오브젝트가 필요합니다.
  • NetworkPolicy 오브젝트 구성에 대한 자세한 내용은 네트워크 정책 정보를 참조하십시오.

29.3. 서비스 검색을 사용하도록 OpenShift를 구성하는 고려 사항

3scale 관리자는 OAuth(Open Authorization) 서버를 사용하거나 사용하지 않는 Service Discovery를 구성하는 두 가지 옵션이 있습니다.

OAuth 서버를 사용하여 3scale 서비스 검색을 구성하는 경우 사용자가 3scale에 로그인할 때 이러한 상황이 발생합니다.

  • 사용자가 OAuth 서버로 리디렉션됩니다.
  • 사용자가 OAuth 서버에 아직 로그인하지 않은 경우 사용자에게 로그인하라는 메시지가 표시됩니다.
  • 사용자가 SSO(Single Sign-On)를 사용하여 3scale Service Discovery를 처음 구현하는 경우 OAuth 서버에서 관련 작업을 수행하기 위해 권한을 부여하라는 메시지를 표시합니다.
  • 사용자가 3scale로 다시 리디렉션됩니다.

OAuth 서버를 사용하여 서비스 검색을 구성하려면 다음 옵션이 있습니다.

OAuth 서버 없이 서비스 검색을 구성 하면 사용자가 3scale로 로그인하면 사용자가 리디렉션되지 않습니다. 대신 3scale 단일 서비스 계정은 서비스 검색을 위해 클러스터에 원활한 인증을 제공합니다. 3scale 테넌트 관리 사용자는 3scale을 통해 API 서비스를 검색하면서 클러스터에 대한 액세스 수준이 모두 동일합니다.

29.4. OpenShift OAuth 서버를 사용하여 서비스 검색 구성

3scale 시스템 관리자는 사용자가 3scale을 개별적으로 인증하고 인증하여 OpenShift 내장 OAuth 서버를 사용하여 API를 검색할 수 있습니다.

사전 요구 사항

  • 3scale 2.14를 OCP(OpenShift Container Platform) 4.x 클러스터에 배포해야 합니다.
  • 3scale에서 서비스 검색을 사용하려는 3scale 사용자는 OpenShift 클러스터에 액세스할 수 있어야 합니다.

절차

  1. 3scale용 OpenShift OAuth 클라이언트를 생성합니다. 자세한 내용은 OpenShift 인증 설명서를 참조하십시오. 다음 예에서 < provide-a-client-secret >을 < 3scale-master-domain-route >를 생성하고 3scale 마스터 관리 포털에 액세스하기 위한 URL로 교체하는 시크릿으로 바꿉니다.

        $ oc project default
        $ cat <<-EOF | oc create -f -
        kind: OAuthClient
        apiVersion: v1
        metadata:
         name: 3scale
        secret: "<provide-a-client-secret>"
        redirectURIs:
         - "<3scale-master-domain-route>"
        grantMethod: prompt
        EOF
    Copy to Clipboard Toggle word wrap
  2. 3scale Service Discovery 설정 파일을 엽니다.

    $ oc project <3scale-project>
    $ oc edit configmap system
    Copy to Clipboard Toggle word wrap
  3. 다음 설정을 구성합니다.

        service_discovery.yml:
          production:
            enabled: true
            authentication_method: oauth
            oauth_server_type: builtin
            client_id: '3scale'
            client_secret: '<choose-a-client-secret>'
    Copy to Clipboard Toggle word wrap
  4. 검색 가능한 서비스가 포함된 클러스터 프로젝트를 볼 수 있는 적절한 권한이 사용자에게 있는지 확인합니다.

    <user> 으로 표시되는 관리자 사용자에게 검색할 서비스가 포함된 < namespace > 프로젝트에 대한 보기 권한을 부여하려면 다음 명령을 사용합니다.

    $ oc adm policy add-role-to-user view <user> -n <namespace>
    Copy to Clipboard Toggle word wrap
  5. configmap 을 수정한 후 system-appsystem-sidekiq Pod를 재배포하여 변경 사항을 적용해야 합니다.

    $ oc rollout latest dc/system-app
    $ oc rollout latest dc/system-sidekiq
    Copy to Clipboard Toggle word wrap
  6. 롤아웃 상태를 확인하여 완료되었는지 확인합니다.

    $ oc rollout status dc/system-app
    $ oc rollout status dc/system-sidekiq
    Copy to Clipboard Toggle word wrap

29.5. Red Hat Single Sign-On 서버를 사용하여 서비스 검색 구성(Keycloak)

시스템 관리자로서 사용자는 3scale을 개별적으로 인증하고 OpenShift용 Red Hat Single Sign-On 을 사용하여 서비스를 검색할 수 있습니다.

Red Hat Single Sign-On 배포를 OpenShift의 권한 부여 게이트웨이로 사용하도록 OpenShift를 구성하는 방법은 이 워크플로 를 참조하십시오.

사전 요구 사항

  • 3scale 2.14를 OCP(OpenShift Container Platform) 4.x 클러스터에 배포해야 합니다.
  • 3scale에서 서비스 검색을 사용하려는 3scale 사용자는 OpenShift 클러스터에 액세스할 수 있어야 합니다.

절차

  1. Red Hat OAuth 서버(Keycloak)에서 3scale용 OAuth 클라이언트를 생성합니다.

    참고

    클라이언트 구성에서 사용자 이름이 OpenShift가 계정을 연결할 수 있도록 preferred_username 에 매핑되는지 확인합니다.

  2. 3scale Service Discovery 설정을 편집합니다.

    $ oc project <3scale-project>
    $ oc edit configmap system
    Copy to Clipboard Toggle word wrap
  3. 다음 설정이 구성되었는지 확인합니다. 여기서 '<the-client-secret-from-Keycloak >은 OAuth 클라이언트를 생성할 때 Keycloak이 자동으로 생성된 값입니다.

        service_discovery.yml:
          production:
            enabled: true
            authentication_method: oauth
            oauth_server_type: rh_sso
            client_id: '3scale'
            client_secret: '<the-client-secret-from-Keycloak>'
    Copy to Clipboard Toggle word wrap
  4. 검색 가능한 서비스가 포함된 클러스터 프로젝트를 볼 수 있는 적절한 권한이 사용자에게 있는지 확인합니다.

    예를 들어 < namespace > 프로젝트에 대해 < user > 보기 권한을 부여하려면 다음 명령을 사용합니다.

    $ oc adm policy add-role-to-user view <user> -n <namespace>
    Copy to Clipboard Toggle word wrap
  5. configmap 을 수정한 후 변경 사항을 적용하려면 system-appsystem-sidekiq Pod를 재배포해야 합니다.

29.6. OAuth 서버 없이 서비스 검색 구성

OAuth 서버 없이 3scale 서비스 검색을 구성하려면 3scale Single Service Account를 사용하여 OpenShift API 서비스에 인증할 수 있습니다.

사전 요구 사항

  • 3scale 2.14를 OCP(OpenShift Container Platform) 4.x 클러스터에 배포해야 합니다.
  • 3scale에서 서비스 검색을 사용하려는 3scale 사용자는 OpenShift 클러스터에 액세스할 수 있어야 합니다.

절차

  1. 3scale 프로젝트가 현재 프로젝트인지 확인합니다.

    $ oc project <3scale-project>
    Copy to Clipboard Toggle word wrap
  2. 편집기에서 3scale 서비스 검색 설정을 엽니다.

    $ oc edit configmap system
    Copy to Clipboard Toggle word wrap
  3. 다음 설정이 구성되었는지 확인합니다.

    service_discovery.yml:
       production:
          enabled: <%= cluster_token_file_exists = File.exists?(cluster_token_file_path = '/var/run/secrets/kubernetes.io/serviceaccount/token') %>
          bearer_token: "<%= File.read(cluster_token_file_path) if cluster_token_file_exists %>"
          authentication_method: service_account
    Copy to Clipboard Toggle word wrap
  4. 다음 옵션 중 하나를 통해 검색 가능한 서비스가 포함된 프로젝트를 볼 수 있도록 3scale 배포 amp 서비스 계정에 관련 권한을 제공합니다.

    • view 클러스터 수준 권한을 사용하여 3scale 배포 amp 서비스 계정을 부여합니다.

      $ oc adm policy add-cluster-role-to-user view system:serviceaccount:<3scale-project>:amp
      Copy to Clipboard Toggle word wrap
    • OpenShift에 설명된 대로 보다 제한적인 정책을 적용합니다.

29.7. 검색된 서비스 가져오기

OpenShift 클러스터에서 OpenAPI 사양을 준수하는 새 API 서비스를 가져옵니다. 이 API는 3scale로 관리됩니다.

사전 요구 사항

  • OpenShift 관리자가 OpenShift 클러스터에 대한 서비스 검색을 구성했습니다. 예를 들어 OpenShift 관리자가 3scale 사용자 인터페이스의 URL을 지정하려면 Fuse Online 사용자 정의 리소스를 편집하여 3scale 검색을 활성화해야 합니다.
  • 3scale 관리자는 서비스 검색에 설명된 대로 서비스 검색용 3scale 배포를 구성했습니다.
  • 3scale 관리자는 API 서비스 및 해당 네임스페이스를 보는 데 필요한 권한을 3scale 사용자 또는 서비스 계정(구성된 인증 모드에 따라)에게 부여했습니다. 자세한 내용은 OpenShift 프로젝트에 대한 3scale 액세스 승인을 참조하십시오.
  • API에는 검색 가능한 서비스에 대한 DestinationRule에 설명된 대로 서비스 검색을 활성화하는 올바른 주석이 있습니다.
  • API 서비스는 3scale이 설치된 동일한 OpenShift 클러스터에 배포됩니다.
  • API의 서비스 이름과 해당 네임스페이스(OpenShift 프로젝트)를 알고 있습니다.

절차

  1. 3scale 관리 포털에 로그인합니다.
  2. 관리 포털 대시보드의 API 에서 제품 생성을 클릭합니다.
  3. OpenShift에서 가져오기 를 클릭합니다.

    • OAuth 토큰이 유효하지 않은 경우 OpenShift 프로젝트 관리자는 OpenShift 프로젝트에 대한 3scale 액세스 권한 부여에 설명된 대로 3scale 사용자에 대한 액세스 권한을 부여해야 합니다.
  4. Namespace 필드에서 API가 포함된 OpenShift 프로젝트를 지정하거나 선택합니다(예: fuse ).
  5. Name 필드에 해당 네임스페이스 내의 OpenShift 서비스 이름을 입력하거나 선택합니다(예: i-task-api ).
  6. 제품 생성을 클릭합니다.
  7. 새 API 서비스가 비동기식으로 3scale로 가져올 때까지 기다립니다. 관리 포털의 오른쪽 상단에 메시지가 표시됩니다. 서비스는 곧 제공됩니다. 완료되면 알림이 전송됩니다.

29.8. OpenShift 프로젝트에 대한 3scale 액세스 권한 부여

OpenShift 프로젝트 관리자는 OAuth 토큰이 유효하지 않은 경우 3scale 사용자가 네임스페이스에 액세스하도록 권한을 부여할 수 있습니다.

사전 요구 사항

  • OpenShift 프로젝트 관리자로 자격 증명이 있어야 합니다.
  • OpenShift 관리자가 OpenShift 클러스터에 대한 서비스 검색을 구성했습니다. 예를 들어, Fuse Online API의 경우 OpenShift 관리자는 Fuse Online 서비스의 CONTROLLERS_EXPOSE_VIA3SCALE 환경 변수를 true 로 설정해야 합니다.
  • 3scale 관리자는 검색 가능한 서비스에 대해 DestinationRule에 설명된 대로 서비스 검색용 3 scale 배포를 구성했습니다.
  • API 서비스 이름과 OpenShift 프로젝트의 네임스페이스를 알고 있습니다.
  • API 서비스는 3scale이 설치된 동일한 OpenShift 클러스터에 배포됩니다.
  • API에는 검색 가능한 서비스에 대한 DestinationRule에 설명된 대로 서비스 검색을 활성화하는 올바른 주석이 있습니다.

절차

  1. Authenticate를 클릭하여 이 옵션 링크를 활성화합니다.
  2. 네임스페이스 관리자 자격 증명을 사용하여 OpenShift에 로그인합니다.
  3. 3scale 사용자에게 액세스 권한을 승인하려면 선택한 권한 허용을 클릭합니다.

29.9. 서비스 업데이트

클러스터에서 서비스의 현재 정의를 사용하여 3scale에서 기존 API 서비스를 업데이트(refresh)할 수 있습니다.

절차

  1. 3scale 관리 포털에 로그인합니다.
  2. API 제품의 개요 페이지로 이동합니다.
  3. Source: OpenSource 옆에 있는 Refresh 링크를 클릭합니다.
  4. 새 API 서비스가 비동기식으로 3scale로 가져올 때까지 기다립니다.

VI 부. 멀티 테넌시

30장. 멀티 테넌시

Red Hat 3scale API Management를 사용하면 단일 온프레미스 배포에 3scale 계정의 여러 개의 독립적인 인스턴스가 존재할 수 있습니다. 계정은 서로 독립적으로 작동하며 서로 정보를 공유할 수 없습니다.

30.1. 마스터 관리자 포털

마스터 관리자는 마스터 관리 포털 및 API 끝점을 통해 3scale 계정을 모니터링하고 관리합니다. 표준 관리 포털 과 유사하게 마스터 관리 포털에는 모든 배포 계정에 대한 정보가 포함되어 있으며 고유한 계정 페이지를 통해 계정 및 사용자를 관리할 수 있습니다.

계정 관리자 작업에 대한 자세한 내용은 계정 가이드를 참조하십시오.

30.1.1. 마스터 관리 포털에 액세스

마스터 관리 포털에 액세스하려면 온프레미스 설치 프로세스 중에 마스터 관리 포털에 대해 특별히 정의된 자격 증명 및 URL을 사용해야 합니다.

마스터 관리 포털 URL은 ECDHETER _NAME (기본적으로 템플릿에서master ) 및 WILDCARD_DOMAIN 으로 구성됩니다.

<MASTER_NAME>.<WILDCARD_DOMAIN>
Copy to Clipboard Toggle word wrap

Master 플래그로 마스터 관리 포털을 확인할 수 있습니다.

30.1.2. 마스터 관리 포털을 통해 계정 추가

마스터 관리자 포털을 통해 계정을 추가하려면 다음 단계를 따르십시오.

  1. 마스터 관리 포털에 로그인합니다.
  2. 계정으로 이동합니다.
  3. 생성을 클릭합니다.
  4. 사용자에게 필요한 정보를 표시합니다.

    1. 사용자 이름
    2. 이메일
    3. 암호
    4. 비밀번호 확인
  5. 조직에 필요한 정보를 표시합니다.

    1. 조직/그룹 이름
  6. 생성을 클릭합니다.

이러한 단계를 수행한 후 Red Hat 3scale API Management는 조직/그룹 이름 필드를 기반으로 계정의 계정 하위 도메인을 생성합니다. 또한 생성한 계정의 세부 정보가 포함된 페이지를 볼 수 있습니다.

30.1.3. 마스터 관리 포털을 사용하여 단일 게이트웨이 생성

마스터 관리 포털을 사용하면 THREESCALE_PORTAL_ENDPOINT 환경 변수를 구성하여 모든 테넌트에 대한 단일 게이트웨이를 생성할 수 있습니다. 이는 OpenShift 템플릿과 함께 배포된 기본 apicast 및 apicast- production 게이트웨이가 이러한 방식으로 구성된 SaaS(Hosteded 3scale)의 호스팅 APIcast와 유사합니다.

마스터 관리 포털을 사용하여 단일 게이트웨이를 생성하려면 다음 단계를 따르십시오.

  1. 3scale 프로젝트에서 system-master-apicast 시크릿에서 ACCESS_TOKEN의 값을 가져옵니다. 또는 마스터 관리 포털에서 새 액세스 토큰을 생성할 수 있습니다.
  2. APIcast를 배포할 때 다음 명령을 사용합니다.

     THREESCALE_PORTAL_ENDPOINT="https://<ACCESS_TOKEN>@<public url to master admin portal>/master/api/proxy/configs"
    Copy to Clipboard Toggle word wrap
    • URL의 끝은 /master/api/proxy/configs 와 같습니다. 이는 master 가 기본 /admin/api/services.json 과 비교하여 다른 엔드포인트에 구성 을 보유하고 있기 때문입니다.

30.2. 계정 관리

마스터 관리 포털 또는 API 호출을 통해 계정을 관리할 수 있습니다.

30.2.1. 마스터 관리 포털을 통해 계정 관리

마스터 관리 포털을 통해 계정을 관리하려면 다음을 수행해야 합니다.

  1. 마스터 관리 포털에 로그인합니다.
  2. 계정 페이지로 이동합니다.
  3. 관리할 그룹 또는 조직을 선택합니다.

계정 페이지에서 관리자 계정 또는 계정 일시 중단과 같은 관리 작업을 수행할 수 있습니다. 다음 계정 속성을 관리할 수도 있습니다.

  • 애플리케이션
  • 사용자
  • 초대
  • 그룹 멤버십
  • 조직/그룹 이름

30.2.2. API 호출을 통해 계정 관리

Master Admin API 호출을 통해 계정을 관리할 수 있습니다. 이러한 호출에 대한 정보는 마스터 관리 포털의 오른쪽 상단에 있는 질문 표시(?) 아이콘을 클릭한 다음 3scale API Docs 를 선택하여 마스터 API 섹션을 참조하십시오.

30.3. 멀티 테넌시 하위 도메인 이해

동일한 OpenShift 클러스터 도메인 아래에 있는 여러 계정의 결과로 개별 계정 이름은 OpenShift 클러스터 도메인 이름을 하위 도메인으로 추가합니다. 예를 들어 example.com 도메인이 있는 클러스터에서 user 라는 계정 경로는 다음과 같이 표시됩니다.

user.example.com
Copy to Clipboard Toggle word wrap

표준 다중 테넌트 배포에는 다음이 포함됩니다.

  • 마스터 관리자
  • ECDHETER _NAME 매개변수로 정의된 마스터 관리 포털 경로:

    <MASTER_NAME>.<WILDCARD_DOMAIN>
    Copy to Clipboard Toggle word wrap
  • 계정 관리자
  • TENANT_NAME 매개변수로 정의된 계정 관리자 포털 경로:

    <TENANT_NAME>-admin.<WILDCARD_DOMAIN>
    Copy to Clipboard Toggle word wrap
  • 계정의 개발자 포털 경로:

    <TENANT_NAME>.<WILDCARD_DOMAIN>
    Copy to Clipboard Toggle word wrap
  • 임베디드 APIcast 게이트웨이 프로덕션 및 스테이징 경로:

    <API_NAME>-<TENANT_NAME>-apicast-staging.<WILDCARD_DOMAIN>
    <API_NAME>-<TENANT_NAME>-apicast-production.<WILDCARD_DOMAIN>
    Copy to Clipboard Toggle word wrap
    This example illustrates the output users and routes of a standard multitenant deployment of 3scale:
    Copy to Clipboard Toggle word wrap
    ----
    --> Deploying template "3scale-project/3scale-api-management" for "amp.yml" to project project
    Copy to Clipboard Toggle word wrap
    3scale API Management
    ---------
    3scale API Management main system
    Copy to Clipboard Toggle word wrap
         Login on https://user-admin.3scale-project.example.com as admin/xXxXyz123
         ...
         * With parameters:
          * ADMIN_PASSWORD=xXxXyz123 # generated
          * ADMIN_USERNAME=admin
          * TENANT_NAME=user
          ...
          * MASTER_NAME=master
          * MASTER_USER=master
          * MASTER_PASSWORD=xXxXyz123 # generated
          ...
    --> Success
        Access your application via route 'user-admin.3scale-project.example.com'
        Access your application via route 'master-admin.3scale-project.example.com'
        Access your application via route 'backend-user.3scale-project.example.com'
        Access your application via route 'user.3scale-project.example.com'
        Access your application via route 'api-user-apicast-staging.3scale-project.example.com'
        Access your application via route 'api-user-apicast-production.3scale-project.example.com'
        Access your application via route 'apicast-wildcard.3scale-project.example.com'
        ...
    ----
    Copy to Clipboard Toggle word wrap

마스터 관리자가 추가한 추가 계정에는 해당 이름에 따라 하위 도메인이 할당됩니다.

30.4. 테넌트 계정 삭제

30.4.1. 관리 포털을 통해 계정 삭제

이 절차를 통해 계정은 삭제 예정되어 있으며 15 일 후에 삭제됩니다. 이 시간 동안 삭제하도록 예약됩니다.

  • 사용자는 계정에 로그인할 수 없습니다.
  • 계정을 편집할 수 없지만 마스터는 승인된 상태로 계정을 다시 시작할 수 있습니다.

또한 실제 삭제와 유사하게 테넌트 도메인(admin 도메인 및 개발자 포털)을 사용할 수 없습니다.

절차

  1. 계정 목록을 보려면 계정으로 이동합니다.
  2. 삭제할 계정을 클릭합니다.
  3. 계정 이름 옆에 있는 편집 을 클릭합니다.
  4. 계정 세부 정보 페이지에서 삭제 아이콘을 클릭합니다.
  5. 삭제를 확인합니다.

30.4.2. 콘솔을 통해 테넌트 삭제

즉시 영향을 미치는 계정을 삭제하려면 콘솔을 통해 계정을 삭제할 수 있습니다.

  1. 다음 명령으로 콘솔을 엽니다.

    $ oc rsh -c system-master "$(oc get pods --selector deploymentconfig=system-app -o name)"
    bundle exec rails console
    Copy to Clipboard Toggle word wrap
  2. 다음 줄로 즉시 삭제하십시오.

    tenant = Account.find(PROVIDER_ID)
    tenant.schedule_for_deletion!
    DeleteAccountHierarchyWorker.perform_later(tenant)
    Copy to Clipboard Toggle word wrap

각 행이 작동하는 방법은 다음과 같습니다.

  • 1행: 계정을 찾아서 변수 테넌트 에 저장합니다.
  • 2행: 삭제 계정을 예약합니다. 이는 관리자 포털을 통해 삭제를 예약하지 않은 경우에만 필요합니다.
  • 3 줄은 삭제할 계정을 예약했거나 일시 중지된 경우에만 백그라운드 프로세스에서 테넌트를 삭제합니다. 계정이 승인된 상태인 경우 삭제는 처리되지 않습니다.

30.5. 테넌트 계정 재시작

테넌트 계정을 다시 시작하면 삭제 예약된 계정을 복원해야 합니다. 삭제하도록 예약한 후 최대 15일 후에 테넌트 계정을 다시 시작할 수 있습니다.

계정을 다시 시작한 후 다음을 수행하십시오.

  • 이전 앱은 모두 존재합니다.
  • 모든 과거의 통계가 남아 있습니다.
  • 유효해야 하는 모든 토큰이 다시 유효합니다.
  • 앱의 인증을 다시 시작합니다.

사전 요구 사항

  • 마스터 관리자 계정에 로그인합니다.

절차

  1. 계정 목록을 보려면 계정으로 이동합니다.
  2. 삭제할 계정을 클릭합니다.
  3. 계정 세부 정보에서 다시 시작을 클릭합니다.
  4. 확인 을 클릭하여 계정을 다시 시작하려는지 확인합니다.Click OK to confirm you want to resume the account.

VII 부. 분석

API 액세스를 관리하고 최적화하기 위해 3scale API 분석을 구현하면 시간이 지남에 따라 사용량 추세와 같은 항목을 추적할 수 있습니다. API 사용 방법을 아는 것은 트래픽을 관리하고, 최고를 위한 프로비저닝, API에 가장 많은 요청을 보내는 사용자를 식별하는 데 중요한 단계입니다.

3scale에서는 다음 수준에서 정의할 수 있는 메서드 및 메트릭에 대한 API 분석을 수집합니다.

  • 제품: Hits 는 API로의 트래픽을 추적하는 기본 제공 메트릭입니다. 분석을 캡처할 API에서 추가 메트릭 및 designate 메서드를 만들 수 있습니다.
  • 백엔드: 3scale은 API 백엔드를 사용하여 각 제품에 속하는 것처럼 백엔드에 메서드 및 지표를 등록합니다. 제품 수준에 정의된 애플리케이션 계획에서 백엔드 수준 메트릭에 대한 제한 및 가격 규칙을 설정할 수 있습니다.
  • 애플리케이션: 3scale에서 생성된 각 애플리케이션에 대한 분석 보고서를 얻을 수 있습니다.

사전 요구 사항

  • 시작하기 지침을 완료했습니다.
  • 또는 다른 통합 방법과 유사한 흐름을 따릅니다. 사용 가능한 통합 옵션에 대한 자세한 내용은 문서의 운영 APIcast 장을 참조하십시오.

31.1. 3scale API Management API 메트릭 및 API 사용을 캡처하는 방법

3scale은 API 제품 통계에 맞게 무한하게 확장 가능한 데이터 리포지토리 역할을 합니다. API에 대한 액세스를 최적으로 관리하는 데 필요한 정보가 있도록 메트릭 및 방법을 사용하여 API 제품 통계를 캡처할 수 있습니다. 예를 들어 다음과 같습니다.

hits/ Cryostats
API 제품에 대한 호출입니다. 히트는 기본적으로 모든 API의 메트릭으로 포함됩니다. 히트는 API 제품에 대한 전체 호출이거나 API 제품의 개별 메서드로 분류될 수 있습니다.
데이터 전송
API 제품을 통해 업로드 및 다운로드되는 MB/GB의 데이터 양
CPU 시간
API 제품에 대한 호출과 관련된 컴퓨팅 시간(또는 기타 내부 리소스)
반환 결과
반환되는 레코드 또는 데이터 오브젝트 수 수
디스크 스토리지
계정에서 사용 중인 총 디스크 스토리지

API 제품과 관련된 더 많은 메트릭을 추적할 수 있습니다. 3scale은 시간 경과에 따라 증가될 수 있는 수량에 따라 임의의 수의 메트릭과 방법을 추적할 수 있습니다.

사용할 지표를 선택한 후 제품 및 백엔드에 지표 추가 에 설명된 절차를 사용하여 관리 포털에 등록합니다.

선택한 제품 또는 백엔드에 메트릭 및 방법을 추가할 수 있습니다. 친숙한 이름과 3scale이 플러그인 구성에서 사용하는 시스템 이름을 제공합니다. 메서드 및 메트릭 작성에 대한 자세한 내용은 방법 설계 및 사용 세부 정보를 캡처하기 위한 메트릭 추가를 참조하십시오.

31.2. API 메트릭을 캡처하도록 3scale API Management 플러그인 구성

3scale에 추적하려는 지표의 이름으로 준비되면 해당 메트릭을 보고하도록 플러그인을 구성해야 합니다. 이 작업을 수행하는 정확한 방법은 사용 중인 플러그인 또는 통합 방법에 따라 다릅니다. 기본적으로 플러그인은 Hits, API 트랜잭션, 메트릭만 보고합니다.

사전 요구 사항

  • 제품 및/또는 백엔드에 대한 메트릭이 이미 구성되어 있어야 합니다.

절차

  1. 들어오는 API 호출에 의해 결정된 대로 적절한 메트릭/메서드 이름을 플러그인에 전달합니다.

    metric/method 값과 필요한 증가는 플러그인이 노출하는 authorize 및/또는 report 메서드의 인수입니다.

  2. 지표의 System name 메서드를 사용하여 특정 API 메서드의 트래픽을 보고합니다.

    이렇게 하면 보고된 방법과 Hits 메트릭 모두에 대한 카운터가 자동으로 증가합니다.

  3. 관리 포털의 계정 설정 > 통합 → 3scale API Docs 에서 3scale 서비스 관리 API 를 사용하여 트래픽을 보고합니다.

다른 끝점에 대한 자세한 내용은 계정 설정 > 통합 → 3scale API Docs의 관리 포털에서 제공되는 3scale API 문서 를 참조하십시오.

31.3. 3scale API Management API 백엔드에 대한 분석 보기

백엔드로 구성된 지정된 API의 트래픽 데이터를 볼 수 있습니다. 트래픽 페이지에는 끝점에 대한 히트가 표시됩니다.

사전 요구 사항

절차

  1. 관리 포털 대시보드에서 [ECDHE_backend_name] > DestinationRule 으로 이동합니다.
  2. 보고서의 기간을 선택합니다. 지난 24 시간, 7 일, 30 일, 12 개월을 표시하거나 기간을 표시하도록 선택할 수 있습니다.
  3. 선택 사항: Hits 이외의 분석, 방법 또는 다른 최상위 수준 메트릭을 선택합니다.

    • 차트에 결과가 표시됩니다. 보고할 트래픽이 없는 경우 다음 메시지가 표시됩니다. 선택한 기간에 사용할 수 있는 데이터가 없습니다.
  4. CSV 다운로드 링크를 클릭하여 CSV 파일에서 데이터를 다운로드합니다.

API와 3scale 간의 연결을 설정하여 API 제품으로 트래픽을 전송하고 API NSX 대시보드에 등록할 수 있도록 합니다.

사전 요구 사항

  • 3scale 개발자 계정.
  • API 인증 정보가 있는 3scale 애플리케이션.

절차

  1. ECDHE & gt; 애플리케이션 > 목록으로 이동하여 기존 애플리케이션 목록을 확인합니다.
  2. 이름을 클릭하여 애플리케이션을 선택합니다.
  3. 선택한 애플리케이션의 API 자격 증명을 찾습니다. 인증 정보는 선택한 인증 유형에 따라 다르며 사용자 키(API 키), 애플리케이션 ID 및 애플리케이션 키 또는 클라이언트 ID 및 클라이언트 시크릿일 수 있습니다.

    사용 가능한 인증 모드에 대한 자세한 내용은 인증 패턴을 참조하십시오.

    그림 31.1. API 인증 정보

  4. 이러한 키를 사용하여 일반적인 방식으로 API를 호출합니다. 예를 들어 명령줄에서 cURL 을 사용하거나 GET 메서드를 사용하는 API 끝점의 브라우저에서 입니다. 정확한 호출은 API 제품의 방법 구조에 따라 달라집니다. 이러한 호출의 트래픽은 API 제품의 NSX 섹션에 표시됩니다.

다음 단계

기본적으로 사용량 통계는 관리 포털과 개발자 포털을 통해 애플리케이션을 생성한 개발자에게 API 공급자에 표시됩니다. 각 개발자는 자체 애플리케이션에 대한 사용량 통계만 볼 수 있습니다. 개발자 포털에서 분석 보기를 숨기어 누가 표시되는지 추가로 제어할 수 있습니다. 개발자 포털 사용자 지정에 대한 자세한 내용은 개발자 포털 생성을 참조하십시오.

NSX 섹션의 사용 그래프 외에도 NSX API를 사용하여 분석 데이터에 액세스할 수 있습니다. 3scale analytics API는 XML 또는 JSON 형식으로 API 제품에 대한 모든 분석 데이터를 추출하는 유연한 방법입니다.

31.5. 3scale API Management API에 대한 분석이 누락된 문제 해결 기술

[ECDHE_product_name] >Analytic > Traffic 의 사용 차트에 트래픽이 표시되지 않는 경우 다음 검사를 수행합니다.

  • authorize/report 호출이 올바르게 응답됩니까?

    모든 플러그인은 사전 결정된 응답 코드가 있는 3scale 서비스 관리 API를 호출합니다. 유효한 키 호출에서 HTTP 코드 200 을 사용하여 응답을 반환해야 합니다. 보고서 호출은 코드 202 로 응답해야 합니다.

  • 통합 오류 콘솔에 오류가 있습니까?

    3scale에서 감지한 통합 오류의 로그는 [your_product_name] > analytics > Integration Errors 에서 확인할 수 있습니다.

  • 올바른 메트릭과 메서드 이름이 사용됩니까?

    실패의 가장 일반적인 이유는 보고서 호출에 전달된 메서드와 지표 이름이 관리 포털의 API 설정에서 생성된 이름과 일치하지 않기 때문입니다. 각 메트릭/메서드에 올바른 시스템 이름을 사용하고 있는지 확인합니다.

  • 매핑 규칙이 메트릭에 올바르게 매핑됩니까?

    매핑 규칙이 메트릭에 올바르게 매핑되지 않으면 DestinationRule에 데이터가 표시되지 않을 수 있습니다. API 제품 및 API 백엔드 모두에 매핑 규칙이 메트릭에 올바르게 매핑되었는지 확인합니다.

    • 제품: 관리 포털 대시보드에서 [gradle_product_name] > Integration > 방법 및 지표 로 이동합니다.
    • 백엔드: 관리 포털 대시보드에서 [Remote_backend_name] > 방법 및 지표 로 이동합니다.

32장. 기본 제공 기능 이외의 3scale API Management API 분석 내보내기

기능에서 기본적으로 제공되지 않는 정보를 검색할 수 있도록 기본 제공 3scale 분석의 기능을 확장하는 스크립트를 생성합니다.

계정 관리 및 NSX API(Enterprise 전용)를 사용하면 원하는 형식으로 필요한 정보를 검색하는 스크립트를 생성할 수 있습니다. 여기에 설명된 사용 사례는 3scale에서 필요한 데이터를 가져오는 데 자체 시나리오에서 도움이 될 수 있습니다.

사용자 정의 스크립트의 이유

3scale은 API 대시보드에서 사용 가능한 기능을 지속적으로 개선합니다. 그러나 개발 계획보다 앞서 있을 수 있으며 아직 지원되지 않는 특정 요구 사항이 있습니다.

API 관리 요구를 충족하기 위해 3scale 관리 포털은 모든 데이터에 액세스하는 데 필요한 툴을 제공합니다. 스크립트를 작성하는 데 리소스가 필요하지만 사용자 지정 스크립트를 사용하면 다양한 사용 사례를 구현할 수 있는 유연성과 제어가 제공됩니다.

고객은 주당 수천 명의 새로운 개발자를 확보했습니다. 3scale이 주요 프로비저닝, 등록 워크플로 및 이메일 통신과 같은 자동 필수 요소를 제공하기 때문에 이 고객은 온보딩의 일부 측면을 해결할 수 있었습니다. 그러나 3scale과 함께 할 수 없는 일이 있었습니다. 이는 매우 중요했습니다.

고객은 많은 사용자를 온보딩했기 때문에 운영 및 마케팅팀이 새로운 개발자와 보다 효과적으로 상호 작용할 수 있도록 API와의 참여를 기반으로 새로운 개발자를 분류하는 간단한 방법이 필요했습니다. 적어도 필요한 수준의 세부 사항에서는 이러한 기능을 3scale에서 제공하는 기본 제공 분석 툴에서는 아직 사용할 수 없었습니다. 그러나 시스템에서 모든 데이터를 사용할 수 있었기 때문에 3scale 계정 및 analytics API를 사용하여 데이터를 추출할 수 있었습니다.

예: 고객 요구 사항

지난 10 일 동안 무료 평가 계획에 가입 한 새로운 개발자가 얼마나 많은 다른 방법으로 가입했는지 알고 싶습니다.

먼저 얼마나 많은 개발자가 가입했는지 알고 싶었지만 API를 사용하지 않았습니다.

두 번째, API를 사용한 개발자를 두 그룹으로 나누고자 했습니다.

  • 10일의 첫 절반을 사용한 다음 API를 사용하여 중지한 후 일정 기간 동안 사용한 개발자입니다. 이 개발자는 이를 시도했지만 비활성화되었습니다.
  • API를 일관되게 사용하고 있는 개발자입니다. 이를 위해 백분율로 된 성장 (또는 감소)을 알고 싶습니다.

이 정보는 3scale 기본 제공 분석에서 확인할 수 있습니다. 문제는 집계된 것으로 표시할 수 있는 보기가 없기 때문에 전체 환경이 매우 번거롭다는 것입니다.

32.2. 사용자 정의 절차에서 3scale API Management 애플리케이션 분석 추출

애플리케이션 분석을 추출하려면 ActiveDocs 작업을 시작합니다. 3scale ActiveDocs는 계정 설정 > 통합 > 3scale API Docs 에서 관리 포털에서 사용할 수 있습니다. 3scale에는 ActiveDocs로 사용 가능한 모든 API가 있으므로 브라우저에서 시도할 수 있습니다. 이를 통해 귀하의 요구에 가장 적합한 요청을 찾고, 요청(curl과 같은)을 가져오고, 응답을 받을 수 있습니다. 다음 그림에서는 ActiveDocs 예제를 제공합니다.

스크립트가 분석을 추출하는 모든 애플리케이션을 가져오는 API 요청에 대한 ActiveDocs입니다.

  • ActiveDocs를 사용하여 조사를 완료한 후 선택한 스크립팅 언어로 요청을 지정합니다. 예에서는 Ruby를 사용합니다.
  • 필요한 작업을 정확히 수행하는 스크립트가 있을 때까지 반복합니다. 확장 분석 예제의 경우 스크립트는 gist로 사용할 수 있습니다. 귀하의 계정에서 시도할 수 있습니다.

ActiveDocs를 사용하면 API에서 수행할 수 있는 작업을 빠르게 파악할 수 있습니다. 그런 다음 수행하려는 작업에 필요한 3개 또는 4개의 요청을 찾아 스크립트를 함께 배치하는 것이 중요합니다.

다음 절차에서는 예제 고객이 원하는 사용자 지정 분석을 수행하는 단계를 보여줍니다.

절차

  1. 전체 애플리케이션 목록을 검색합니다. 이 작업을 수행하려면 페이지 작성이 필요합니다.

    def api_call_applications_list(domain, provider_key)
      done = false
      res = Array.new
      page = 1
    
          while !done
        url = "https://#{domain}/admin/api/applications.xml?provider_key=#{provider_key}&page=#{page}&per_page=100"
        page += 1
        response = RestClient.get url
        raise Exception.new("Wrong response code (#{response.code}) in request #{url}") if response.code!=200
        document = Nokogiri::XML(response.to_str)    done = document.xpath("applications/@current_page").text == document.xpath("applications/@total_pages").text
        document.xpath("//application").each do |item|
          app = Hash.new
          app["created_at"] = DateTime.parse(item.xpath("created_at").text)
          app["plan_name"] = item.xpath("plan/name").text
          app["service_id"] = item.xpath("plan/service_id").text
          app["account_id"] = item.xpath("user_account_id").text
          app["id"] = item.xpath("id").text
          res << app
        end
      end
      return res
    end
    Copy to Clipboard Toggle word wrap
  2. 기준을 충족하지 않는 애플리케이션을 필터링합니다. 즉, 계획이 "예: 평가"여야 하며 10일보다 최신 상태여야 합니다.

    def filter_applications(domain, provider_key, plan_name, num_of_days)
      res = api_call_applications_list(domain, provider_key)
      res.each do |item|
        res.delete(item) if item["plan_name"] != plan_name
        res.delete(item) if item["created_at"] > (DateTime.now - num_of_days)
      end
      return res
    end
    Copy to Clipboard Toggle word wrap
  3. 기준을 충족하는 각 애플리케이션에 대해 지난 10일 동안 애플리케이션의 적중 횟수인 사용량을 얻습니다.

    def api_call_application_usage(domain, provider_key, application_id, metric, from, to, granularity)
      url = "https://#{domain}/stats/applications/#{application_id}/usage.xml?provider_key=#{provider_key}&metric_name=#{metric}&since=#{from}&until=#{to}&granularity=#{granularity}"
      response = RestClient.get url
      raise Exception.new("Wrong response code (#{response.code}) in request #{url}") if response.code!=200
      document = Nokogiri::XML(response.to_str)
      return document.xpath("//usage/data/values").text.split(",")
    end
    Copy to Clipboard Toggle word wrap
  4. 개발자의 정보가 계정 오브젝트에 저장되므로 애플리케이션을 계정에 상호 참조합니다.

    def api_call_account_read(domain, provider_key, account_id)
      url = "https://#{domain}/admin/api/accounts/#{account_id}.xml?provider_key=#{provider_key}"
      response = RestClient.get url
      raise Exception.new("Wrong response code (#{response.code}) in request #{url}") if response.code!=200
      document = Nokogiri::XML(response.to_str)
      account = Hash.new
      account["email"] = document.xpath("//users/user/email").text
      account["name"] = document.xpath("//users/user/first_name").text + " " + document.xpath("//users/user/last_name").text
      return account
    end
    Copy to Clipboard Toggle word wrap
  5. 모든 것을 함께 배치하여 스크립트를 완료합니다. 3scale의 기본 제공 분석에서 아직 사용할 수 없는 정보를 가져오는 스크립트가 있습니다. 전체 스크립트를 gist로 가져올 수도 있습니다.

개선 사항을 보장하는 지원 및 작업이 필요한 계정을 식별하려면 애플리케이션 트래픽에 대한 시각적 정보를 확인합니다. API를 사용하는 각 애플리케이션에는 3scale 시스템에서 트래픽 추적이 있으며, 이는 API를 통해 관리 포털에서 볼 수 있을 뿐만 아니라 복구할 수 있습니다.

전제 조건

  • 3scale 개발자 계정
  • API 인증 정보가 있는 3scale 애플리케이션

절차

  1. 분석을 볼 애플리케이션으로 이동합니다.

    IRQ > 계정 > 목록 또는 DestinationRule > 애플리케이션 탭의 애플리케이션 > 목록에서 애플리케이션을 찾을 수 있습니다. 또는 찾기 튜토리얼에 설명된 단계에 따라 애플리케이션을 검색할 수 있습니다.

  2. 애플리케이션을 찾으면 다음 이미지에 표시된 대로 애플리케이션에 대한 정보가 포함된 개요 페이지가 표시됩니다.

    Expand
    표 33.1. 이미지에 레이블이 지정된 항목은 다음 정보에 해당합니다.
    숫자애플리케이션 정보

    1

    개발자가 지정한 애플리케이션의 이름

    2

    애플리케이션에 대해 캡처된 메타 데이터(고급 섹션에서 캡처할 데이터를 설정하는 방법)

    3

    애플리케이션 상태 - 애플리케이션이 활성 또는 일시 중단됩니까?

    4

    현재 API 식별자, 키 및 애플리케이션에 있는 인증서입니다. 보기는 API를 3scale로 통합하기 위해 사용 중인 인증 방법에 따라 다릅니다.

    5

    애플리케이션의 트래픽 통계 요약

    6

    애플리케이션이 있는 애플리케이션 계획 및 속도 제한이 적용되는 방법에 대한 정보입니다.

  3. 애플리케이션 이름 위의 NSX 링크를 클릭합니다. 애플리케이션에 대한 사용 차트가 표시됩니다. 메트릭, 메서드 및 시간 범위를 제어하면 애플리케이션에 대한 다양한 유형의 데이터를 확인할 수 있습니다.

34장. 주요 애플리케이션 분석 그래프

Top Applications 분석 그래프는 개발자에게 API 성능을 최적화하고 사용 패턴에 대한 통찰력을 얻는 도구를 제공합니다. 개발자는 고성능 애플리케이션을 식별하고, 실시간 지표를 이해하고, 데이터 중심 결정을 통해 전체 API 환경을 개선할 수 있습니다.

제품 > [ your_product_name] > Analytics > Top Applications 의 상위 애플리케이션 분석 그래프는 3scale 관리 포털 계정에 구성된 시간대의 기간 동안 데이터를 표시합니다. 주요 애플리케이션은 고정된 기간을 기반으로 검색됩니다.

  • 지난 24 시간
  • 지난 7일
  • 지난 30일
  • 날짜 범위(예: 09/27/2023 - 10/25/2023까지)

예를 들어 05/17/2023 을 사용하는 경우 결과 그래프에는 01/01/2023~12/31/2023 의 사용량이 표시됩니다. 이는 사용자가 선택한 일정 기간과 표시된 그래프에 가장 가까운 일정 범위입니다.

상위 애플리케이션 분석을 확인할 때 다음 두 가지 사항을 고려해야 합니다.

  • 상위 애플리케이션은 고정된 일정 기간(일/주/월/년)에 따라 검색됩니다. 기간은 차트 아래에 표시됩니다.

    참고: 자정 04/30/2023 및 자정 05/31/2023은 다음을 의미합니다. 2023/05/01 00:00:00 부터 2023/06/01 00:00:00 에 포함되며 이는 2023/05/31 23:59:59 까지 포함합니다.

  • 통계에 표시된 애플리케이션의 실제 사용은 일정 기간이 아닌 사용자가 선택한 기간을 기반으로 합니다.

따라서 일정 기간에 사용량이 높지만 사용자가 선택한 실제 기간에는 0 개의 사용량이 있으므로 애플리케이션이 맨 위 애플리케이션 뷰에 표시되는 상황이 있을 수 있습니다.

예제

  1. 사용자는 일정을 사용하여 날짜 범위를 입력합니다: 10/25/2023 ~ 10/27/2022.
  2. 해당 날짜 범위에 따라 사용자가 선택한 날짜 범위와 가능한 한 밀접하게 일치하는 마침표가 선택됩니다. 이는 단일 세분성(예: 1 calendar day, 1 calendar month)을 포함해야 합니다.
  3. 데이터 저장소는 10/25/2023~10/27/2023 의 상위 애플리케이션에 대해 쿼리됩니다.
  4. 반환된 상위 애플리케이션 목록의 경우 사용량이 입력된 사용자의 원래 날짜 범위인 10/25/2023~10/27/2023을 사용하여 표시됩니다.

35장. API에 대한 3scale API Management 응답 코드 로그 설정 및 평가

클라이언트가 API를 사용하는 방법을 확인하고 서버가 예상대로 실행되는지 실시간으로 확인하려면 응답 코드가 3scale로 로그됩니다.

절차

APIcast 게이트웨이를 배포했습니다.

apiVersion: apps.3scale.net/v1alpha1
kind: APIcast
metadata:
  name: example-apicast
spec:
  ...
  responseCodesIncluded: true
Copy to Clipboard Toggle word wrap

예제

활성화하면 APIcast 게이트웨이는 인증된 호출을 위해 업스트림 서비스에서 반환한 API 응답의 HTTP 상태 코드를 캡처하고 이를 서비스 관리 API( authrep 호출)로 보냅니다. 예제:

https://su1.3scale.net/transactions/authrep.xml?service_token={SERVICE_TOKEN}&service_id={SERVICE_ID}&user_key={USER_KEY}&usage%5Bhits%5D=1&log%5Bcode%5D=200"
Copy to Clipboard Toggle word wrap

이 예에서는log[code]=200 이 전송되므로 API가 200 상태 코드로 응답했습니다.

검증

통합을 확인하려면 유효한 3scale 인증 정보를 사용하여 API 제품을 호출한 다음, NSX > Usage 페이지에서 호출이 올바르게 보고되었는지 확인합니다.

참고
  • 응답 코드 추적은 모든 응답의 정확한 수를 위한 것은 아닙니다.
  • 이 뷰의 값은 일정 기간 동안 추세에 대한 시각적 표현을 제공하는 것입니다.
  • 응답 코드 추적 및 3scale Auth Caching 모드: None 은 지원되지 않습니다.

지금까지 모든 것이 잘 진행 중인 경우 analytics &gt ;Response 코드 페이지로 이동합니다. 응답이 2xx, 4xx 또는 5xx인지에 따라 최신 트래픽이 색상으로 분할된 그래프를 볼 수 있어야 합니다.

그래프 도구를 사용하면 응답 코드의 기록을 볼 수 있습니다. 응답 코드 통계는 다른 기간과 다른 수준의 세분성도 확인할 수 있습니다. 시간 선택 표시줄을 클릭하고 요구 사항에 맞는 기간을 정의합니다.

법적 공지

Copyright © 2024 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2026 Red Hat