관리자 포털 가이드


Red Hat 3scale API Management 2.13

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

Red Hat Customer Content Services

초록

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

머리말

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

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

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

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 관리 포털용 Red Hat Single Sign On

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

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

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

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

참고

여러 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 통합으로 이동합니다.

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

    • 클라이언트
    • 클라이언트 시크릿
    • 영역 또는 사이트
  5. Create Authentication Provider를 클릭합니다.
참고

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

2.2. 3scale로 RH-SSO 사용

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

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

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

    https://<organization>-admin.3scale.net/p/login
    Copy to Clipboard Toggle word wrap
  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 7.2 설치를 참조하십시오.

2.3.2. 필수 단계

  1. 3scale 설명서의 3scale 관리 포털의 Red Hat Single Sign-On에서 RH-SSO 설정 지침에 액세스하여 따르십시오.
  2. 보안 로그온을 위해 RH-SSO 내에서 리디렉션을 위한 기반을 형성할 3scale URL을 관리자에게 제공합니다. 다음 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_0123456aaaaaaaaaa는 다음과 같은 OAuth 흐름 테스트 필드에 대한 콜백 URL 의 SSO 통합 세부 정보 페이지를 통해 확인할 수 있습니다.

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

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

참고

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

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

사용자 에게, 당사는 귀하의 팀의 구성원을 나타냅니다. 3scale 관리 포털에는 두 가지 유형의 사용자가 있습니다.

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

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

3.2. 자주 묻는 질문

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

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

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

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

3.3. 초대 수락

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

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

팀 구성원에게 제공할 수 있는 두 가지 주요 권한 유형이 있습니다.

  • 영역별: 분석, 청구 또는 개발자 관리로 제공됩니다.
  • Service: 모든 서비스 중에서 구성원에게 액세스할 수 있는 서비스를 선택합니다. 참고: 이 기능은 기업 고객만 사용할 수 있습니다.

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

  • 관리자에게 권한을 변경하면 관리 포털을 제어할 수 있는 모든 권한이 부여됩니다.
  • 멤버에 대한 권한을 변경하면 팀 멤버 가 액세스할 수 있는 영역 및 서비스를 선택할 수 있는 옵션이 제공됩니다.

    • 회원으로서 , 언급된 영역과 관련된 모든 서비스를 나열할 수 있는 영역을 선택하십시오.

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

  • 개발자 계정( developer accounts NetNamespace): 계정 관리 API에 대한 액세스 제공
  • analytics: analytics API에 대한 액세스 제공
  • 청구: 청구 API에 대한 액세스 제공
지역 및 서비스 관련 권한

4장. 알림

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

4.1. 알림 유형

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

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

4.2. 가시성

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

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

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

4.3. 이메일 알림 구독

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

  1. 계정 설정(게이션 표시줄의 아이콘) > 개인 > 알림 기본 설정으로 이동합니다.
  2. 수신하려는 알림을 선택합니다.
  3. 알림 기본 설정 업데이트를 클릭합니다.

4.4. 웹 알림

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

계정 대시보드

5장. 개인 설정

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

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

  1. 네비게이션 바에서 톱니바를 클릭합니다.
  2. 왼쪽 패널에서 개인 으로 이동합니다. 다음은 편집할 수 있는 세 가지 유형의 설정입니다.

    • 개인 정보: 이름, 이메일, 암호 등.
    • 토큰: 3scale API(배치, 계정 관리 및 분석)에 대한 인증을 위해 액세스 토큰을 생성하고 ActiveDocs(대화형 문서)를 사용하여 확인합니다. 3scale 토큰에 대해 자세히 알아보십시오.
    • 알림 기본 설정: 수신하려는 알림을 선택합니다. 참고: 엔터프라이즈 고객인 경우 멤버인 경우 영역 및 서비스에 의해 필터링됩니다. 즉, 액세스 권한이 부여된 영역 및 서비스와 관련된 알림만 구독할 수 있습니다. 여기에서 알림 기본 설정에 대한 자세한 내용은 다음을 참조하십시오.

6장. 토큰

이 튜토리얼에서는 3scale 토큰에 대한 정보, 즉 작동 방식 및 생성 방법을 설명합니다.

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

6.1. 액세스 토큰

액세스 토큰을 사용하면 API 공급자 관리자와 멤버가 3scale API(배치, 계정 관리, 분석)에 대해 인증을 수행할 수 있으며 ActiveDocs(대화형 문서)를 사용하여 확인할 수 있습니다.

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

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

6.2. 액세스 토큰 생성

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

  1. 네비게이션 바에서 톱니바를 클릭합니다.
  2. Personal > Tokens 로 이동합니다.
  3. 액세스 토큰 추가를 클릭합니다.
  4. 이름을 지정하고, 하나 이상의 범위를 선택한 다음 토큰에 대한 권한을 선택합니다.
  5. 새 토큰을 저장하려면 액세스 토큰 생성을 클릭합니다.

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

필요한 만큼의 액세스 토큰을 생성할 수 있습니다. 보안상의 이유로 토큰은 3scale에 저장되지 않습니다. 새 토큰을 생성할 때 토큰을 저장하여 3scale API에 요청하는 데 사용할 수 있도록 경고를 받습니다.

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

6.3. 액세스 토큰 사용

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

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

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

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

6.3.1. 서비스 토큰

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

관리 포털의 대시보드: 계정 설정(gear icon) > 개인 > 토큰에서 액세스할 수 있는 서비스의 서비스 토큰 을 찾을 수 있습니다.

II 부. 개발자 계정 관리

7장. 개발자 추가

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

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

7.1. 새 개발자 계정을 생성

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

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

새 개발자 계정 생성

7.2. 애플리케이션 설정

참고

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

5자에서 256자 사이의 영숫자 [0-9, a-z, A-Z], 하이픈 마이너스 (-) 만 가능합니다. 허용된 공간도 없습니다.

또한 app_idclient_id 는 최대 140자 길이를 갖습니다.

계정에 대한 앱 키를 사전 구성하려면 개발자를 대신하여 애플리케이션을 추가할 수도 있습니다.If you want to pre-configure app keys for the account, you can also add an application on behalf of the developer. 그렇지 않으면 개발자가 수행할 초기 단계 중 하나로 두십시오.

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

7.3. 개발자에게 알림

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

8장. 개발자 승인

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

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

8.1. 이메일 알림에서 승인

개발자 중 하나에 보류 중인 승인이 있는 이메일 알림을 수신하는 경우 브라우저로 항목의 URL을 복사하거나 붙여넣을 수 있으며 이를 통해 페이지로 직접 이동하여 승인을 수행할 수 있습니다.

8.2. 계정 승인

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

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

개발자 승인 계정 등록

8.3. 서비스 승인

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

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

한 번에 하나 이상의 서브스크립션을 선택하고 대량 승인을 수행할 수 있습니다.

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

8.4. 애플리케이션 승인

애플리케이션을 검색하거나 "협정" 상태에 있는 모든 애플리케이션을 필터링하려면 다음을 수행합니다.

  1. NodeNetwork &gt ; Applications > Listing ... 로 이동합니다.
  2. 드롭다운 목록에서 "pending"을 선택하고 Search 를 클릭합니다.

한 번에 하나 이상의 애플리케이션을 선택하고 대량 승인을 수행할 수 있습니다.

개발자 대규모 승인 앱

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

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

9장. 앱 계획 변경

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

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

참고

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

9.1. 계정 계획 변경

특정 계정을 검색하거나 필터링하려면 responsibility > Accounts > Listing;로 이동합니다.

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

개발자 변경 계정 계획

9.2. 서비스 계획 변경

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

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

한 번에 하나 이상의 서브스크립션을 선택하고 계획을 변경할 수 있습니다.

서비스 계획 변경

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

특정 애플리케이션을 검색하거나 필터링하려면 Gradle > Applications > Listing.로 이동합니다.

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

여러 애플리케이션에 대한 계획 변경

또 다른 시나리오는 개발자 계정의 세부 정보 페이지에서 시작하는 것입니다. 여기에서 계획을 변경할 응용 프로그램을 선택합니다.From there you select the application for which you want to change plan. 애플리케이션 세부 정보 페이지에서 계획을 변경할 수 있습니다.

애플리케이션 계획 변경

9.3.1. 더 많은 정보

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

10장. 개발자 문의

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

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

10.1. 시스템에서 관련 애플리케이션 및 계정 검색

해당 애플리케이션을 관리하는 계정과 개발자가 이미 알고 있는 경우 다음 예제와 같이 NetNamespace > Accounts > Accounts > Listing 의 계정 페이지에서 해당 계정으로 이동합니다.

계정 보기

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

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

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

메시지 전송

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

10.3. 다른 방법으로 문의

긴급 상황이며 이메일은 귀하의 목적을 위해 충분히 빠질 수 없는 경우, 가입 시 개발자가 제출한 연락처 정보를 사용할 수도 있습니다.

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

등록시 연락처 번호를 필수 필드로 만들 수 있습니다.

11장. 계획 사용자 정의

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

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

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

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

11.1. 계정 선택

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

  1. NodeNetwork &gt ; Accounts > Listing으로이동합니다.
  2. 개발자 계정 선택
계정 선택

11.2. 애플리케이션 선택

사용자 정의하려는 애플리케이션을 선택합니다.

앱 선택

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

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

계획 사용자 정의

11.3.1. 더 많은 정보

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

12장. 등록 활성화

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

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

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

이렇게 하려면 Gradle > Accounts > Settings > Usage Rules 로 이동합니다.

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

13장. 애플리케이션 검색

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

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

13.1. 필요한 정보 얻기

애플리케이션을 찾으려면 애플리케이션 이름에 속하는 계정의 이름이 필요합니다. 이 정보가 없으면 액세스 로그를 확인할 수 있습니다. 검색을 수행하려면 Applications(ECDHE > Applications &gt; Listing)로 이동합니다.

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

  • API 키 전용 인증 패턴의 경우: API 키
  • 앱 ID 및 앱 키 인증 패턴의 경우: 앱 식별자( app 키 검색)는 지원되지 않습니다.
  • OpenID Connect 인증 패턴의 경우: client_id (secret에서 검색)는 지원되지 않습니다.

13.2. 애플리케이션 검색

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

애플리케이션 부분 검색 1

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

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

애플리케이션 검색 파트 2

14장. 개발자 초대

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

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

  1. Audience > Accounts > Listing으로 이동합니다.
  2. 질문에서 계정을 선택합니다.
  3. "Invitations"를 선택한 다음 Invite user 를 클릭합니다.
개발자 초대

15장. 서비스에서 개발자 가입 취소

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

15.1. 서비스에서 단일 개발자 가입 취소

관리 포털을 통해 구독하는 서비스에서 단일 개발자의 구독을 해제합니다.Unsubscribe a single developer from a service they are subscribed to through the admin portal:

  1. 관리 포털의 대시보드에서 NetNamespace > Accounts > Listing > [select an account] > Service Subscriptions 으로 이동합니다.
  2. 개발자를 제거할 서비스에 대해 Unsubscribe 를 선택합니다.

15.2. 서비스에서 여러 개발자 가입 취소

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

참고

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

  1. 대시보드에서: NetNamespace &gt ; Accounts > Subscriptions.
  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. 개요 탭을 클릭합니다.
  3. 개요 페이지의 왼쪽 패널에서 Applications 를 클릭합니다.
  4. 목록 을 선택합니다.
  5. 애플리케이션을 클릭합니다.
  6. 애플리케이션 세부 정보가 포함된 페이지가 표시됩니다. 편집 을 클릭합니다.
  7. 애플리케이션을 삭제하려면 삭제를 클릭합니다.
  8. 확인 메시지가 표시됩니다. 확인을 클릭하여 삭제를 확인합니다.

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

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

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

18장. API 삭제

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

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

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

III 부. 액세스 제어

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

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

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

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

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

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

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

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

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

절차

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

    중요

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

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

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

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

검증 단계

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

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

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

절차

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

    중요

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

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

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

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

    • 예를 들어 단수형 이름(예: )을 사용합니다. 분석 차트에서는 단수형이 될 것입니다.
  7. 선택 사항: 설명 필드에 지표에 대한 자세한 설명을 입력합니다.
  8. Create Metric 을 클릭합니다.

검증 단계

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

19.3. 메서드 및 지표 가져오기 대안

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

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

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

참고

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

절차

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

검증 단계

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

20장. 애플리케이션 계획

애플리케이션 계획에서는 API 소비자에 허용할 수 있는 다양한 액세스 권한 집합을 정의합니다. 이는 속도 제한, 액세스 가능한 메서드 또는 리소스 및 사용 가능한 기능을 판별할 수 있습니다.

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

기본적으로 3scale 계정을 만들 때 Basic 및 NetNamespace의 두 가지 계획이 제공됩니다. 이 상태를 유지하고 편집하거나 직접 만들 수 있습니다. 필요한 만큼 계획을 세울 수 있습니다.

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

  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. 기본 계획 아래의 드롭다운 목록에서 계획을 선택합니다.

기본 애플리케이션 계획을 지정하지 않으면 새 사용자가 API에 액세스하기 위해 서명하면 기본적으로 애플리케이션이 생성되지 않습니다. 즉, 사용자가 API에 액세스할 수 없습니다.

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

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

21.1. 가격 모델 결정

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

  • 볼륨/사용. 계층을 구별하는 가장 일반적인 방법은 일반적으로 볼륨과의 상관 관계가 있기 때문에 볼륨은 일반적으로 고객과의 가치와 서비스 비용도 높기 때문입니다. 제품에 대한 호출 또는 방법 수준에서 더 세분화된 측정에 글로벌 적중 횟수를 적용할 수 있습니다. 볼륨 드라이버 는 글로벌 적중 지표 수준 또는 히트 아래의 개별 메서드에 적용됩니다. 다양한 가격 규칙을 모든 메트릭에 적용할 수 있습니다. 적중 횟수 계산은 1개월 청구 주기로 요약됩니다.
  • 기능. 계층에 따라 제품의 일부에 대한 액세스를 활성화하거나 비활성화할 수 있습니다. 이는 표준 레벨과 프리미엄 수준을 구별하는 좋은 방법입니다.
  • 리소스. 또한 고객에게 가치를 제공하는 다른 리소스에 대한 액세스 권한을 기반으로하거나 인프라의 비용을 절감할 수 있습니다(예: 소비된 기가GB의 대역폭, 사용자 수 또는 트랜잭션 값). 리소스 드라이버 는 볼륨 드라이버와 유사하지만 사용자 지정 메트릭에 적용됩니다.

가격 책정 드라이버를 선택한 후에는 레이어가 플랫 비율 서브스크립션, 변수 비율 또는 일회성 초기 요금을 기반으로 할지 여부를 결정해야 합니다. 위의 세 가지 가격 드라이버는 모두 오프 또는 월간 평면 비율 서브스크립션과 호환됩니다. 가격결정이 적중 또는 리소스 소비량에 따라 결정되는 경우 물론 가격에 대한 변수 요소가 있습니다.

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

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

새 애플리케이션 계획을 만들거나 기존 애플리케이션 편집

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

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

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

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

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

21.3. 추가 가격 계층 생성

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

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

21.4. 유료 계획 프로비저닝

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

21.5. 참고 자료

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

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

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

속도 제한이 있는 경우 이러한 제한은 개발자가 3scale 백엔드에 대한 권한 요청 호출을 수행할 때 수신하는 응답을 제어합니다.

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

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

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

22.2. 속도 제한 설정

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

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

22.3. 새로운 속도 제한을 조치로 설정

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

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

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

22.4. 더 많은 정보

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

IV 부. 청구

23장. 청구 설정 구성

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

청구 설정은 청구 및 게이트웨이 및 유료 카드 정책 로 나뉘어 있으며, 둘 다 Admin Portal에서 Gradle & gt; 청구 에서 확인할 수 있습니다.

23.1. 청구 모드(Charging & Gateway)

3scale의 청구는 이번 달을 기준으로 하며, 선불Postpaid 일 수 있습니다.

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

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

23.2. 충전 가능 (Charging & Gateway)

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

23.3. 통화(Charging & Gateway)

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

23.4. invoice footnote (Charging & Gateway)

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

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

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

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

23.6. 통행을 위한 YAML 구성

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

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

    • Braintree
    • 스트라이프

23.6.1. OpenShift의 통화 구성 변경

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

절차

  1. 새 amounts .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
    참고

    amounts .yml 구성 파일에 대한 콘텐츠 예를 보려면 기본 YAML file: 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
    Copy to Clipboard Toggle word wrap
  2. ConfigMap 항목을 system-config 볼륨의 system-config 볼륨(app|sidekiq) DeploymentConfig 에 포함합니다. 그러면 관련 컨테이너 내부에 새 콘텐츠가 마운트되고 새 구성이 활성화됩니다.

    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. Gradle &gt ; 청구 > 청구 > 게이트웨이 로 이동합니다.
  2. Currency 드롭다운 목록에서 통화 목록을 사용할 수 있는지 확인합니다.
  3. 사용할 구독을 선택합니다.Select the subscription that you want to use.

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

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

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

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

monthly (기본값)
YYY-MM- XXtekton .e. ID에는 연도, 월 및 송장 수가 포함됩니다. 예: 2018-02-00000013
yearly
YYY-XX tekton .e.e는 연도와 숫자만 포함합니다. 예: 2018-00000001

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

고객이 연중으로 청구해야 하는 경우 청구를 수동으로 처리해야 합니다. 새 송장을 작성하고 연간 비용으로 라인 항목을 추가할 수 있습니다. 연간 과금을 사용하려는 경우 애플리케이션 계획을 무료로 설정하여 송장이 생성되지 않고/또는 매달 자동으로 비용을 청구하도록 할 수도 있습니다.

23.8. 유료 카드 정책

다음 페이지에 대한 경로를 설정할 수 있습니다.

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

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

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

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

3scale은 신용카드 트랜잭션에 대해 다음 결제 게이트웨이와 통합됩니다.

  • Braintree
  • 스트라이프

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

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

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

사전 요구 사항

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

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

절차

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

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

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

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

절차로 돌아가기.

24.2.2. Stripe에서 키와 Webhook 시크릿 가져오기

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

Stripe 계정에서 보안 키 및 게시 가능 키를 가져옵니다.In your Stripe account, get the Secret Key, and the publishingable key:

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

여전히 Stripe 계정에서 Webhook Signing Secret 을 생성합니다.

  1. 개발자 > 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. 보내기 위한 이벤트에서 pay _intent.succeeded를 추가합니다.
  5. 끝점 추가를 클릭합니다.
  6. 방금 생성한 Webhook의 서명 보안을 공개하고 이 보안을 기록하려면 클릭합니다. Webhook 서명 시크릿 입니다.

절차로 돌아가기.

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

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

  1. Gradle &gt ; 청구 > 청구 > 게이트웨이 로 이동합니다.
  2. Add ging enabled 를 선택하고 저장을 클릭합니다.
  3. credit card gateway > Gateway 에서 게이트웨이로 Stripe 를 선택합니다.
  4. 24.2.2절. “Stripe에서 키와 Webhook 시크릿 가져오기” 의 Stripe 계정에서 얻은 Secret Key, publishable KeyWebhook Signing Secret 을 추가합니다.
  5. 저장을 클릭합니다.

절차로 돌아가기.

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

  1. 개발자 계정으로 3scale 개발자 포털에 로그인합니다.
  2. Settings > credit Card Details 로 들어가세요.
  3. 신용 카드 번호, 만료 날짜 및 CVC와 같은 신용 카드 세부 정보를 추가합니다.
  4. Save details 를 클릭합니다.

절차로 돌아가기.

24.2.5. 이메일 응답이 유효하지 않은 텍스트 업데이트

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

  1. 3scale 관리 포털에서 NetNamespace &gt ; 메시지 > 이메일 템플릿으로 이동합니다.
  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. Create Email Template 을 클릭합니다.

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

절차로 돌아가기.

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

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

사전 요구 사항

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

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

절차

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

Braintree에서 키 및 서명자 식별자 가져오기

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

절차로 돌아가기.

3scale 관리 포털에서 과금 구성

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

  1. Gradle &gt ; 청구 > 청구 > 게이트웨이 로 이동합니다.
  2. Addging enabled를 선택합니다.
  3. 통화를 선택합니다.

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

절차로 돌아가기.

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

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

  1. 개발자 계정으로 3scale 개발자 포털에 로그인합니다.
  2. Settings > credit Card Details 로 들어가세요.
  3. Add credit Card Details and billing Address 링크를 클릭합니다.
  4. 결제 세부 정보 추가: 이름, 성, 전화.
  5. 신용 카드 번호, 만기 날짜 및 CVC를 추가합니다.
  6. 회사, 거리 주소, 우편 번호, 도시, 주/지역 등 청구 주소 세부 정보를 추가합니다. 그런 다음 국가를 선택하십시오.
  7. Save details 를 클릭합니다.
  8. 메시지가 표시되면 구매에 대한 2 단계 인증 (2FA)을 완료합니다. 예를 들어, 은행이 SMS 2FA 옵션을 설정한 경우 이 방법을 사용하여 인증 프로세스를 완료해야 합니다.

절차로 돌아가기.

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

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

사전 요구 사항

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

절차

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

  1. 3scale 관리 포털에서 NetNamespace &gt ; 개발자 포털 > 콘텐츠로 이동합니다.
  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 공급자로서 이러한 신용 카드 게이트웨이와 관련된 일부 문제를 해결할 수 있습니다.

스트라이프

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

Braintree

  • Braintree 계정이 샌드박스 모드에 있고 문제가 발생하면 프로덕션으로 변경해야 합니다.
  • 3D Secure (3Ds)가 활성화되지 않은 3scale 개발자 포털에 저장된 카드의 경우 3scale을 Braintree와 통합하는 것이 좋습니다.

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

25장. 가격

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

설정 비용
서비스에 대한 서브스크립션 시 적용되는 일회성 비용이며 다른 계획으로 전환할 때 비용이 청구되지 않습니다. 구독의 첫 달에만 송장/credit 카드에 표시됩니다. 애플리케이션 계획, 서비스 계획 및 계정 계획에서 구성할 수 있습니다.
월당 비용
매달 반복되는 비용이 청구됩니다. 월 중순에 서브스크립션이 발생한 경우 증가됩니다. 경우에 따라 "수정된 비용"이라고 합니다. 애플리케이션 계획, 서비스 계획 및 계정 계획에서 구성할 수 있습니다.
변수 비용
애플리케이션 계획에 구성된 각 방법/메트릭에 적용된 가격 결정 규칙에서 파생된 비용입니다. 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 요청의 비용을 정의합니다. 동일한 메트릭에 대한 여러 가격 규칙은 가격 규칙이 적용되는 경우의 범위를 나눕니다. 가격 규칙은 월에 따라 결정되며 카운터는 월 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.
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. [your_API_service] > Applications > Application Plans 로 이동합니다.
  2. 기존 애플리케이션 계획을 선택하거나 새 애플리케이션을 생성합니다.
  3. 지표, 방법, 제한 및 가격 규칙에서 가격 책정 (x) 을 클릭하여 가격 섹션을 엽니다.
  4. 새 가격 규칙을 클릭합니다.
  5. 단위당 값, 대상 및 비용 값을 설정하고 가격 규칙 만들기를 클릭합니다.

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

규칙을 "대기성"으로 설정하려면 To 필드를 비워 둡니다.

최대값이 더 많은 10진수로 숫자를 추가하면 10진수가 4인 숫자로 반올림됩니다.

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

  1. 편집을 클릭합니다.
  2. From, To 및 Cost(단일 대상, 비용) 필드에 필요한 조정을 수행합니다.
  3. 업데이트 가격 규칙을 클릭합니다.

26장. 청구

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

26.1. 송장 나열

Gradle > 청구 > 월 단위 섹션에서 해당 상태에 따라 해당 매달 발행된 모든 송장 합계로 계산 및 결제에 대한 개요를 확인할 수 있습니다.

합계
취소를 제외한 모든 송장
진행 중인
열기, 완료 및 보류 중 송장
Overdue
실패 및 무료 송장
유료
유료 송장

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

또한 NetNamespace > billing > Invoices 로 이동하여 송장 목록을 볼 수도 있습니다. 여기에서 자신의 ID (friendly ID), 계정 이름, 월 및 상태로 필터링하여 송장을 찾을 수 있습니다.

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

26.2. 인보이스

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

26.2.1. 송장 세부 정보

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

아래 Details 블록은 송장의 친숙한 ID, 송장 상태, 송장이 완료되거나 발행될 때의 날짜, 그리고 마감일 및 결제 날짜를 보여줍니다. PDF가 이미 생성된 경우 PDF를 다운로드하는 링크도 표시됩니다.

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

에서 줄 항목이 있는 블록(Vervance, total cost, total cost)의 계산을 포함하여, 다음 내용이 표시됩니다. "text to show if NetNamespace/databind tax is 0%" was configured, it will also be shown in the following:

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

26.2.2. 송장 편집

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

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

또한 송장 라인 항목을 추가 및 삭제할 수도 있습니다 (비수 비용(전체, benefits/ sales세 포함)은 total tax/business tax를 사용할 수 있습니다. 새 줄 항목을 추가하려면 추가를 클릭하고 Name, quantityity(비용에 영향을 주지 않음), Description and Cost를 입력합니다.

송장 보기 하단에 있는 링크는 송장의 현재 상태에 따라 다른 작업을 트리거할 수 있습니다. 예를 들어, PDF 생성, Issue invoice Cancel invoice, Regenerate PDF, TRAge, Mark 등. 이러한 작업(pdf 관련 제외)은 송장 상태를 변경합니다.

26.3. 송장 상태

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

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

26.4. 자동 청구 프로세스

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

청구 흐름은 Prepaid 및 Postpaid 모드에 대해 약간 다르며 3scale에서 일정 월을 기준으로 하는 경우 해당 월의 첫날에 발생하는 특수 이벤트가 있습니다.

26.4.1. 매월의 첫 번째 날에

postpaid

  • 이전 달의 청구 변수 비용: 비용은 열려 있는 송장에 대한 라인 항목으로 포함되어 있습니다.
  • 이전 달의 송장을 작성했습니다.
  • 현재 달의 결제 비용: 현재 달의 Open 상태에 대한 새 송장을 만듭니다.

선불

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

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

매일 수행되는 모든 동작은 위에서 설명한 것 외에도 달의 첫날에서도 발생합니다.

26.4.2. 매일

  • bill 만료된 시험 및 새 계약에는 아직 청구되지 않았습니다. 현재 달의 오픈 상태에 있는 인보스가 생성됩니다.
  • 사전 예약만 해당: 완료됨: 열려 있는 모든 송장: Status가 accomplish d로 변경됩니다.
  • 문제 송장: 보류 중 상태로 변경됩니다.

    • 송장은 일반적으로 종료 후 2 ~ 2 일 후에 발행됩니다. 송장의 "Issued On" 날짜는 현재 날짜로 설정되고, "Due On" 날짜(배치된 송장이 청구되는 경우)가 발행 됨 + 2일로 설정됩니다.
    • 개발자에게 송장이 발행되면 이메일 알림이 전송되며 개발자 포털에서 발행된 송장을 볼 수 있습니다.
  • 청구 송장

    • 무료보류 중 상태의 송장은 Due On 날짜가 오늘 또는 이전인 경우 청구됩니다.
    • 결제에 실패한 경우 송장 상태가 Unpaid 로 변경됩니다. 3 일 후에 다시 충전 할 수 있습니다. 3개의 실패한 재시도 후 송장 상태가 Failed 로 변경되고, 충전이 더 이상 재시도되지 않습니다.
  • 만료된 신용카드에 대한 정보

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

26.4.3. 자동 및 수동 송장

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

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

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

26.4.4. 월 단위 업그레이드

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

애플리케이션을 무료로 유료 계획으로 업그레이드하는 경우 다음에 새 송장을 실행하면 누적된 월 비용을 포함하여 새 송장이 생성됩니다.

애플리케이션이 유료 계획에서 더 비용이 많이 드는 계획으로 업그레이드되면 해당 동작은 다음과 같은 여러 요인에 따라 달라집니다.

  • 모델 번호: Prepaid or Postpaid
  • 계획 변경이 이루어지면
26.4.4.1. 선불 청구
  1. 애플리케이션 계획이 동일한 청구일에 변경된 경우(UTC 기준 기준 청구일 기준) 생성 되었으므로 이전 계획에 대한 고정 비용이 송장에 포함되어 있지 않고 'Refund' 라인 항목으로 할인됩니다. 이전 계획에 대한 고정 비용도 송장에 추가됩니다.

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

    Expand
    설명비용

    고정 비용 (예: A')

    200

    환불 (Plan A')

    -200

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

    300

    합계

    300

    고객이 한 달 중 다른 날에 서명하면 200의 비용과 환불이 부과됩니다.

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

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

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

      Expand
      설명비용

      고정 비용 (예: A')

      200

      합계

      200

      Expand
      설명비용

      환불 (Plan A')

      -100

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

      150

      합계

      50

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

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

Postpaid billing mode에 하나의 송장이 발행되며, 이에는 환불애플리케이션 업그레이드 라인 항목이 포함됩니다.

중요: 이 동작은 2018년 4월 20일에 다음과 같은 변경 사항이 적용됩니다.

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

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

50

합계

50

여기서 50$는 해당 월의 나머지 부분에 대한 새로운 계획과 이전 계획의 증가된 비용의 차이입니다($ - 100$).

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

26.5. 계정당 청구/충전 활성화/비활성화

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

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

  • 월간 청구는 활성화/비활성화됨
  • 월간 과금이 활성화/비활성화됨

청구가 비활성화되고 청구가 활성화되면 개발자에게 송장이 발행되지만 청구는 발행되지 않습니다. 이는 개별적으로 요금을 처리하는 경우 유용합니다(예: 유선 전송 사용).

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

청구가 비활성화되고 청구가 활성화되어 있는 경우 개발자는 새 송장이 발행되지 않지만 적용되지 않은 모든 주문(보류 중실패)은 여전히 청구됩니다.

여기에서 청구 상태 블록에서 신용 카드 세부 정보가 계정에 구성되었는지도 확인할 수 있습니다. 신용 카드 세부 정보가 구성된 경우 월과 카드 만료 연도가 표시됩니다. 카드 정보의 존재는 개발자 포털의 등록 및 계획 변경 사항에 영향을 미칠 수 있습니다( 26.9절. “신용 카드 흐름”참조하십시오.

26.6. 평가판 기간이 있는 계획

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

State 열의 애플리케이션 목록([your_product_name] > Applications > Listing )에서 애플리케이션의 시험 기간 상태를 "live - N days"로 확인할 수 있습니다., 평가판 왼쪽 필드의 애플리케이션 세부 정보 페이지에서 확인할 수 있습니다.

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

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

시험 기간이 만료되기 전에 다음 시험 만료에 대해 알리는 개발자 계정으로 이메일 알림이 전송됩니다. 이 이메일의 템플릿은 Gradle > 메시지 > 이메일 템플릿:애플리케이션 계획의 경우 "마이퍼가 만료된 애플리케이션 시험 기간"시험 기간이 있는 서비스 계획의 경우 "마이너의 서비스 시험 기간" 으로 설정할 수 있습니다. 개발자는 현재 계획에 남아 있거나 다른 계획으로 전환하거나 구독을 취소하기로 결정하면 API 공급자에게 문의해야 합니다.

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

시험 기간은 자유 계획에 대해 기술적으로 설정 될 수 있지만 기능이 유용함을 잃고 사용하지 않는 것이 좋습니다.

26.7. VDDK율/금금금

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

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

26.7.1. benefits rate 필드 구성

benefits는 송장의 총 비용에 적용되는 숫자(분율)입니다. VDDK 비율을 구성하려면 대시보드에서 관리 포털의 다음 단계를 따르십시오.

  1. Gradle &gt ; Accounts > Fields Definitions 로 이동합니다.
  2. 계정 섹션에서 생성을 클릭합니다.
  3. [new field] 드롭다운 목록에서 vat_rate 를 선택합니다.
  4. 레이블 의 값을 설정합니다.
  5. 필드에 개발자를 위한 필수 항목 인지,읽기 전용 또는 Hidden 인지를 표시하도록 확인란을 구성합니다.

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

  6. 생성을 클릭합니다.

26.7.2. RuntimeClass 코드 필드 구성

VDDK 코드는 8.2 ID 번호입니다. dashboard에서 Admin Portal에서 다음 단계를 따릅니다.

  1. Gradle &gt ; Accounts > Fields Definitions 로 이동합니다.
  2. 계정 섹션에서 생성을 클릭합니다.
  3. [new field] 드롭다운 목록에서 vat_code 를 선택합니다.
  4. 레이블 의 값을 설정합니다.
  5. 필드에 개발자를 위한 필수 항목 인지,읽기 전용 또는 Hidden 인지를 표시하도록 확인란을 구성합니다.
  6. 생성을 클릭합니다.

26.7.3. 계정에 대해 VDDK 값 설정

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

benefits 코드는 모든 문자열이 될 수 있습니다.

VDDK 비율은 숫자여야 합니다. 임의의 정수 또는 10진수 숫자(예: 21, 23.5 등)가 수락되며 benefits로 포함될 비용의 백분율을 나타냅니다.

26.7.4. VDDK에 대한 송장

제로가 아닌 Ingester 비율이 구성된 개발자 계정에 대한 송장이 생성되면 송장에 다음 줄 항목이 포함됩니다.

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

< VAT rate >는 VDDK 속도 필드에 설정된 Label set로 교체되며 < VAT rate value >는 송장이 발행된 계정에 대해 구성된 값입니다.

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

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

26.8. 개발자 포털 보기

개발자는 자신의 결제 카드 정보를 관리하고 개발자 포털에서 해당 송장을 확인할 수 있습니다.

NetNamespace > Developer Portal의 재무 스위치 > Feature VIsibility는 개발자가 개발자 포털에서 청구 관련 요소를 볼 수 있도록 기능 개요 상태에 있어야 합니다.

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

참고

카드의 세부 정보는 3scale 데이터베이스에 저장되지 않습니다. 이러한 세부 사항은 결제 게이트웨이에 의해 관리됩니다. 카드 번호 마지막 4 자리 만, 만 만료 날짜 및 결제 게이트웨이가 제공하는 참조는 3scale 데이터베이스에 저장됩니다.

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

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

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

26.9. 신용 카드 흐름

26.9.1. 유료 플랜에 등록

개발자가 유료 플랜에 등록하면 애플리케이션 자격 증명을 볼 수 있기 전에 신용 카드 세부 정보를 입력하도록 요청됩니다. 개발자가 처음으로 개발자 포털에 로그인하면 해당 사이트의 일정한 카드 세부 정보 페이지로 리디렉션됩니다. 다른 개발자 계정 페이지에 액세스하려고 하면 만료된 카드 세부 정보 페이지로 리디렉션됩니다.

Liquid 태그를 사용하여 해당 개발자 포털 템플릿을 사용자 정의하여 credit Card Details 탭을 제외한 모든 메뉴 항목을 숨길 수 있습니다.

current_account Liquid 드롭은 requires_credit_card_now? 라는 방법을 노출합니다. 이 방법은 신뢰 카드 세부 정보가 누락되었지만 필요한 경우(관리 포털에 결제가 구성된 경우에만), 그렇지 않으면 false 를 반환합니다.

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

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

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

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

개발자의 카드가 있는 경우 변경 계획 직접 변경 사항:
- 계획 변경
- 유료 플랜 요청

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

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

26.10. "billing address" 필드

개발자가 개발자 포털의 credit Card Details에 청구 주소를 입력하면 이 주소는 "거부" 계정 주소와 별도로 저장됩니다.

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

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

  1. Gradle &gt ; Accounts > Fields Definitions 로 이동합니다.
  2. Account 블록 아래에 있는 Create 를 클릭합니다.
  3. 드롭다운 목록에서 'billing_address'를 선택하고 레이블을 추가하고 Read only 확인란을 선택한 다음 생성을 클릭합니다.

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

개발자 포털의 결제 주소는 해당 개발자의 결제 정보 섹션에서 변경할 수 있습니다. 관리자는 관리 포털에서 청구 주소를 변경할 수 없지만 다음 필드를 사용하여 계정 관리 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 및 billing 권한이 있는 멤버)는 계정 설정에서 청구 와 관련된 알림에 가입하거나 구독을 취소할 수 있습니다. (오른쪽 아이콘) > 개인 > 알림 기본 설정 섹션의 개인 > 알림 기본 설정:

필요한 작업: 송장 검토
청구 주기가 종료되기 전에 몇 일 전에 송장을 보내서 고객에게 발송되기 전에 송장을 검토할 수 있습니다.
고객 성능 저하
고객이 월간 고정 비용이 더 낮은 계획으로 변경될 때 전송됩니다.
신용 카드 만료
고객의 신용 카드가 만료될 때 전송됩니다.
결제 오류(retry)
결제가 실패하면 무료 송장이 발생하고 다시 시도합니다.
결제 오류(final)
결제의 최종 재시도에 실패할 때 전송되어 오류가 발생하게 됩니다.

참고: 3scale 계정의 모든 관리자는 청구가 구독되는 경우 청구와 관련된 알림을 수신합니다.

27.2. 개발자 이메일

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

구매자에게 비밀번호가 만료되었습니다.
신용카드가 곧 만료될 때 전송됩니다.
구매에 대한 송장이 성공적으로 입력됩니다.
송장이 성공적으로 청구될 때 전송됩니다.
재시도를 통해 구매에 대한 송장 청구 실패
송장이 완료되면 전송되고 송장이 Failed 상태입니다. 즉, 청구가 다시 청구됩니다.
다시 시도하지 않고 구매자에게 대한 송장 청구 실패
송장이 3rd 시간에 실패하고, 송장이 Unpaid 상태로 전달되었으며 다시 회수되지 않습니다.
구매자에게 향후 송장 청구
개발자를 위해 송장이 발행될 때 전송됩니다.

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

27.2.1. 청구 이메일 주소

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

이메일 템플릿은 Liquid drop {{ _support_email }} 을 사용하여 이메일 주소를 참조합니다.

28장. 청구 API

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

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

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

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

송장 ID가 매개 변수로 필요한 경우 Friendly invoice ID가 아닌 송장 ID를 참조합니다.

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

응답의 몇 가지 주목할 만한 필드:

  • creation_type: 3scale 자동 청구 프로세스에서 만든 송장 의 경우 '수동 '의 송장 값을 가질 수 있습니다.
  • Provider: API 공급자의 세부 정보(관리 계정)는 송장의 문제 섹션에 해당합니다.
  • customer: 개발자 계정의 세부 정보는 송장의 관련 섹션에 해당합니다.

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

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

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

    • lineitem ::PlanCost - 고정 계획 비용의 라인 항목
    • lineitem ::VariableCost - 변수 비용의 행 항목
  • metric_id: 변수 비용 줄 항목의 경우 - 비용이 연결된 메트릭의 ID
  • contract_id: 비용이 연결된 서비스 또는 애플리케이션의 ID

V 부. Service Discovery: OpenShift에서 3scale까지

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

29장. Service Discovery

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

29.1. Service Discovery 정보

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

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

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

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

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

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

OpenShift(OCP) 클러스터에서 API 서비스를 3scale로 검색하려면 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 레이블: (필수) Set to "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 Console에서 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. Service Discovery를 사용하도록 OpenShift 구성을 고려 사항

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

OAuth 서버를 사용하여 3scale Service Discovery를 구성하는 경우 사용자가 3scale에 로그인하면 다음과 같은 상황이 발생합니다.

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

OAuth 서버를 사용하여 Service Discovery를 구성하려면 다음 옵션이 있습니다.

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

29.4. OpenShift OAuth 서버를 사용하여 Service Discovery 구성

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

사전 요구 사항

  • 3scale 2.13을 OpenShift 클러스터에 배포해야 합니다(버전 3.11 이상).
  • OpenShift에 3scale을 배포하려면 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
    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. RH-SSO 서버(Keycloak)를 사용하여 Service Discovery 구성

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

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

사전 요구 사항

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

절차

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

    참고

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

  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. 사용자가 검색 가능한 서비스가 포함된 클러스터 프로젝트를 볼 수 있는 적절한 권한이 있는지 확인합니다.

    예를 들어 &lt ;user& gt; 프로젝트에 대한 보기 권한을 부여 하려면 다음 명령을 사용하십시오.

    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 서버 없이 Service Discovery 구성

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

사전 요구 사항

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

절차

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

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

       $ 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 서비스 계정에 관련 권한을 제공하여 다음 옵션 중 하나에 따라 검색 가능한 서비스가 포함된 프로젝트를 확인합니다.

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

절차

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

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

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

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

사전 요구 사항

절차

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

29.9. 서비스 업데이트

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

절차

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

VI 부. 멀티 테넌시

30장. 멀티 테넌시

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

30.1. 마스터 관리 포털

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

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

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

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

마스터 관리 포털 URL은 MASTER_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은 조직/그룹 이름 필드에 따라 계정의 계정 하위 도메인을 생성합니다. 또한 생성한 계정의 세부 정보가 포함된 페이지를 볼 수 있습니다.

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

마스터 관리 포털을 사용하면 THREESCALE_PORTAL_ENDPOINT 환경 변수를 구성하여 모든 테넌트에 대한 단일 게이트웨이를 만들 수 있습니다. 이는 Hosted 3scale(SaaS)의 Hosted APIcast와 유사합니다. 여기서 OpenShift 템플릿으로 배포된 기본 apicast-stagingapicast-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"
    Copy to Clipboard Toggle word wrap
    • URL의 끝은 / master /api/proxy/configs 와 같습니다. 마스터는 기본 /admin/api/services.json 과 비교하여 다른 끝점에 구성을 보유하고 있기 때문입니다.

30.2. 계정 관리

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

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

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

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

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

  • 애플리케이션
  • 사용자
  • 초대
  • Group Memberships
  • 조직/그룹 이름

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

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

마스터 API 섹션

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

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

user.example.com
Copy to Clipboard Toggle word wrap

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

  • 마스터 관리자 사용자
  • MASTER_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. 계정 목록을 보려면 Accounts 로 이동합니다.
  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. 계정 목록을 보려면 Accounts 로 이동합니다.
  2. 삭제할 계정을 클릭합니다.
  3. 계정 세부 사항에서 Resume 를 클릭합니다.
  4. 확인 을 클릭하여 계정을 다시 시작합니다.Click OK to confirm you want to resume the account.

VII 부. analytics

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

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

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

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

사전 요구 사항

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

31.1. API 사용을 캡처하는 3scale API 지표 및 방법

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

  • hits/kubelet s : API 제품에 대한 호출입니다. 조회는 기본적으로 모든 API의 메트릭으로 포함됩니다. 히트는 API 제품에 대한 전반적인 호출이거나 API 제품의 개별 메서드로 나눌 수 있습니다.
  • 데이터 전송: API 제품을 통해 업로드 및 다운로드 한 데이터의 양
  • cpu hours: API 제품 호출과 관련된 컴퓨팅 시간(또는 일부 다른 내부 리소스)
  • 결과 반환 될 레코드 또는 데이터 개체 수의 수입니다.The results of the number of records or data objects being returned.
  • Disk Storage: 계정에서 사용 중인 총 디스크 스토리지

API 제품과 관련된 더 많은 메트릭을 추적할 수 있습니다. 3scale은 시간이 지남에 따라 증가 할 수 있는 수만큼 계산 가능한 메트릭 및 방법의 임의의 수를 추적할 수 있습니다.

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

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

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

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

사전 요구 사항

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

절차

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

    필요한 지표/메서드 값 및 증가는 플러그인이 노출하는 승인 및/또는 보고서 메서드의 인수입니다.

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

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

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

다양한 끝점에 대한 자세한 내용은 계정 설정 > Integrate → 3scale API Docs 아래의 관리 포털에서 사용 가능한 3scale API 문서 를 참조하십시오.

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

백엔드로 구성된 지정된 API의 트래픽 데이터를 볼 수 있습니다. Traffic (트래픽) 페이지에 끝점의 적중이 표시됩니다.

사전 요구 사항

절차

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

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

API 제품에 트래픽을 보내고 API 분석 대시보드에 등록하는 것을 볼 수 있도록 API와 3scale 간의 연결을 설정합니다.

사전 요구 사항

  • 3scale 개발자 계정
  • API 자격 증명이 있는 3scale 애플리케이션

절차

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

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

    그림 31.1. API 인증 정보

    API 인증 정보
  4. 이러한 키를 사용하여 일반적인 방식으로 API를 호출합니다. 예를 들어, 명령 줄에서 cURL 을 사용하거나 API 엔드포인트의 경우 브라우저에서 GET 메서드를 사용합니다. 수행하는 정확한 호출은 API 제품의 방법에 따라 달라집니다. 이러한 호출의 트래픽은 API 제품의 분석 섹션에 나타납니다.

다음 단계

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

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

31.5. 3scale API에서 분석이 누락된 경우 문제 해결 기술

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

  • 인증/보고 통화가 올바르게 응답되고 있습니까?

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

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

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

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

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

  • 매핑 규칙이 메트릭에 올바르게 매핑되어 있습니까?

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

    • 제품: 관리 포털 대시보드에서 [your_product_name] > Integration > Methods & Metrics 로 이동합니다.
    • 백엔드: 관리 포털 대시보드에서 [your_backend_name] > Methods & Metrics 로 이동합니다.

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

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

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

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

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

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

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

고객은 매주 수천 명의 신규 개발자를 온보딩하고 있었습니다. 이 고객은 3scale이 주요 프로비저닝, 가입 워크플로우 및 이메일 커뮤니케이션과 같은 자동화된 요구 사항을 제공하기 때문에 온보딩의 일부 측면을 해결할 수 있습니다. 그러나 3scale과 함께 할 수 없었던 일이 매우 중요했습니다.

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

예: 고객 요구 사항

지난 10일 동안 얼마나 많은 신규 개발자가 무료 평가 플랜에 가입했는지를 알고 싶습니다.

먼저, 얼마나 많은 개발자들이 서명했지만 API를 사용하지 않았습니다.

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

  • 10일의 첫 번째 절반은 물론 API를 사용하여 중지한 다음, 일정 기간 동안 사용해본 적이 있는 개발자입니다. 이러한 개발자는 이를 제거했지만 비활성화되었습니다.
  • API를 지속적으로 사용하고 있는 개발자 이를 위해 그들은 %의 성장 (또는 거절됨)을 알고 싶습니다.

이 정보는 3scale 내장 분석에서 확인할 수 있습니다. 문제는 집계 된 것을 보여주는 관점이 없으므로 전체 경험이 매우 번거롭다는 것입니다.

32.2. 사용자 정의 프로시저에서 3scale 애플리케이션 분석 추출

애플리케이션 분석을 추출하려면 먼저 ActiveDocs 작업을 시작합니다. 3scale ActiveDocs는 계정 설정 > 통합 > 3scale API 문서 아래에 있는 관리 포털에서 사용할 수 있습니다. 3scale에는 ActiveDocs로 사용할 수 있는 모든 API가 있어 브라우저에서 시도할 수 있습니다. 이를 통해 필요에 가장 적합한 요청을 찾고 요청 (curl-like)을 가져오고 응답을 조작할 수 있습니다. 다음 그림에서는 ActiveDocs 예제를 제공합니다.The following figure provides an ActiveDocs example:

DLA 웹 로그 분석

이는 스크립트가 분석을 추출할 모든 애플리케이션을 가져오는 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로 가져올 수도 있습니다.

33장. 애플리케이션용 3scale 내장 트래픽 분석 보기

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

전제 조건

  • 3scale 개발자 계정
  • API 자격 증명이 있는 3scale 애플리케이션

절차

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

    Clevis > Accounts > Listing 또는 Gradle > Applications > Listing under the Applications 탭에서 애플리케이션을 찾을 수 있습니다. 또는 애플리케이션 검색 튜토리얼에 설명된 단계에 따라 애플리케이션을 검색할 수 있습니다.

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

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

    1

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

    2

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

    3

    애플리케이션 상태 - 현재 또는 일시 중단된 상태입니까?

    4

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

    5

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

    6

    애플리케이션이 위치한 애플리케이션 계획 정보 및 제한이 적용되는 비율입니다.

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

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를 사용하는 방법을 확인하고 서버가 예상대로 실행 중인지 실시간으로 확인하려면 응답 코드를 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로 보냅니다. 예제:

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 제품에 대한 호출을 수행한 다음 호출이 analytics > Usage 페이지에서 올바르게 보고되었는지 확인합니다.

참고
  • 응답 코드 추적은 모든 응답의 정확한 수를 나타내는 것은 아닙니다.
  • 이 뷰의 값은 기간 동안 추세를 시각적으로 표시하는 것입니다.
  • 응답 코드 추적 및 3scale 인증 캐싱 모드: 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
맨 위로 이동