관리 포털 가이드

Red Hat 3scale API Management 2.11

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

Red Hat Customer Content Services

초록

이 가이드에서는 Red Hat 3scale API Management를 관리하는 데 필요한 정보를 제공합니다.

preface

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

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

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 용어를 교체하기 위해 최선을 다하고 있습니다. 먼저 마스터(master), 슬레이브(slave), 블랙리스트(blacklist), 화이트리스트(whitelist) 등 네 가지 용어를 교체하고 있습니다. 이러한 변경 작업은 작업 범위가 크므로 향후 여러 릴리스에 걸쳐 점차 구현할 예정입니다. 자세한 내용은 CTO Chris Wright의 메시지에서 참조하십시오.

I 부. 계정 설정

1장. 계정 구성

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

참고
The account view is only visible to administrators, not to members.

1.1. 회사 정보 추가

새 계정을 만든 후 다음 단계를 사용하여 회사 정보를 추가하십시오.

  1. 상단 네비게이션 바의 오른쪽에 있는 기어 아이콘을 클릭합니다. Overview(개요 ) 창이 표시됩니다.
  2. Account Details (계정 세부 정보) 제목 옆에 있는 Edit(편집 ) 링크를 클릭합니다.
  3. 계정에 대한 정보를 입력합니다.

여기에서 지정하는 주소는 다음 두 가지 목표를 갖습니다.

  • 유료 계획인 경우, 청구 목적으로 이 주소를 사용합니다.
  • 청구 및 결제 모듈을 사용하는 경우 이 주소도 송장에 표시됩니다.

1.2. 선호하는 시간대 선택

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

2장. 3scale 관리 포털에 대한 Red Hat Single Sign On

이 가이드에서는 3scale 관리 포털에서 RH-SSO(Red Hat Single Sign On)를 구성하고 사용하는 방법에 대해 설명합니다.

2.1. RH-SSO 또는 Auth0 멤버 인증 활성화

3scale은 멤버와 관리자에게 SSO(Single Sign-On) 인증을 지원합니다.

3scale 관리 포털에서는 다음 SSO 공급자를 지원하며, 각각 여러 ID 브로커 및 멤버 페더레이션 옵션을 지원합니다.

참고

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

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

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

2.1.1. RH SSO 사전 요구 사항

2.1.2. Auth0 사전 요구 사항

  • Auth0 서브스크립션 및 계정

2.1.3. RH-SSO 활성화

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

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

    • 페이지의 오른쪽 상단에 있는 기어 아이콘을 클릭합니다.
    • 계정 설정(기어 아이콘) > 사용자 > SSO 통합으로 이동하여 New SSO Integration(새 SSO 통합 )을 클릭합니다.
  3. 드롭다운 목록에서 SSO 공급자를 선택합니다.
  4. SSO를 구성할 때 제공되는 필수 정보를 입력합니다.

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

테스트 중에 콜백 URL이 일치하지 않는 경우 오류 메시지에 표시된 콜백 URL을 Auth0 허용 콜백 URL에 추가합니다.

2.2. 3scale에서 RH-SSO 사용

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

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

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

    https://<organization>-admin.3scale.net/p/login
  2. IdP로 3scale 인증
  3. 필요한 경우 필요한 정보를 입력하여 등록 완료

성공적으로 등록하면 API 공급자 조직에 멤버 계정이 생성되고 자동으로 로그인됩니다.

2.3. 3scale을 RH-SSO 옵션으로 로그인 리디렉션

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

2.3.1. 사전 요구 사항

참고

RH-SSO를 3scale과 통합하려면 먼저 작동하는 RH-SSO 인스턴스를 보유해야 합니다. 설치 지침은 RH-SSO 문서를 참조하십시오. RH-SSO 7.2 설치.

2.3.2. 필수 단계

  1. 3scale 문서의 3scale 관리 포털의 Red Hat Single Sign-On에서 RH-SSO 설정에 대한 지침에 액세스하고 따르십시오.
  2. RH-SSO 관리자에게 보안 로그온을 위해 RH-SSO 내에서 리디렉션을 위한 기준이 되는 3scale URL을 제공하십시오. 다음 URL 형식을 사용합니다.

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

    https://<organization>.3scale.net/p/admin/account/authentication_providers/<ID>
  4. Keycloak_0123456aaaaaaaaOAuth 흐름 테스트의 콜백 URL 의 SSO 통합 세부 정보 페이지에서도 확인할 수 있습니다.

    https://<organization>.3scale.net/auth/keycloak_0123456aaaaa/callback

3장. 사용자 초대 및 권한 관리 권한

참고

초대 기능은 Pro 및 Enterprise 고객에게만 제공됩니다.

API 관리의 워크로드를 공유하려면 조직에서 팀 구성원을 초대하여 3scale 관리 포털에 액세스해야 합니다. 아래 지침에서는 3scale 관리 포털에 대한 액세스 권한을 하나 이상의 팀원에게 부여하는 방법을 설명합니다.

사용자가 Red Hat은 팀원을 참조합니다. 3scale 관리 포털에는 두 가지 유형의 사용자가 있습니다.

  • 관리자: 모든 영역 및 서비스에 대한 전체 액세스 권한을 보유하고 있으며, 다른 멤버를 초대할 수 있습니다(계획에서 허용하는 경우).
  • 멤버: 제품 영역(예: 분석, 개발자 포털)에 대한 액세스 권한이 제한적이며 엔터프라이즈 고객인 경우 서비스에 대해서도 액세스할 수 있습니다.

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

3.2. 초대 보내기

사용자 목록에서 새 팀 구성원을 초대할 수 있습니다. 초대를 보내려면 다음을 수행합니다.

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

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

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

3.3. 초대를 수락합니다

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

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

팀 구성원에게 부여할 수 있는 두 가지 주요 권리 유형은 다음과 같습니다.

  • 지역별: 분석, 청구 또는 개발자 관리 등의 기능을 제공합니다.
  • 서비스 별: 모든 서비스 중에서 멤버에게 액세스할 수 있는 서비스를 선택하십시오. 참고: 이 기능은 기업 고객만 사용할 수 있습니다.

새 사용자에게 권한을 부여하려면 사용자 메뉴에서 새 사용자를 선택하고 Edit (편집). 다음과 같은 사용자 역할이 있습니다.

  • 자신의 권한을 Admin 으로 변경하면 관리 포털을 제어할 수 있는 모든 액세스 권한이 부여됩니다.
  • 자신의 권한을 Member 로 변경하면 팀원이 액세스할 수 있는 영역과 서비스를 선택할 수 있는 옵션이 제공됩니다.

    • Member 로서 영역을 선택하여 언급된 영역과 관련된 사용 가능한 모든 서비스를 나열합니다.

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

  • 개발자 계정-^Applications: 계정 관리 API에 대한 액세스 권한 부여
  • 분석: Analytics API에 대한 액세스 제공
  • 청구: Billing API에 대한 액세스 권한 부여
지역 및 서비스별 권한

4장. 알림

알림이 admins 및 members로 전송되어 개발자 활동(새 계정)을 쉽게 구문 분석할 수 있습니다.

4.1. 알림 유형

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

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

4.2. 가시성

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

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

기업 계정 의 경우 멤버 사용자는 액세스 권한이 부여된 서비스 활동과 관련된 알림에만 액세스할 수 있습니다.

4.3. 이메일으로 알림 구독

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

  1. 계정 설정( 네비게이션 바에서 기어 아이콘) > 개인 > 알림 기본 설정으로 이동합니다.
  2. 수신할 알림을 선택합니다.
  3. Update Notification Preferences (알림 기본 설정 업데이트)를 클릭합니다.

4.4. 웹 알림

이메일 알림 외에도 대시보드의 마지막 활동에 대한 정보를 확인할 수 있습니다.

계정 대시보드

5장. 개인 설정

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

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

  1. 네비게이션 바에서 기어 아이콘을 클릭합니다.
  2. 왼쪽 패널에서 개인 정보로 이동합니다. 다음과 같은 3가지 설정을 편집할 수 있습니다.

    • 개인 정보: 이름, 이메일, 암호 등.
    • 토큰: Billing, Account Management, Analytics 등 3scale API에 대한 인증을 위한 액세스 토큰을 생성하고 ActiveDocs(대화형 문서)를 사용하여 사용해 보십시오. 3scale 토큰에 대해 자세히 알아보기.
    • 알림 기본 설정: 수신할 알림을 선택합니다. 참고: 귀사가 기업 고객이고, 구성원이라면 지역과 서비스로 필터링됩니다. 즉, 액세스 권한이 부여된 영역 및 서비스에 관한 알림만 구독할 수 있습니다. 알림 기본 설정에 대한 자세한 내용은 여기에서 확인하십시오.

6장. 토큰

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

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

6.1. 액세스 토큰

액세스 토큰을 사용하면 API 공급자 관리자와 멤버가 3scale API(Billing, Account Management, Analytics)에 대해 인증하고 ActiveDocs(대화형 문서)를 사용하여 사용해 볼 수 있습니다.

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

고려해야 할 중요한 점은 액세스 토큰이 작동하는 방식이며 이는 회원의 권리에 따라 다릅니다. 관리자는 3scale API 모두에 대해 인증을 위해 토큰을 만들 수 있습니다. 회원은 관리 포털의 다양한 부분에 액세스할 수 있는 권한에 의해 제한됩니다. 예를 들어, 멤버가 Billing 영역에 액세스할 수 없는 경우 Billing API에 대해 인증할 토큰을 만들 수 없습니다.

6.2. 액세스 토큰 생성

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

  1. 네비게이션 바에서 기어 아이콘을 클릭합니다.
  2. 개인용 > 토큰 으로 이동합니다.
  3. 액세스 토큰 추가를 클릭합니다.
  4. 이름을 지정하고, 하나 이상의 범위를 선택하고, 토큰 권한을 선택합니다.
  5. 새 토큰을 저장하려면 Create Access token (액세스 토큰 만들기)을 클릭합니다.

구성원인 경우 계정의 관리자가 액세스한 API만 모두 표시되지 않을 수 있습니다.

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

토큰이 손실된 경우 해당 토큰을 삭제하면 비활성화되고 유효하지 않게 렌더링된 후 새 토큰을 생성하는 것이 좋습니다.

6.3. 액세스 토큰 사용

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

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

이 기능이 작동하는 방식은 조직이 3scale에 세 개의 서비스를 설정했으며 멤버로서 Service 1에 액세스할 수 있지만 2 및 3이 아닌 경우, 계정 관리 API에도 액세스할 수 있으며, 토큰을 생성하고 계정 관리 API에 요청하면 Service 1을 사용하는 애플리케이션만 가져옵니다.

동일한 예제에 따라 계정 관리 API에 액세스할 수 있지만 서비스 0개에 액세스할 수 있는 경우 호출할 때 "access denied" 오류가 표시됩니다.

6.3.1. 서비스 토큰

서비스 토큰은 3scale Service Management API 인증에 사용됩니다. 서비스 토큰은 3scale에서 새 서비스가 생성될 때 자동으로 생성되며 서비스별로 고유합니다. 3scale 계정 사용자 간에 공유됩니다.

관리 포털의 대시보드에서 사용자가 액세스할 수 있는 서비스의 서비스 토큰을 찾을 수 있습니다. 계정 설정(기어 아이콘) > 개인 > 토큰.

II 부. 개발자 계정 관리

7장. 개발자 추가

다음은 API에 액세스할 새 개발자 계정을 추가하는 단계입니다.

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

7.1. 새 개발자 계정 만들기

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

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

새 개발자 계정 만들기

7.2. 애플리케이션 설정

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

새 계정에 애플리케이션 추가

7.3. 개발자에게 알리기

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

8장. 개발자 승인

이 섹션에서는 가입 워크플로의 모든 단계에 대한 승인을 얻는 방법을 보여줍니다.

수동 승인 단계를 통해 가입 워크플로를 구현한 후에는 몇 가지 옵션이 있습니다. 승인 프로세스는 트리거와 승인되는 내용에 따라 약간 다릅니다. 이메일 통지를 받으면 다음 섹션의 지침을 따르십시오. 그렇지 않으면 계정, 서비스 또는 애플리케이션을 승인할지 여부에 따라 달라집니다.

8.1. 이메일 알림 승인

사용자가 (관리자)인 경우 개발자 중 한 명에게 승인 대기 중인 항목이 있는 이메일 알림을 수신하면 해당 항목의 URL을 브라우저에 복사/붙여넣을 수 있으며, 승인하기 위해 페이지로 직접 이동하게 됩니다.

8.2. 계정 승인

특정 계정을 검색하거나 "보류 중"(승인 중) 상태인 모든 계정을 필터링하려면 대상 > 계정 > 목록으로 이동합니다. 보류 중인 계정만 표시하려면 드롭다운 목록에서 "Pending(보류 중)"을 선택하고 Search (검색)를 클릭합니다.

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

개발자 승인 계정 등록

8.3. 서비스 승인

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

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

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

개발자 승인 서비스 서브스크립션

8.4. 애플리케이션 승인

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

  1. 대상 > 응용 프로그램 > 목록으로 이동합니다.
  2. State (상태) 드롭다운 목록에서 "보류 중"을 선택하고 Search (검색)를 클릭합니다.

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

개발자의 대량 승인 앱

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

개발자 개인 앱 승인 1
개발자 개인 앱 승인 2

9장. 앱 계획 변경

이 섹션을 마치면 계정, 서비스 또는 애플리케이션의 계획을 변경할 수 있습니다.

관리자는 언제든지 또는 개발자가 시작하는 계획 변경 요청에 대응하여 개발자의 계획을 변경할 수 있습니다.

참고

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

9.1. 계정 계획 변경

특정 계정을 검색하거나 필터링하려면 대상 > 계정 > 나열 으로 이동합니다.

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

개발자 계정 계획 변경

9.2. 서비스 계획 변경

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

Settings(설정) 페이지에서 서비스 플랜이 활성화된 경우에만 서브스크립션을 볼 수 있습니다.

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

서비스 계획 변경

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

특정 애플리케이션을 검색하거나 필터링하려면 대상 > 응용 프로그램 > 나열 으로 이동합니다.

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

여러 애플리케이션의 계획 변경

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

애플리케이션 계획 변경

9.3.1. 자세한 정보

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

10장. 개발자에게 문의

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

API 작업을 수행하는 동안 API를 사용하는 개발자에게 긴급하게 문의해야 할 수 있습니다.

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

해당 애플리케이션을 관리하는 계정 및 개발자를 이미 알고 있는 경우 아래 표시된 대로 대상 > 계정 > 목록의 계정 페이지에서 해당 계정으로 이동합니다.

계정 보기

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

10.2. 개발자에게 내부 메시지 보내기

아래 표시된 대로 계정 프로필 페이지에 있는 경우 메시지 아이콘을 클릭합니다.

메시지 보내기

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

10.3. 다른 수단에 의한 연락처

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

  • 회사 계정 페이지에서 (일반 연락처 정보이지만 전화 번호를 포함할 수 있음)
  • 사용자의 파일에 대한 개발자/사용자 특정 정보

등록 시 연락처 전화 번호를 필수 입력란으로 지정할 수 있습니다.

11장. 플랜 사용자 정의

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

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

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

개발자가 현재 청구 기간이 이미 진행 중이므로 다음 가격 계층으로 업그레이드하지 않고 현재 한도를 늘리려고 합니다. 사용자 지정은 제한 증가를 활성화하고 발생하는 변수 비용만 청구하여 이러한 상황을 처리할 수 있습니다. 또한 다음 청구 달 동안 업그레이드를 장려하는 데도 도움이 됩니다.

11.1. 계정을 선택하십시오

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

  1. 대상 > 계정 > 목록으로이동합니다.
  2. 개발자 계정을 선택합니다
계정 선택

11.2. 애플리케이션을 선택합니다

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

앱 선택

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

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

플랜 사용자 지정

11.3.1. 자세한 정보

계획을 사용자 지정하는 단계를 수행하기 전에 새 표준 계획(개발자 포털의 디스플레이에서 숨겨질 수 있음)을 더 잘 사용하지 않는 경우 항상 먼저 고려하십시오. 그런 다음 표준 계획으로 변경하면 개발자 파트너 중 한 명 이상이 적용되는 경우 재사용의 이점을 얻을 수 있습니다.

12장. 가입 활성화

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

개발자가 셀프 서비스 또는 수동 초대만 사용하도록 워크플로를 구성할 수 있습니다. 셀프 서비스 등록은 개발자 포털을 통해 개발자가 수행하는 반면 수동 초대는 관리 포털을 통해 관리자가 처리합니다.

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

이를 수행하려면 대상 > 계정 > 설정 > 사용 규칙으로 이동합니다.

셀프 서비스 개발자 등록 활성화

13장. 애플리케이션 찾기

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

API 작업 중에 API에 액세스하는 애플리케이션에서 지원, 구성을 변경하기 위해 또는 애플리케이션이 잘못 작동하고 비활성화해야 하기 때문에 잠재적으로 API에 액세스하는 애플리케이션에 대한 정보를 찾을 수 있어야 할 수 있습니다.

13.1. 필요한 정보를 얻기

애플리케이션을 찾으려면 속하는 계정 이름 또는 애플리케이션 이름이 필요합니다. 이 정보가 없는 경우 액세스 로그를 확인할 수 있습니다. 검색을 수행하려면 Applications(응용 프로그램) (targetence> Applications > Listing) 로 이동합니다.

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

  • API 키 전용 인증 패턴의 경우: API 키
  • app ID 및 app 키 인증 패턴의 경우 app ID(App 키로 검색은 지원되지 않음)
  • OpenID Connect 인증 패턴의 경우: client_id (보안 검색은 지원되지 않음)

13.2. 응용 프로그램 검색

지정된 애플리케이션을 검색하려면 Applications(애플리케이션) 페이지 (targetence > Applications > Listing) 로 이동하여 아래 이미지와 같이 검색 상자를 사용합니다.

애플리케이션 파트 1 찾기

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

결과가 반환되면 액세스하려는 애플리케이션을 클릭하면 애플리케이션 홈페이지로 이동하게 됩니다. 이 페이지에는 아래 이미지와 같은 정보가 들어 있습니다.

응용 프로그램 파트 2 찾기

14장. 개발자 초청

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

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

  1. 대상 > 계정 > 목록으로 이동합니다.
  2. 해당 계정을 선택합니다.
  3. "Invitations(이전)"를 선택한 다음 Invite user(사용자 초대 )를 클릭합니다.
개발자 초대 사용자

15장. 서비스에서 개발자 등록 취소

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

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

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

  1. 관리 포털의 대시보드에서 대상 > 계정 > 나열 > [계정 선택] > 서비스 서브스크립션으로 이동합니다.
  2. 개발자가 제거하려는 서비스에 대해 Select Unsubscribe 를 선택합니다.

15.2. 서비스에서 여러 개발자 등록 취소

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

참고

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

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

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

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

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

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

16.1. 애플리케이션 찾기

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

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

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

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

애플리케이션 일시 중단
참고

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

16.3. 개발자에게 문의

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

개발자에게 문의

17장. 애플리케이션 삭제

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

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

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

옵션 2: 특정 애플리케이션 계획에 따라 애플리케이션을 삭제합니다.

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

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

18장. API 삭제

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

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

  1. [your_product_name] > 개요 > 편집 으로 이동합니다.
  2. Service delete(서비스 삭제) 섹션에서 링크를 클릭하여 서비스를 삭제합니다.

III 부. 액세스 제어

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

19장. 방법 지정 및 사용량 세부 정보 캡처를 위한 지표 추가

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

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

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

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

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

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

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

절차

  1. [your_product_name] > Integration > Methods & Metrics 또는 [your_backend_name] > Methods & Metrics 로 이동합니다.
  2. New Method(새 메서드 )를 클릭합니다.
  3. name( 이름) 필드에 메서드에 대한 간단한 설명을 입력합니다. 이 이름은 3scale 관리 포털의 여러 섹션에 표시됩니다. 친숙한 이름은 제품에 고유해야 합니다.

    중요

    메서드의 시스템 이름을 변경하거나 삭제하는 데 주의하십시오. 이러한 변경 사항은 이전 시스템 이름을 가리키는 매핑 규칙이 있는 경우 이미 배포된 3scale 통합이 중단될 수 있습니다.

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

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

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

검증 단계

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

다음 단계

  • [your _product_name] > 애플리케이션 > 애플리케이션 계획 > [plan_you_want_to_edit] 로 이동하여 각 방법에 대한 제한 및 가격 규칙을 편집합니다.

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

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

절차

  1. [your_product_name] > Integration > Methods & Metrics 또는 [your_backend_name] > Methods & Metrics 로 이동합니다.
  2. New metric (새 지표)를 클릭합니다.
  3. name( 이름) 필드에 지표에 대한 간단한 설명을 입력합니다. 이 이름은 3scale 관리 포털의 여러 섹션에 표시됩니다. 친숙한 이름은 제품에 고유해야 합니다.

    중요

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

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

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

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

    • 단일 명사를 사용합니다(예 : ). 단수형은 분석 차트에서 복수가 됩니다.
  6. 선택 사항: Description (설명) 필드에 지표에 대한 자세한 설명을 입력합니다.
  7. 지표 생성을 클릭합니다.

검증 단계

  • 추가된 지표는 애플리케이션 계획에서 사용할 수 있습니다.

다음 단계

  • [your _product_name] > 애플리케이션 > 애플리케이션 계획 > [plan_you_want_to_edit] 로 이동하여 각 메트릭에 대한 제한 및 가격 규칙을 편집합니다.
  • [your_product_name] > Integration > Mapping Rules 로 이동하여 메트릭을 하나 이상의 URL 패턴에 매핑합니다. 메서드 및 지표에 매핑 규칙 추가를 참조하십시오.

19.3. 방법 및 메트릭을 가져오는 대안

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

19.4. 방법 및 메트릭에 매핑 규칙 추가

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

참고

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

절차

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

검증 단계

  • 매핑 규칙을 확인하려면 [your_product_name] > Integration > Methods & Metrics 로 이동합니다. 각 메서드 및 지표에는 Mapped 열에 확인 표시가 있어야 합니다.

19.5. 추가 리소스

20장. 애플리케이션 계획

애플리케이션 계획은 API 소비자에게 허용할 수 있는 다양한 액세스 권한 세트를 정의합니다. 이는 속도 제한, 메서드 또는 리소스에 액세스할 수 있는 기능 및 활성화된 기능을 결정할 수 있습니다.

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

기본적으로 3scale 계정이 생성되면 다음 두 가지 계획이 제공됩니다. 기본 및 무제한. 계속하고 편집하거나 직접 만들 수 있습니다. 필요한 만큼 많은 계획을 생성할 수 있습니다.

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

  1. [your_product_name] > 애플리케이션 > 애플리케이션 계획으로 이동합니다.
  2. Create Application Plan 단추를 클릭합니다.
  3. Create Application Plan (애플리케이션 계획 만들기) 페이지에서 새 계획에 대한 이름과 시스템 이름(시스템 이름은 고유해야 함)을 입력합니다.
  4. API에 액세스하기 전에 애플리케이션을 승인받으려면 Applications require approval? (애플리케이션 필요 승인 필요) 확인란을 선택합니다.

계획을 수립하고 나면 요금 제한을 프로비저닝하고 유료 계획을 설정할 수 있습니다.

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

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

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

  1. [your_product_name] > 애플리케이션 > 애플리케이션 계획으로 이동합니다.
  2. Default Plan (기본 계획)의 드롭다운 목록에서 계획을 선택합니다.

기본 애플리케이션 계획을 나타내지 않으면 새 사용자가 API에 대한 액세스를 요청하는 경우 기본적으로 애플리케이션이 생성되지 않습니다. 즉, 사용자는 API에 액세스할 수 없습니다.

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

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

21.1. 가격 결정 모델 결정

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

  • 볼륨/사용. 계층을 구분하는 가장 일반적인 방법은 볼륨에 따라 다릅니다. 볼륨은 일반적으로 고객에게 가치를 부여하는 강력한 관계는 물론 서비스 비용이 있기 때문입니다. 제품 호출에 글로벌 조회 수를 적용하거나 메서드 수준에서 보다 세밀한 측정을 수행할 수 있습니다. 볼륨 드라이버는 글로벌 hits 지표 수준 또는 hits 아래의 개별 메서드에 적용됩니다. 모든 메트릭에 여러 가격 규칙을 적용할 수 있습니다. 적중 비용 계산은 1개월 청구 주기에 따라 달라집니다.
  • 기능. 계층에 따라 제품 부분에 대한 액세스를 활성화하거나 비활성화할 수 있습니다. 이는 표준 및 프리미엄 수준을 구분하는 좋은 방법입니다.
  • 리소스. 또한 고객에게 가치를 제공하거나 인프라 비용(예: 소비되는 기가바이트, 사용자 수 또는 트랜잭션 값)에 대한 액세스를 기반으로 계층을 만들 수 있습니다. 리소스 드라이버는 볼륨 드라이버와 유사하지만 사용자 지정 지표에 적용됩니다.

가격 드라이버에 대해 결정한 후에는 레벨이 플랫 요금 서브스크립션, 가변 요금, 일회성 초기 요금에 따라 결정되어야 합니다. 위의 세 가지 가격 드라이버는 모두 1오프 또는 월 단순 요금 서브스크립션과 호환됩니다. 가격 결정은 적중량 또는 리소스 소비량에 따라 결정되는 경우 가격 책정에 가변적인 요소가 될 것입니다.

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

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

새 애플리케이션 계획 생성 또는 기존 편집

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

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

  1. [your_product_name] > 개요 > 애플리케이션 > 애플리케이션 계획으로 이동합니다.
  2. 애플리케이션 계획 이름을 클릭합니다.
  3. 메트릭, 방법, 제한 및 가격 규칙으로 이동합니다. 여기에서는 총 적중 수준, 메서드 단위 또는 사용자 지정 메트릭에 대한 가격을 정의할 수 있습니다.

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

가격 규칙 설정을 완료하고 나면 Update Application plan (애플리케이션 계획 업데이트)을 클릭합니다.

21.3. 추가 가격 계층 생성

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

이 작업을 수행하는 가장 쉬운 방법은 애플리케이션 계획 개요 페이지에서 첫 번째 애플리케이션 계획을 복사하는 것입니다. 이렇게 하면 기존의 모든 지표와 가격 규칙에 미리 채워집니다. 첫 번째 전체 계획을 만드는 데 할애할수록 계획 복사 기능을 사용하면 더 많은 시간을 절약할 수 있습니다.

21.4. 유료 계획 프로비저닝

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

21.5. 추가 참조

단순 가격 책정 계획과 함께 속도 제한을 사용하여 계층을 구분하는 것이 일반적입니다. 이는 프로비저닝 속도 제한에설명되어 있습니다.

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

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

속도 제한이 적용되면 이러한 제한은 개발자가 3scale 백엔드에 대한 권한 부여 요청을 호출할 때 수신하는 응답을 제어합니다.

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

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

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

22.2. 속도 제한 설정

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

  1. [your_product_name] > 개요 > 애플리케이션 > 애플리케이션 계획으로 이동합니다.
  2. 구성할 애플리케이션 계획의 이름을 클릭합니다.
  3. 지표, 메서드, 제한 및 가격 규칙으로 아래로 스크롤합니다.
  4. Limits (제한)를 클릭합니다.
  5. 제품 또는 백엔드 수준에 대한 제한을 구성합니다.
  6. 필요한 제한 설정을 마치면 애플리케이션 계획 업데이트를 클릭하여 변경 사항을 저장합니다.

22.3. 새로운 요금 제한을 적용

이제 요금 제한이 정의되어 있으므로 다음이 수행됩니다.

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

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

22.4. 자세한 정보

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

IV 부. 청구

23장. 청구 설정 구성

이 문서에서는 청구 기능이 Red Hat 3scale API Management에서 작동하는 방식을 설명합니다.

청구 설정은 Charging & GatewayCredit Card Policies 로 구분되며, 이들 모두 관리 포털의 대상 > 청구 에서 찾을 수 있습니다.

23.1. 청구 모드(차단 및 게이트웨이)

3scale의 청구는 월별로 계산되며 선불 및 우편료가 될 수 있습니다.

  • 선불 모드에서는 모든 고정 요금 및 설정 비용이 해당 달 시작 시 또는 프로모션 청구 기간의 시작 부분에 청구됩니다. 변수 비용은 항상 다음 달의 시작 부분에 계산되고 청구됩니다.
  • Postpaid 모드에서는 모든 고정 요금 및 가변 비용이 다음 달 초에 청구됩니다.

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

23.2. 통화 사용 (차단 및 게이트웨이)

이 설정은 신용 카드 트랜잭션을 활성화합니다. 이 설정이 켜지면 선택한 결제 게이트웨이를 사용하여 결제한 모든 송장이 청구됩니다. 이 설정을 종료하면 청구가 발생하고 송장이 발행되지만 실제 결제 거래는 발생하지 않습니다.

23.3. 통화 (차지 & 게이트웨이)

청구 및 신용 카드 거래가 이루어질 통화를 선택합니다. 결제 게이트웨이에서 선택한 통화를 지원하는지 확인하십시오. 이 설정은 전역적이며 모든 송장 및 트랜잭션에 적용됩니다. 다른 개발자 계정에 대해 다른 통화를 설정할 수 없습니다.

23.4. 송장 각주 (차단 및 게이트웨이)

Invoice footnote 필드에 도입된 텍스트가 모든 PDF 송장 하단에 나타납니다. 이 필드를 사용하여 고객에게 청구 및 청구 정책에 대한 추가 정보를 제공할 수 있습니다.

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

23.5. VAT/Salesitz가 0% (Charging & Gateway)인지 확인할 텍스트입니다.

이 필드는 청구된 계정에 대해 VAT/Sales가 0%인 경우 PDF 송장에 텍스트 메시지를 추가하는 데 사용됩니다. 이 행은 VAT/Sales가 0으로 명시적으로 설정된 경우에만 나타납니다. 그렇지 않으면 표시되지 않습니다. 이 텍스트는 관리 포털의 송장 페이지에도 표시됩니다.

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

23.6. 통화 YAML 구성

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

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

    • Braintree
    • 스트라이프

23.6.1. OpenShift에서 통화 구성 변경

통화 구성을 변경하려면 다음을 수행합니다.

절차

  1. currency .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\"}}"
    참고

    currency .yml 구성 파일의 콘텐츠 예를 보려면 기본 YAML 파일인 currency .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
  2. system- (app|sidekiq) DeploymentConfigsystem- config 볼륨에 새 ConfigMap 항목 currency .yml 을 포함합니다. 그러면 관련 컨테이너 내부에 새 내용이 마운트되고 새 구성이 활성화됩니다.

    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"}]}}}}'
    oc patch dc system-app -p $PATCH_SYSTEM_VOLUMES
    oc patch dc system-sidekiq -p $PATCH_SYSTEM_VOLUMES
    unset PATCH_SYSTEM_VOLUMES

23.6.2. 새 통화 확인

3scale 관리 포털에서 통화가 사용 가능한지 확인하려면 다음을 수행하십시오.

절차

  1. 대상 > 청구 > 청구 & 게이트웨이로 이동하십시오.
  2. 통화 드롭다운 목록에서 통화 목록을 사용할 수 있는지 확인합니다.
  3. 사용할 통화를 선택합니다.

23.7. 송장 ID 청구 기간 (Charging & Gateway)

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

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

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

월 (기본값)
YYYY-MM-XXXXXXXX, 즉 ID에는 연도, 월, 송장 수가 포함됩니다. 예제: 2018-02-00000013
매년
YYYY- XXXXXXX, 즉 연도와 번호만 포함합니다. 예제: 2018-00000001

송장 식별자에 대한 청구 기간을 월에서 매년 변경하는 영향은 친숙한 식별자 형식을 변경하는 것입니다. 이 수정은 청구 주기 기간을 변경하지 않습니다. 3scale API Management에서는 월별 청구만 지원합니다. 회계 부서에서 이러한 요구 사항이 있는 경우 송장 설명자를 매년 변경할 수 있습니다.

매년 고객을 청구해야 하는 경우 청구를 수동으로 처리해야 합니다. 새 송장을 작성하고 연간 비용이 포함된 행 항목을 추가할 수 있습니다. 매년 요금을 부과하는 경우, 송장이 생성되지 않거나 매달 자동으로 청구되지 않도록 신청 계획을 무료로 설정할 수도 있습니다.

23.8. 신용 카드 정책

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

  • 법적 약관 페이지
  • 개인 정보 보호 페이지
  • 환불 페이지

24장. 결제용 신용 카드 게이트웨이

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

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

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

  • Braintree
  • 스트라이프

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

추가 리소스

24.2. IMAPe를 신용 카드 게이트웨이로 구성

3scale API 프로바이더로 사용자 포털과 개발자 포털을 domaine를 신용 카드 게이트웨이로 사용하여 API로의 서브스크립션에서 API로 지불 받을 수 있도록 결제 게이트웨이로 구성합니다.

사전 요구 사항

  • Stripe 계정이 있어야 합니다.

    • 스트라이프는 각 비즈니스 또는 프로젝트에 별도의 Stripe 하위 계정을 사용하는 것이 좋습니다.
    • 여러 계정 의 Stripe 설명서를 참조하십시오.
  • 현재 관리자 권한이 있어야 합니다.

절차

결제 게이트웨이로 3scalee를 구성하려면 다음 단계를 따르십시오.

24.2.1. 3scale 관리 포털에서 Billing API 범위를 사용하여 액세스 토큰 생성

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

    1. 액세스 토큰 추가를 클릭합니다.
    2. 토큰 이름을 지정합니다.
    3. 범위를 선택합니다. 청구 API.
    4. 권한 수준을 선택합니다. 읽기 및 쓰기.
    5. Create Access token (액세스 토큰 만들기)을 클릭합니다.
    6. 액세스 토큰을 복사합니다.

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

작업으로 돌아가기

24.2.2. subnete에서 키 및 Webhook 시크릿 가져오기

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

사용자 계정에서 Secret Key 및 Publishable Key 를 가져옵니다.

  1. 현재 대시보드를 엽니다.
  2. redhate 설명서의 지침에 따라 API 키를 찾습니다.
  3. Secret 키Publishable 키복사

여전히 사용자 계정에서 Webhook 서명 보안을 생성합니다.

  1. 개발자 > Webhook 로 이동합니다.
  2. 끝점 추가를클릭합니다.
  3. 다음 끝점 URL로 채웁니다.

    https://<Your-provider-admin-domain>/api/payment_callbacks/stripe_callbacks?access_token=<value-of-access-token>
  4. 전송할 이벤트에서 payment_intent.succeeded를 추가합니다.
  5. 엔드포인트 추가를 클릭합니다.
  6. 방금 생성한 Webhook의 서명 시크릿을 표시하려면 클릭하고 이 시크릿을 기록합니다. Webhook 서명 보안 입니다.

작업으로 돌아가기

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

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

  1. 대상 > 청구 > 청구 & 게이트웨이로 이동하십시오.
  2. Charging enabled 를 선택하고 Save(저장 )를 클릭합니다.
  3. 신용 카드 게이트웨이 > 게이트웨이 에서 게이트웨이 를 선택합니다.
  4. 24.2.2절. “subnete에서 키 및 Webhook 시크릿 가져오기” 의 사용자 계정에서 가져온 보안 키 , 게시 가능 키Webhook 서명 시크릿 을 추가합니다.
  5. 저장을 클릭합니다.

작업으로 돌아가기

24.2.4. 3scale 개발자 포털에서 신용 카드 세부 정보 편집

  1. 개발자 계정으로 3scale 개발자 포털에 로그인합니다.
  2. 설정 > 신용 카드 세부 정보로 이동합니다.
  3. 신용 카드 번호, 만료 날짜 및 CVC와 같은 신용 카드 정보를 추가합니다.
  4. Save details(세부 정보 저장)를 클릭합니다.

작업으로 돌아가기

24.2.5. 청구되지 않은 이메일 응답의 텍스트 업데이트

SCA 결제 수정 사항과 관련하여 invoice _messenger_unsuccessfully_charged_for_buyer.text.liquid 이메일의 텍스트는 3scale 2.10에서 수동으로 업데이트해야 합니다.

  1. 3scale 관리 포털에서 대상 > 메시지 > 이메일 템플릿으로 이동합니다.
  2. 재시도를 사용하는 구매자의 송장 과금 실패를 선택합니다.
  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
  5. Create Email Template (이메일 템플릿 만들기)을 클릭합니다.

이러한 단계를 통해 청구되지 않은 이메일 응답을 위해 이메일 템플릿을 업데이트했습니다.

작업으로 돌아가기

24.3. brintree를 신용 카드 게이트웨이로 구성

3scale API 공급자로서 Braintree를 사용하여 Braintree를 사용하여 구독에서 API로의 결제를 받을 수 있는 결제 게이트웨이로 관리 포털 및 개발자 포털을 구성합니다.

사전 요구 사항

  • brin tree 가 있는 계정이 있어야 합니다.
  • 3D 보안(3DS)을 사용하는 고객의 안전한 체크아웃을 보장하려면 3DS를 3DS를 활성화하기 전에 Braintree 계정에서 3DS를 사용하도록 설정해야 합니다.

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

절차

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

Braintree에서 키 및 가맹점 식별

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

작업으로 돌아가기

3scale 관리 포털에서 청구 구성

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

  1. 대상 > 청구 > 청구 & 게이트웨이로 이동하십시오.
  2. 사용 가능한 차지백을 선택합니다.
  3. 통화를 선택합니다.

    • 3scale 청구 페이지에 지정된 통화 유형은 브라우드 대리점 계정에 사용된 통화 유형과 일치해야 합니다.
  4. 저장을 클릭합니다.
  5. credit card gateway > Gateway 에서 게이트웨이를 게이트웨이 로 선택합니다.
  6. 공개 키, Merchant ID 및 Braintree 계정에서 얻은 개인 키Braintree에서 키 및 가맹점 식별 에 추가합니다.
  7. 3DS를 활성화하려면 3D Secure Enabled 를 선택합니다.
  8. 변경 사항 저장을 클릭합니다.

작업으로 돌아가기

3scale 개발자 포털에서 신용 카드 세부 정보 편집

3scale API 소비자로서 3scale 개발자 포털에서 신용 카드 세부 정보를 추가하거나 편집합니다. 귀하의 신용카드를 발행한 엔티티와 재무 세부 사항을 일치시키려면 이 창에 기재된 모든 필드는 필수입니다.

  1. 개발자 계정으로 3scale 개발자 포털에 로그인합니다.
  2. 설정 > 신용 카드 세부 정보로 이동합니다.
  3. 할당량 추가 카드 세부 정보 및 청구 주소 추가를 클릭합니다.
  4. 지불 세부 사항 추가 : 이름, 성, 전화.
  5. 신용 카드 세부 정보 추가: 신용 카드 번호, 만료 날짜 및 CVC.
  6. 청구 주소 세부 사항: company, distance address, zip/postal code, city and state/region. 그런 다음 국가를 선택하십시오.
  7. Save details(세부 정보 저장)를 클릭합니다.
  8. 메시지가 표시되면 구매에 대한 2 단계 인증 (2FA)을 완료합니다. 예를 들어 은행에서 SMS 2FA 옵션을 사용하도록 설정한 경우 이 방법을 사용하여 인증 프로세스를 완료해야 합니다.

작업으로 돌아가기

추가 리소스

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

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

사전 요구 사항

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

절차

개발자 포털을 통해 거부된 송장을 결제하려면 다음 단계를 따르십시오.

  1. 3scale 관리 포털에서 대상 > 개발자 포털 > 컨텐츠로 이동합니다.
  2. 루트 > 호출 > 템플릿 표시를 편집합니다.
  3. 다음 코드 행을 교체하십시오.

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

    이 스니펫을 사용하여 다음을 수행합니다.

    <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>

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

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

스트라이프

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

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 사용에 대한 개발자 비용을 청구할 수 있는 다양한 방법에 대해 설명합니다.

설치 비용
서비스에 대한 서브스크립션 시 1회 청구가 적용되며, 다른 플랜으로 전환 시 청구되지 않습니다. 서브스크립션 첫 달에만 송장/신용 카드로 표시됩니다. 애플리케이션 계획, 서비스 계획 및 계정 계획에서 구성할 수 있습니다.
월당 비용
는 매달 청구되는 반복 비용입니다. 서브스크립션이 매월 중반에 수행되면 검증됩니다. 때로는 이를 "고정 비용"이라고 합니다. 애플리케이션 계획, 서비스 계획 및 계정 계획에서 구성할 수 있습니다.
가변 비용
애플리케이션 계획에 구성된 각 방법/지표에 적용되는 가격 결정 규칙에서 파생된 비용은 무엇입니까. 이는 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.

25.1. 가격 정책

가격 규칙은 각 API 요청의 비용을 정의합니다. 동일한 메트릭의 여러 가격 규칙은 가격 규칙이 적용되는 경우 범위를 나눕니다. 가격 규칙은 월별로 기준으로 하며, 카운터는 매월 1일 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.

예시 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.

예시 3

Calls from 1 to 100 are charged at $0.30, 100 to 500 – at $0.40, and 500 and further – at $0.50.

참고

가격 결정 규칙은 지표 및 메서드에 대해 정의됩니다. 실제 API 요청은 매핑 규칙을 통해 이러한 지표 및 메서드에 매핑됩니다.

25.2. 가격 정책 설정

  1. [your_API_service] > 애플리케이션 > 애플리케이션 계획으로 이동하십시오.
  2. 기존 애플리케이션 계획을 선택하거나 새 애플리케이션 계획을 생성합니다.
  3. 섹션의 Metrics, Methods, Limits & Pricing Rules(제한 및 가격 규칙)에서 Pricing (x)(가격(x))을 클릭하여 가격결정 섹션을 엽니다.
  4. 새 가격 규칙을 클릭합니다.
  5. From, To 및 Cost per Unit 값을 설정하고 가격 결정 규칙 생성을 클릭합니다.

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

To 필드를 비워 두어 규칙을 "to infinity"로 설정합니다.

지표 비용의 경우 최대 10진수를 4로 설정합니다. 숫자를 더 많은 10진수로 추가하면 값이 10진수 4개로 반올림됩니다.

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

  1. Edit(편집)를 클릭합니다.
  2. 필요한 경우 단위당 From, To 및 Cost per Unit(단위당 비용) 필드를 조정합니다.
  3. Update 가격 규칙을 클릭합니다.

26장. 청구

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

26.1. 송장 나열

대상 > 청구 > 월별 지급(Earning by month ) 섹션에서 결제 내용의 개요를 확인할 수 있으며, 해당 달의 상태에 따라 해당 달에서 발행한 모든 송장의 합계로 계산됩니다.

합계
취소를 제외한 모든 송장
진행 중
열기, 최종화된 및 보류 중인 송장
기간
실패 및 요금 송장
결제됨
유료 송장

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

대상 > 청구 > 송장 > 송장으로 이동하여 송장 목록도 볼 수 있습니다. 여기에서 해당 ID(소유한 ID), 계정 이름 및 월별 및 상태별로 필터링할 수도 있습니다.

특정 개발자 계정의 송장도 대상 > Accounts > Listing > [selected account] 에서 계정 세부 정보 페이지의 이동 경로 X 송장에 있습니다. 여기서 X는 해당 계정의 송장 수입니다.

26.2. 송장 보기

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

26.2.1. 송장 세부 정보

제목에는 송장 월과 연도가 포함되며, 수동 또는 자동 청구 프로세스를 통해 송장을 만들었는지 또는 2018년 2월의 송장과 같은 자동 청구 프로세스를 통해 생성되었는지도 표시됩니다(수동으로 생성됨).

아래 세부 정보 블록은 송장 상태, 송장 상태, 송장 완료 및 발급 날짜, 마감 날짜 및 결제한 날짜가 표시되어 있습니다. PDF가 이미 생성된 경우 PDF 다운로드 링크도 표시됩니다.

차단을 위해 및 에서 발행한 및 발급된 는 API 프로바이더의 이름과 주소 및 개발자 계정을 적절하게 표시합니다.

아래 줄 항목이 있는 블록 아래 표시됩니다. 예를 들어 VAT/Salesitz의 계산, 총 비용, "메시지/판매소가 0%인지 표시하기 위한 텍스트"의 텍스트가 구성되면 여기에 표시됩니다.

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

26.2.2. 송장 편집

송장이 Open 또는 finalized 상태인 경우 일부 송장 세부 정보를 편집할 수 있습니다.

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

송장 라인 항목을 추가 및 삭제할 수도 있습니다(계산된 비용 제외 - 합계, VAT/영업세 합계). 새 줄 항목을 추가하려면 Add를 클릭하고 Name(이름), 수량(비용에 영향을 주지 않음)을 입력합니다.

송장 보기 하단에 있는 링크는 송장에서 작업을 트리거할 수 있습니다. 예를 들어, PDF 생성, 문제 송장 취소, PDF 재생성, 차지, 결제된 것으로 표시 등 송장 현재 상태에 따라 다양한 작업을 수행할 수 있습니다. 이러한 작업(PDF 관련 제외)은 송장 상태를 변경합니다.

26.3. 송장 상태

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

열기
송장이 생성되었지만 자동화된 계산이 아직 완료되지 않았습니다.
종료
송장에는 현재 청구 기간 모두 추가되어 있습니다.
보류
개발자에게 송장이 발행되었으며 결제 대기 중입니다.
결제되지 않음
송장이 제대로 청구되지 않았지만 자동 재시도 대기 중입니다.
결제됨
송장이 청구되었습니다.
Failed
송장이 제대로 청구되지 않아 자동 재시도가 더 이상 시도되지 않습니다.
취소
관리자가 취소했습니다.

26.4. 자동 청구 프로세스

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

청구 흐름은 선불 및 Postpaid 모드의 경우 약간 다르며, 3scale의 청구는 월별로 계산되므로 매월 첫째 날 발생하는 특별 이벤트가 있습니다.

26.4.1. 매월 1일

우편료

  • 이전 달의 Bill 변수 비용: 비용은 열려 있는 송장에 대한 줄 항목으로 포함됩니다.
  • 이전 달의 송장 완료
  • 현재 월 고정 비용: 현재 달의 새 송장을 Open 상태로 만듭니다.

선불

  • 청구 고정 비용 (현재 월)
  • Bill 변수 비용 (이전 달)

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

매일 수행되는 모든 작업은 위에 설명된 항목 외에도 매월 첫째 날에도 수행됩니다.

26.4.2. 매일

  • 청구 만료된 시험 및 새 계약은 아직 청구되지 않았습니다. 현재 달의 Open 상태의 송장이 생성됩니다.
  • 선불 전용: 열려 있는 모든 송장 완료: 상태가 최종으로 변경됩니다.
  • 문제 송장: 상태가 보류 중으로 변경됩니다.

    • 송장은 일반적으로 완료 후 2-3일 후에 발행됩니다. 송장 "Issued On" 날짜가 현재 날짜로 설정되고 "Due On"( 송장이 청구되는 경우) 날짜가 issued On + 2일로 설정됩니다.
    • 개발자에게 송장을 발행하면 이메일 알림이 수신되고 개발자 포털에서 발행된 송장을 볼 수 있습니다.
  • 청구지 주소

    • 사용 기한이 오늘 또는 이전 버전인 경우 UnpaidPending 상태의 송장 청구됩니다.
    • 결제에 실패하면 송장 상태가 Unpaid 로 변경됩니다. 요금 청구는 3일 후에 다시 시도합니다. 3회 실패 후 송장 상태가 Failed (실패)로 변경되고 청구는 더 이상 재시도되지 않습니다.
  • 만료된 신용 카드 알림

    • 신용 카드가 곧 만료될 개발자 계정이 이메일 알림이 전송됩니다.

26.4.3. 자동 및 수동 송장

자동 청구 프로세스에서 생성된 송장에는 송장 헤더에 자동으로 생성된 (자동으로 생성) 레이블이 있습니다. 예를 들면 다음과 같습니다. 2019년 1월 송장(자동으로 생성됨).

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

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

26.4.4. 월 중 업그레이드

애플리케이션(또는 계정/서비스 서브스크립션)이 매월 중반에 업그레이드되면 월별 비용은 매월 남은 일수에 따라 누적됩니다. 애플리케이션 계획에 구성된 제한은 검증되지 않습니다.

애플리케이션이 무료에서 유료 계획으로 업그레이드되면 다음에 청구가 제출된 월 비용을 포함하여 새 송장이 생성됩니다.

애플리케이션이 유료 계획에서 더 비싼 유료 계획으로 업그레이드되면 이 동작은 다음과 같은 몇 가지 요소에 따라 달라집니다.

  • 청구 모드: 선불 또는 우편료
  • 계획 변경 시

26.4.4.1. 선불 청구

  1. 동일한 청구일(구체일 오전 8시에 시작) 신청 계획이 생성되어 이전에 송장되지 않은 경우 이전 계획의 고정 비용이 송장에 포함되고 '재출금' 줄 항목이 할인됩니다. 이전 계획에 대한 고정 비용도 송장에 추가됩니다.

    예제: 고객은 매월 첫째 날 Plan A (200$)에 등록하고 같은 날 Plan B (300$)로 업그레이드했습니다. 이 경우 하나의 송장이 생성되며 다음 행 항목이 포함됩니다.

    설명비용

    고정 요금 ('Plan A')

    200

    환불 ('계획 A')

    -200

    애플리케이션 업그레이드 ('계획 A'에서 '계획 B')

    300

    합계

    300

    고객이 다른 날짜에 등록한 경우 200의 비용은 환불됩니다.

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

    • 업그레이드 의 경우 개발자는 초기 비용에 대한 두 개의 송장과 업그레이드를 위한 다른 송장이 발행됩니다.

      예제: 고객은 매월 1일 계획 A(200$)에 등록한 후 매월 중반에 계획 B(300$)로 업그레이드했습니다. 다음 송장이 생성됩니다.

      설명비용

      고정 요금 ('Plan A')

      200

      합계

      200

      설명비용

      환불 ('계획 A')

      -100

      애플리케이션 업그레이드 ('계획 A'에서 '계획 B')

      150

      합계

      50

      두 번째 송장에서는 청구 기간 중 업그레이드가 이루어지므로 환불 비용(100$)과 새 비용(150$)이 검증됩니다.

    • 애플리케이션 다운그레이드 (더 낮은 비용으로 계획 변경)에 대한 환불은 현재 지원되지 않습니다.

26.4.4.2. 우편 청구

Postpaid billing 모드에서는 단일 송장이 발행되며 Repaidd 및 Application upgrade line 항목이 포함됩니다.

중요: 이러한 동작은 2018년 4월 20일에 다음과 같은 변경 사항으로 도입되었습니다.

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

애플리케이션 업그레이드 ('계획 A'에서 '계획 B')

50

합계

50

여기서 50$는 나머지 월 (150$ - 100$)의 신규 계획과 기존 계획의 누적 비용의 차이입니다.

2018년 4월 20일 이후에는 송장에 보다 명확하게 반영되고 총 비용은 이전과 동일하게 유지됩니다.

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

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

전 세계에 광고가 활성화 또는 비활성화될 수 있습니다. 청구 설정 구성을 참조하십시오. 그러나 개발자 계정당 청구 및 과금을 모두 활성화하거나 비활성화할 수도 있습니다. 이렇게 하려면 계정 페이지로 이동하여 다음을 위해 해당 버튼(활성화/비활성화)을 클릭합니다.

  • 월별 청구가 활성화/비활성화됨
  • 월별 청구가 활성화/비활성화됨

과금이 비활성화되고 청구가 활성화된 경우 개발자는 송장을 발행하지만 청구되지 않습니다. 이는 별도로 비용을 청구하는 경우에 유용합니다(예: 유선 송금).

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

청구가 비활성화되어 과금이 활성화된 경우 개발자는 새 송장을 발행하지 않지만 모든 미수금(보류 중실패)은 아직 청구됩니다.

여기에서 Billing Status 블록에서 신용 카드 세부 정보가 계정에 구성되어 있는지도 확인할 수 있습니다. 신용 카드 세부 정보가 구성된 경우 월 및 카드 만료 기간이 표시됩니다. 신용 카드 세부 정보가 있으면 가입 및 변경 계획 시 개발자 포털의 흐름에 영향을 줄 수 있습니다( 26.9절. “신용 카드 흐름”에서 자세한 내용 참조).

26.6. 평가판 기간으로 계획

평가판 기간(일 단위)은 지정된 기간 동안 청구를 지연하도록 결제 계획에 대해 설정할 수 있습니다.

State 열의 애플리케이션 목록([your_product_name] > Applications > Listing)에서 애플리케이션의 시험 기간 상태를 "live - trial expires in N days" 로 표시하고 Trial days left 필드에 있는 애플리케이션 세부 정보 페이지에서 확인할 수 있습니다.

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

시험 기간이 설정되면 취소하거나 확장할 수 없습니다. 다른 계획으로 업그레이드해도 시험 날짜는 재설정되지 않습니다.

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

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

무료 계획에 대해 시험 기간을 설정할 수 있지만, 기능이 유용하지 않으므로 사용하지 않는 것이 좋습니다.

26.7. VAT 속도/영업

VAT(부가 가치 부여)는 유럽 연합 내에서 판매되는 상품과 서비스에 적용되는 세금입니다. 다른 국가에서는 판매세와 같은 유사한 세금이 있습니다. 고객에게 API 서비스 사용을 청구하는 API 공급자는 종종 세금을 청구하고 기존 규정을 준수하기 위해 송장에 반영해야 하는 경우가 많습니다.

3scale 청구는 구성된 경우 송장에 자동으로 VAT를 포함할 수 있습니다.

26.7.1. VAT 요금 필드 구성

VAT 요금은 송장 총 비용에 적용되는 수(%)입니다. VAT 요금을 구성하려면 대시보드의 관리 포털에서 다음 단계를 따르십시오.

  1. 대상 > 계정 > 필드 정의로 이동합니다.
  2. 계정 섹션에서 Create(만들기 )를 클릭합니다.
  3. [new field] 드롭다운 목록에서 Select vat_rate 를 선택합니다.
  4. Label (레이블)의 값을 설정합니다.
  5. 해당 필드가 필수 인지, 개발자의 경우읽기 전용 또는 Hidden 이 필요한지 여부를 나타내도록 확인란을 구성합니다.

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

  6. 생성을 클릭합니다.

26.7.2. VAT 코드 필드 구성

VAT 코드는 VAT 신분 확인 번호입니다. VAT 코드를 구성하려면 대시보드의 관리 포털에서 다음 단계를 따르십시오.

  1. 대상 > 계정 > 필드 정의로 이동합니다.
  2. 계정 섹션에서 Create(만들기 )를 클릭합니다.
  3. [새 필드] 드롭다운 목록에서 Select vat_code 를 선택합니다.
  4. Label (레이블)의 값을 설정합니다.
  5. 해당 필드가 필수 인지, 개발자의 경우읽기 전용 또는 Hidden 이 필요한지 여부를 나타내도록 확인란을 구성합니다.
  6. 생성을 클릭합니다.

26.7.3. 계정의 VAT 값 설정

VAT 코드 및 VAT 요금 필드가 추가되면 개발자 계정 편집 양식에서 해당 값을 설정할 수 있습니다. 필드 정의의 선택된 확인란에 따라 개발자 포털의 개발자가 필드를 표시 및/또는 편집할 수도 있습니다.

VAT 코드는 임의의 문자열이 될 수 있습니다.

VAT 요금은 숫자여야 합니다. 정수 또는 십진수 중 하나가 허용됩니다(예: 21, 23.5 등) 그리고 이는 VAT로 포함될 비용의 비율을 나타냅니다.

26.7.4. 달러가 포함된 송장

0달러가 아닌 개발자 계정에 대한 송장이 생성되면 송장에는 다음 행 항목이 포함됩니다.

_Total cost (without <VAT rate>)_ +
_<VAT rate> Amount_ +
_Total cost (<VAT rate> <VAT rate value>% included)_

<VAT rate> 는 VAT 요금 필드에 설정된 Label(레이블)으로 대체되며 <VAT rate value> 는 송장이 발행되는 계정에 대해 구성된 값입니다.

VAT 코드는 VAT 코드 필드 정의의 라벨로 지정된 라벨이 있는 PDF 버전의 송장에 포함됩니다. 이 값은 개발자 계정 세부 정보에 설정된 값에 해당합니다.

필드 vat_ratevat_code 는 3scale Account Management API에서 읽고 작성할 수도 있습니다.

26.8. 개발자 포털 보기

개발자는 신용 카드 정보를 관리하고 개발자 포털에서 송장을 볼 수 있습니다.

개발자가 개발자 포털에서 청구 관련 요소를 볼 수 있도록 대상 > 개발자 포털에서 재무부서 전환 > 기능 가시성눈에 띄게 표시되어야 합니다.

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

참고

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

개발자는 개발자 포털에 하나의 신용 카드 카드만 사용할 수 있습니다.

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

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

26.9. 신용 카드 흐름

26.9.1. 유료 계획에 등록

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

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

current_account drop은 신용 카드 세부 정보가 누락되어 있지만 필요한 경우(관리 포털에서 청구가 구성된 경우에만) true반환하는 requires_credit_card_now 메서드를 노출하고, 그렇지 않으면 false 를 반환합니다.

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

{% unless current_account.requires_credit_card_now? %}
...
{%  endunless %}

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

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

개발자에게 신용 카드가 있는 경우 직접 플랜 변경 사항 변경 요청
- 유료 계획에 대한 신용 카드 요청 항목만

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

개발자가 유료 계획으로 업그레이드하기 전에 신용 카드 세부 정보를 입력해야 하는 경우 두 번째 옵션을 선택합니다. 계획 선택기 위젯에 개발자가 신용 카드 세부 정보 양식을 가리키는 "신용 카드 세부 정보를 입력할 때까지 플랜을 변경할 수 없습니다"라는 메시지가 표시됩니다.

26.10. "유효 주소" 필드

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

기본적으로, issued to 필드에 있는 Invoices에 법적 주소가 나타납니다. 그러나 개발자에게 법적 주소가 구성되어 있지 않은 경우 청구 주소만 있는 경우 송장에 후자가 사용됩니다. 이 경우 조직 이름은 주소의 일부로 간주됩니다.

기본적으로 청구 주소는 관리 포털 또는 제품 API를 통해 볼 수 없지만 다음과 같이 추가할 수 있습니다.

  1. 대상 > 계정 > 필드 정의로 이동합니다.
  2. Account (계정) 블록에서 Create(생성 )를 클릭합니다.
  3. 드롭다운 목록에서 'billing_address'를 선택하고 레이블을 추가하고 Read only 확인란을 선택한 다음 Create(만들기 )를 클릭합니다.

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

신용 카드 세부 정보 섹션의 개발자 포털에 있는 개발자가 청구 주소를 변경할 수 있습니다. 관리자는 관리 포털의 청구 주소를 변경할 수 없지만 다음 필드("추가 필드"로 ) 를 사용하여 Account Management API의 Account Management 끝점에서 이를 수행할 수 있습니다.

billing_address_name
billing_address_address1
billing_address_address2
billing_address_country
billing_address_city
billing_address_state
billing_address_zip
billing_address_phone

27장. 이메일 알림

청구와 관련된 다양한 이벤트가 API 프로바이더 및 개발자에게 이메일 알림을 트리거합니다.

27.1. 공급자 알림

3scale 계정 사용자( 청구 권한이 있는 관리자 및 구성원)는 청구 섹션 아래의 계정 설정(오른쪽 상단에 있는 기어 아이콘) > 개인 > 알림 기본 설정에서 청구와 관련된 알림에 가입하거나 구독 해지할 수 있습니다.

작업 필수: 송장 확인
청구 주기가 종료되기 전에 며칠 전에 송장을 고객에게 보내지기 전에 송장을 검토할 수 있습니다.
고객의 다운 그레이드
고객이 더 낮은 월 고정 가격으로 플랜을 변경할 때 전송됩니다.
신용 카드 만료
고객의 신용 카드가 만료될 때 전송됨.
결제 오류 (재시)
결제 실패 시 전송되어 무료 송장 및 재시도가 발생합니다.
결제 오류 (마지막)
결제 최종 재시도에 실패하면 송장 오류가 발생합니다.

참고: 3scale 계정의 모든 관리자 사용자에게는 청구에 대한 알림이 수신됩니다(해당하는 경우).

27.2. 개발자 이메일

개발자 계정으로 전송된 이메일 알림은 대상 > 메시지 > 이메일 템플릿에서 구성할 수 있습니다. 다음 이메일을 사용할 수 있습니다.

구매자에 대한 신용 카드 알림 만료
신용 카드가 곧 만료될 때 전송됩니다.
구매자에 송장 청구 성공
송장이 성공적으로 청구되면 전송됩니다.
재시도가 있는 구매자에 대한 송장 청구 실패
송장 청구가 실패하고 송장이 Failed(실패) 상태가 되면 전송되며, 이는 청구가 다시 재시도됨을 의미합니다.
재시도 없는 구매자에 대한 송장 청구 실패
송장 청구가 3일 동안 실패했습니다. 송장 상태가 Unpaid 상태로 전달되어 다시 재시도되지 않습니다.
구매자에 대한 송장 청구 예정
개발자에게 송장을 발행하면 전송됩니다.

개발자 계정의 모든 관리자 사용자에게는 위의 알림이 수신됩니다.

27.2.1. 청구 이메일 주소

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

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

28장. 청구 API

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

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

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

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

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

API 엔드포인트의 XML 응답은 대체로 쉽게 이해할 수 있으며, 송장 필드는 웹 및 PDF 표현과 동일한 정보를 나타냅니다.

응답의 몇 가지 주요 필드는 다음과 같습니다.

  • creation_type: 수동으로 생성된 송장의 경우 '수동' 또는 3scale 자동 청구 프로세스에 의해 생성된 송장의 경우 'background' 를 사용할 수 있습니다.
  • provider: API 공급자의 세부 정보(관리자 계정)는 송장의 발급 섹션에 해당합니다.
  • 구매자: 개발자 계정의 세부 정보는 송장 발행 섹션에 해당합니다.

송장에 대한 XML 표시에는 line-items 필드에 있는 Line Items(줄 항목) 목록이 포함되어 있습니다.

예상 이름, 설명, 수량 및 비용(비용) 외에 일부 줄 항목(일반적으로 자동으로 생성된 항목)의 경우 다음을 확인할 수 있습니다.

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

    • LineItem::PlanCost - 고정 계획 비용의 라인 항목
    • LineItem::VariableCost - 가변 비용에 대한 라인 항목
  • metric_id: 가변 비용 라인 항목의 경우 - 비용이 관련된 메트릭의 ID
  • contract_id: 비용이 연결된 서비스 또는 애플리케이션의 ID

V 부. 서비스 검색: OpenShift에서 3scale으로

Service Discovery는 OpenShift 클러스터에서 서비스를 가져오는 데 도움이 되는 3scale 기능입니다. OpenShift 서비스의 개인 엔드포인트는 API 백엔드가 되고 이 API 백엔드를 번들로 묶은 새 API 제품이 됩니다. 또한 OpenAPI Specification(OAS)을 기반으로 하는 서비스 사양을 API 제품의 ActiveDoc으로 가져옵니다.

29장. 서비스 검색

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

29.1. 서비스 검색 정보

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

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

  • 클러스터 API를 사용하여 검색에 적합한 주석이 있는 서비스를 쿼리합니다.
  • 클러스터 내부 엔드포인트를 사용하여 서비스에 액세스하도록 3scale을 구성합니다.
  • 3scale ActiveDocs로 API 서비스 사양을 가져옵니다.
  • OpenShift 및 Red Hat SSO(Single Sign-On) 권한 부여 흐름을 지원합니다.
  • Red Hat Fuse와 호환, Fuse 버전 7.2부터 시작.

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

  • 3scale 온프레미스의 경우 3scale API 공급자는 자체 네임스페이스 및 서비스를 보유할 수 있습니다. 검색된 서비스는 3scale 기존 및 기본 서비스와 공존할 수 있습니다.
  • Fuse 검색 가능한 서비스는 Fuse 프로덕션 네임스페이스에 배포됩니다.

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

3scale을 보유하려면 OCP(OpenShift) 클러스터에서 API 서비스를 검색하려면 OCP 서비스가 아래의 각 요소에 대한 기준을 충족해야 한다고 설명했습니다.

content-Type 헤더

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

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

OpenShift Service 오브젝트 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의 상대 기본 경로입니다. 경로가 루트인 경우 "/"에 이 주석을 생략할 수 있습니다.

      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
    • 관리 권한이 있는 OpenShift 사용자인 경우 OpenShift 콘솔에서 API 서비스의 YAML 파일을 볼 수 있습니다.

      1. Applications> Services 를 선택합니다.
      2. 서비스(예: i-task-api )를 선택하여 Details(세부 정보) 페이지를 엽니다.
      3. Actions> Edit YAML(YAML 편집) 을 선택하여 YAML 파일을 엽니다.
      4. 파일을 표시한 후 Cancel(취소 )을 선택합니다.

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

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

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

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

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

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

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

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

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

3scale 시스템 관리자로서 사용자가 OpenShift 기본 제공 OAuth 서버를 사용하여 API를 검색하도록 3scale을 개별적으로 인증하고 권한을 부여할 수 있습니다.

사전 요구 사항

  • 3scale 2.11을 OpenShift 클러스터(버전 3.11 이상)에 배포해야 합니다.
  • 3scale을 OpenShift에 배포하려면 3scale-amp-openshift-templates 를 사용해야 합니다.
  • 3scale에서 Service Discovery를 사용하려는 3scale 사용자는 OpenShift 클러스터에 액세스할 수 있어야 합니다.

절차

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

        $ 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
  2. 3scale Service Discovery 설정 파일을 엽니다.

        $ oc project <3scale-project>
        $ oc edit configmap system
  3. 다음 설정을 구성합니다.

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

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

    oc adm policy add-role-to-user view <user> -n <namespace>
  5. configmap 을 수정한 후에는 system-app 및 system- sidekiq Pod를 재배포하여 변경 사항을 적용해야 합니다.

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

    oc rollout status dc/system-app
    oc rollout status dc/system-sidekiq

추가 리소스

29.5. RH-SSO 서버를 사용하여 서비스 검색 구성(Keycloak)

시스템 관리자로서 OpenShift용 Red Hat Single Sign-On 을 사용하여 3scale을 개별적으로 인증하고 권한을 부여하도록 허용합니다.

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

사전 요구 사항

  • 3scale 2.11을 OpenShift 클러스터(버전 3.11 이상)에 배포해야 합니다.
  • 3scale을 OpenShift에 배포하려면 3scale-amp-openshift-templates 를 사용해야 합니다.
  • 3scale에서 Service Discovery를 사용하려는 3scale 사용자는 OpenShift 클러스터에 액세스할 수 있어야 합니다.

절차

  1. Red Hat OAuth 서버(Keycloak)에서 3scale의 OAuth 클라이언트를 만듭니다.

    참고

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

  2. 3scale 서비스 검색 설정을 편집합니다.

        $ oc project <3scale-project>
        $ oc edit configmap system
  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>'
  4. 사용자에게 검색 가능한 서비스가 포함된 클러스터 프로젝트를 볼 수 있는 적절한 권한이 있는지 확인합니다.

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

    oc adm policy add-role-to-user view <user> -n <namespace>
  5. configmap 을 수정한 후에는 system-app 및 system- sidekiq Pod를 재배포하여 변경 사항을 적용해야 합니다.

추가 리소스

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

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

사전 요구 사항

  • 3scale 2.11을 OpenShift 클러스터(버전 3.11 이상)에 배포해야 합니다.
  • 3scale을 OpenShift에 배포하려면 3scale-amp-openshift-templates 를 사용해야 합니다.
  • 3scale에서 Service Discovery를 사용하려는 3scale 사용자는 OpenShift 클러스터에 액세스할 수 있어야 합니다.

절차

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

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

       $ oc edit configmap system
  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
  4. 다음 옵션 중 하나로 검색 가능한 서비스를 포함하는 프로젝트를 볼 수 있는 관련 권한을 3scale deployment amp 서비스 계정에 제공합니다.

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

      oc adm policy add-cluster-role-to-user view system:serviceaccount:<3scale-project>:amp
    • OpenShift - 서비스 계정에 설명된 대로 더 제한적인 정책을 적용합니다.

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

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

사전 요구 사항

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

절차

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

  4. 네임스페이스 필드에서 API가 포함된 OpenShift 프로젝트를 지정하거나 선택합니다(예: fuse ).
  5. 이름 필드에 해당 네임스페이스 내에서 OpenShift 서비스의 이름을 입력하거나 선택합니다(예: i-task-api ).
  6. 제품 생성을 클릭합니다.
  7. 새 API 서비스를 3scale으로 비동기적으로 가져올 때까지 기다립니다. 관리 포털의 오른쪽 상단에 메시지가 표시됩니다. 서비스는 곧 가져올 예정입니다. 완료 시 알림 메시지가 발송됩니다.

추가 리소스

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

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

사전 요구 사항

절차

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

추가 리소스

29.9. 서비스 업데이트

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

사전 요구 사항

절차

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

VI 부. 멀티 테넌시

30장. 멀티 테넌시

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

30.1. 마스터 관리 포털

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

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

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

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

Master Admin Portal URL은 MASTER_NAME (기본값: 템플릿의 master ) 및 WILDCARD_DOMAIN:

<MASTER_NAME>.<WILDCARD_DOMAIN>

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

마스터 관리 포털 플래그

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

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

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

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

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

이러한 단계가 끝나면 Red Hat 3scale은 Organization/Group Name(조직/그룹 이름) 필드를 기반으로 계정에 대한 계정 하위 도메인을 생성합니다. 또한 생성한 계정의 세부 정보가 포함된 페이지를 볼 수 있습니다.

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

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

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

  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"
    • URL의 끝은 /master/api/proxy/configs 처럼 보입니다. 이는 master 가 기본 /admin/api/services.json 과 비교하여 다른 엔드포인트에 구성이 있기 때문입니다.

30.2. 계정 관리

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

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

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

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

계정 페이지에서 admin 계정 가장 또는 계정을 일시 중단하는 등의 관리 작업을 수행할 수 있습니다. 다음 계정 속성을 관리할 수도 있습니다.

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

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

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

마스터 API 섹션

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

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

user.example.com

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

  • 마스터 관리자
  • MASTER_NAME 매개변수로 정의된 마스터 관리자 포털 경로입니다.

    <MASTER_NAME>.<WILDCARD_DOMAIN>
  • 계정 관리자
  • TENANT_NAME 매개 변수로 정의된 계정 관리자 포털 경로:

    <TENANT_NAME>-admin.<WILDCARD_DOMAIN>
  • 계정의 개발자 포털 경로:

    <TENANT_NAME>.<WILDCARD_DOMAIN>
  • 프로덕션 및 스테이징 임베디드 APIcast 게이트웨이의 경로:

    <API_NAME>-<TENANT_NAME>-apicast-staging.<WILDCARD_DOMAIN>
    <API_NAME>-<TENANT_NAME>-apicast-production.<WILDCARD_DOMAIN>
    This example illustrates the output users and routes of a standard multitenant deployment of 3scale:
    ----
    --> Deploying template "3scale-project/3scale-api-management" for "amp.yml" to project project
    3scale API Management
    ---------
    3scale API Management main system
         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'
        ...
    ----

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

30.4. 테넌트 계정 삭제

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

이 절차를 통해 계정이 삭제될 예정이며 15일 후에 삭제됩니다. 삭제 예정된 시간 동안 다음을 수행합니다.

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

또한 실제 삭제와 마찬가지로 테넌트 도메인(관리자 도메인 및 개발자 포털)을 사용할 수 없습니다.

사전 요구 사항

절차

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

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

즉시 적용되도록 계정을 삭제하려면 콘솔을 통해 이를 수행할 수 있습니다.

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

    oc rsh -c system-master "$(oc get pods --selector deploymentconfig=system-app -o name)"
    bundle exec rails console
  2. 다음 행을 사용하여 즉시 삭제합니다.

    tenant = Account.find(PROVIDER_ID)
    tenant.schedule_for_deletion!
    DeleteAccountHierarchyWorker.perform_later(tenant)

    각 줄이 작동하는 방식입니다.

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

30.5. 테넌트 계정 재시작

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

계정을 다시 시작한 후 다음을 수행합니다.

  • 이전 애플리케이션이 모두 존재합니다.
  • 모든 기록 통계는 그대로 유지됩니다.
  • 유효한 모든 토큰이 다시 유효합니다.
  • 앱 인증이 다시 시작됩니다.

사전 요구 사항

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

절차

  1. 계정 목록을 보려면 Accounts (계정)로 이동합니다.
  2. 삭제할 계정을 클릭합니다.
  3. 계정 세부 사항에서 Resume (재성)을 클릭합니다.
  4. OK(확인 )를 클릭하여 계정을 다시 시작하도록 확인합니다.

VII 부. 분석

31장. API 액세스를 관리하고 최적화하는 3scale API 분석 구현

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

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

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

사전 요구 사항

  • 시작 지침을 완료했습니다.

    Getting Started 가이드를 사용하면 기존 3scale 코드 플러그인 중 하나를 사용하여 통합을 수행합니다.

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

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

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

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

API 제품과 관련된 더 많은 지표를 추적할 수 있습니다. 3scale은 시간이 지남에 따라 늘릴 수 있는 수량을 계산할 수 있는 한 임의 개수의 메트릭과 방법을 추적할 수 있습니다.

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

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

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

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

사전 요구 사항

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

절차

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

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

  2. 지표에서 시스템 이름 메서드를 사용하여 특정 API 메서드에 대한 트래픽을 보고합니다.

    이렇게 하면 보고된 메서드와 Hits 지표에 대한 카운터가 자동으로 증가합니다.

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

다른 엔드포인트에 대한 자세한 내용은 계정 설정 > 통합 → 3scale API 문서 의 관리 포털에서 3scale API 문서를 참조하십시오.

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

백엔드로 구성된 지정된 API의 트래픽 데이터를 볼 수 있습니다. Traffic(트래픽) 페이지는 엔드포인트에 대한 조회를 표시합니다.

사전 요구 사항

절차

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

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

31.4. API 메트릭 캡처를 위한 플러그인 구성을 확인하기 위한 테스트 요청 전송

API 및 3scale 간 연결을 설정하여 API 제품에 트래픽을 보내고 API Analytics 대시보드에서 등록하는 것을 확인할 수 있습니다.

사전 요구 사항

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

절차

  1. 대상 > Applications > Listing 으로 이동하여 기존 애플리케이션 목록을 확인합니다.
  2. 해당 이름을 클릭하여 애플리케이션을 선택합니다.
  3. 선택한 애플리케이션의 API 자격 증명을 찾습니다. 자격 증명은 선택한 인증 유형에 따라 달라지며 사용자 키(API 키), 애플리케이션 ID 및 애플리케이션 키 또는 클라이언트 ID 및 클라이언트 비밀일 수 있습니다.

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

    그림 31.1. API 인증 정보

    API 인증 정보
  4. 이러한 키를 사용하여 일반적인 방식으로 API에 대한 호출을 수행합니다. 예를 들어 명령줄에서 cURL 을 사용하거나 GET 메서드를 사용하여 API 엔드포인트의 브라우저에서 사용합니다. 정확한 호출은 API 제품의 메서드 구조에 따라 다릅니다. 이러한 호출의 트래픽은 API 제품의 Analytics 섹션에 표시됩니다.

다음 단계

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

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

31.5. 3scale API에 대한 분석이 누락되었을 때의 문제 해결 기법

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

  • 승인/보고 호출이 올바르게 응답합니까?

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

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

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

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

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

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

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

    • 제품: 관리 포털 대시보드에서 [Your_product_name] > Integration > Methods & Metrics 로 이동합니다.
    • 백엔드: 관리 포털 대시보드에서 [Your_backend_name] > 메서드 및 지표로 이동합니다.

32장. 내장된 기능 이상으로 3scale API 분석 내보내기

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

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

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

3scale은 API 대시보드에서 사용할 수 있는 기능을 지속적으로 향상시킵니다. 그러나 Red Hat의 개발 계획보다 앞서서 아직 지원되지 않는 매우 특별한 요구 사항이 있을 수 있습니다.

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

32.1. 3scale을 사용하여 애플리케이션 사용에 대한 데이터를 추출하는 예

고객이 매주 수천 명의 신규 개발자를 참여시키고 있었습니다. 3scale은 주요 프로비저닝, 등록 워크플로, 이메일 커뮤니케이션과 같은 자동화된 요구 사항을 제공하므로 온보딩의 일부 측면을 해결할 수 있습니다. 그러나 3scale을 사용할 수 없는 것이 있었지만 매우 중요한 것이 있었습니다.

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

예제: 고객 요구 사항

이들은 지난 10일 동안 무료 평가판 계획을 위해 얼마나 많은 신규 개발자들이 가입했는지 확인하고 다양한 방법을 분할하고자 합니다.

첫째, 얼마나 많은 개발자가 등록했지만 API를 사용한 적이 없는지 알고자 했습니다.

둘째, API를 사용한 개발자를 두 그룹으로 분할하고자 했습니다.

  • 이 애플리케이션을 일정 기간 동안 사용한 개발자는(10일 중 처음 절반으로 표시) API 사용을 중지했습니다. 이러한 개발자들은 시험해 보었지만 비활성 상태가 되었습니다.
  • API를 일관되게 사용하던 개발자. 이러한 고객들은 백분율 성장(또는 감소)을 알고자 합니다.

이 정보는 3scale 기본 제공 분석에서 확인할 수 있습니다. 문제는 통합되는 것을 보여주는 보기가 없다는 것이며, 이는 전체 경험을 매우 번거롭게 만드는 것입니다.

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

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

DIY 분석

스크립트에서 분석을 추출할 모든 애플리케이션을 가져오는 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
  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
  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
  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
  5. 모든 것을 함께 사용하여 스크립트를 완료합니다. 3scale의 기본 제공 분석에서 아직 사용할 수 없는 정보를 가져오는 스크립트가 있습니다. 전체 스크립트를 gist로 가져올 수도 있습니다.

33장. 애플리케이션에 대한 3scale 기본 제공 트래픽 분석 보기

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

전제 조건

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

절차

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

    대상 > 계정 > 목록 또는 대상 > 애플리케이션 탭 아래의 목록에서 애플리케이션을 찾을 수 있습니다. 또는 찾기 애플리케이션 튜토리얼에 설명된 단계를 수행하여 애플리케이션을 검색할 수 있습니다.

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

    애플리케이션 표시

    표 33.1. 이미지에 표시된 항목은 다음 정보에 해당합니다.

    숫자애플리케이션 정보

    1

    개발자가 제공한 애플리케이션의 이름

    2

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

    3

    애플리케이션 상태 - 작동 중입니까 또는 일시 중단됩니까?

    4

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

    5

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

    6

    애플리케이션이 적용되는 애플리케이션 계획 및 요금 제한에 대한 정보입니다.

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

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

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

절차

  • Docker 또는 OpenShift 배포를 사용하는 APIcast 게이트웨이를 시작할 때 APICAST_RESPONSE_CODES 환경 변수를 1 또는 true 로 설정합니다. 이렇게 하면 응답 코드 추적이 가능합니다.

예제

활성화된 경우 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"

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

검증

통합을 확인하려면 유효한 3scale 자격 증명을 사용하여 API 제품에 대한 호출을 수행한 다음 분석 > 사용 페이지에서 호출이 올바르게 보고되었는지 확인합니다.

참고
  • 응답 코드 추적은 모든 응답의 정확한 수를 나타내는 것은 아닙니다.
  • 이 뷰의 값은 기간 동안 추세를 시각적으로 표시하는 것입니다.
  • 응답 코드 추적 및 3scale 인증 캐싱 모드: 지원되지 않는 조합은 없습니다.
사용 화면

모든 것이 제대로 진행되면 Analytics >Response 코드 페이지로 이동합니다. 응답이 2xx, 4xx 또는 5x인지 여부에 따라 최신 트래픽이 색상으로 구분된 그래프를 볼 수 있습니다.

응답 코드 화면

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

법적 공지

Copyright © 2023 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.