JP2015130073A - 権限管理サーバー及び権限管理方法 - Google Patents

権限管理サーバー及び権限管理方法 Download PDF

Info

Publication number
JP2015130073A
JP2015130073A JP2014001241A JP2014001241A JP2015130073A JP 2015130073 A JP2015130073 A JP 2015130073A JP 2014001241 A JP2014001241 A JP 2014001241A JP 2014001241 A JP2014001241 A JP 2014001241A JP 2015130073 A JP2015130073 A JP 2015130073A
Authority
JP
Japan
Prior art keywords
client
upper limit
resource
authorization
access
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2014001241A
Other languages
English (en)
Other versions
JP2015130073A5 (ja
JP6334920B2 (ja
Inventor
浩太郎 松田
Kotaro Matsuda
浩太郎 松田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2014001241A priority Critical patent/JP6334920B2/ja
Priority to US14/566,286 priority patent/US20150193600A1/en
Publication of JP2015130073A publication Critical patent/JP2015130073A/ja
Publication of JP2015130073A5 publication Critical patent/JP2015130073A5/ja
Application granted granted Critical
Publication of JP6334920B2 publication Critical patent/JP6334920B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/101Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities
    • G06F21/1014Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities to tokens

Abstract

【課題】アプリケーション開発者自身が配布したアプリケーションによるWebサービスAPI呼出しおよびそれによる課金を制御可能な仕組みを提供する。【解決手段】リソースへのアクセス権限を有するユーザーからクライアントにその権限を移譲することで、クライアントもそのリソースへのアクセスが可能となる。その際に、クライアントあたり且つ所定期間あたりのアクセス回数の上限を設定しておき、その上限を超えたアクセスを制限する。上限を超えるアクセスを望むクラインとに対しては、追加料金と引き換えに、所定数の引き上げを認める。【選択図】図10

Description

本発明は、リソースへのアクセス権限を管理する権限管理サーバー及び権限管理方法に関する。特に、クライアントIDごとにリソース利用回数を管理・制限する権限管理サーバー及び権限管理方法に関する。
近年、スマートフォンやタブレットコンピューターといったモバイル端末が急速に普及している。このようなモバイル端末に対して、インターネット上のアプリケーションストアなどを通じて、アプリケーション開発者が開発したアプリケーションを容易に公開・販売できる仕組みが用意されている。また、モバイル端末向けのアプリケーション開発において、モバイル端末単体では実現が困難な機能を、インターネット上のWebサービスとして提供し、Webサービス利用料金を徴収するといったインターネットサービス事業も出現してきている。特に、サーバーサイドのコード開発・サーバー運用が不要で、WebサービスAPIを利用した分だけ課金するというBaaS(Backend as a Service)というWebサービス提供形態が出てきている。
特開2004-310652号公報
前述のBaaSのようなWebサービスを利用した端末のアプリケーションを開発・運用する場合、BaaSと利用契約するのはアプリケーション開発者である。例えば、BaaSが、モバイル端末で表示できない電子文書ファイルを別の電子文書ファイルフォーマットに変換するAPIを提供していたとする。開発者は、アプリケーション内でフォーマット変換の必要なときに、BaaSのAPIを呼び出すようにアプリケーションを実装しておけばよい。一方で、エンドユーザーには、フォーマット変換はアプリケーションの一機能として見えるが、そのバックエンドで動作するBaaSについては存在を意識する必要がない。アプリケーション開発者は、アプリケーションストアなどを通じて、エンドユーザーからアプリケーション購入料金・使用料金などの収入を得ることができる。一方で、アプリケーション開発者は、配布したアプリケーションから利用された分のWebサービス利用料金をBaaSに支払う必要がある。
ここで、アプリケーション開発者にとって、BaaSに支払う料金をエンドユーザーから得られる収入以下にコントロールしたい、という課題がある。しかしながら、アプリケーションの配布数やアプリケーションからのWebサービス呼出数をあらかじめ予測するのは困難で、BaaSからの課金をあらかじめ正確に見積もるのは難しい。その例として、以下の3つのケースが挙げられる。ケース1:アプリケーション配布数が急増して、API呼出しが急増する。ケース2:一部のヘビーユーザーの端末から大量にAPIが呼び出されて、API呼出し回数の上限に達してしまう。これにより、他のユーザーからのAPI呼出しができなくなる、あるいは、BaaSから開発者に想定以上の料金請求が来てしまう、などのケースが有り得る。ケース3:配布したアプリケーションが使われなくなって、エンドユーザーからアプリケーション開発者へのアプリケーション課金収入が減少する。この場合は、BaaSに支払う料金も抑制する必要があるが、段階的従量課金の料金メニューのような場合、下位のメニューに切り替えるなどの判断・手間・タイムラグなどが発生する。
従来、BaaS事業者の利用規約などでは、契約した料金プランの利用上限を超えた場合、契約者に警告が通知されて、上位プランへの切替を要求される、といったサービス運用が一般的である。しかしながら、前述したように、配布したアプリケーションがどれだけWebサービスを利用するかは予測困難である。そのため、前述の各ケースのような事が発生すると、開発者にとってはアプリケーション販売・課金の機会損失、エンドユーザーにとってはアプリケーションの機能が使用できない等の迷惑・影響が発生する。
特許文献1によれば、ウェブサーバにおいて、オブジェクトごとの同時アクセス数を管理・制限する先行技術が公開されている。しかしながら、この先行技術は、配布したアプリケーションによるAPI呼出しおよびそれによる課金を制御するものではない。
本発明が解決する課題は、アプリケーション開発者自身が配布したアプリケーションによるWebサービスAPI呼出しおよびそれによる課金を制御可能な仕組みを提供することである。
上記の課題を解決するため、本発明のシステムは以下のような構成を有する。
登録されたクライアントからの、リソースに対するユーザーのアクセス権限の委譲を要求する認可要求に応じて、前記認可要求を検証し、検証が成功した場合に前記クライアントに対して認可トークンを発行する発行手段と、
リソース要求が前記認可トークンとともにあった場合、前記認可トークンを検証し、検証が成功した場合に前記リソースに対するアクセスを許可する検証手段と、を有し、
前記検証手段は、前記認可トークンの正当性を検証するとともに、前記リソースに対するアクセス数が前記リソース要求を行ったクライアントに対して設定されているアクセス上限数を超えたか否かも検証し、前記認可トークンが正当であり、かつ前記リソースに対するアクセス数が前記アクセス上限数を超えない場合に、前記認可トークンの検証が成功したと判定されることを含むことを特徴とする権限管理サーバー。
本発明によれば、アプリケーションによるWebサービスAPIの呼出しなど、リソースへのアクセスの回数を、クライアントのアクセス権限を制御することで、クライアントごとに制限・制御することが可能となる。また、リソースへのアクセス回数の上限の柔軟な設定が可能となる。
本発明を実施するためのシステム構成およびネットワーク構成を示す図 情報処理機能ハードウェア構成図 本システムのソフトウェア構成説明図 テナント管理テーブル、ユーザー管理テーブルを示す図 API課金メニュー管理テーブル、テナント属性情報管理テーブルを示す図 クライアント証明書管理テーブル、クライアント管理テーブル、認可トークン管理テーブル、API呼出し回数管理テーブルを示す図 Webサービス利用登録フロー説明図 利用登録画面、API利用設定画面を示す図 クライアント登録処理フロー、認可トークン発行フロー説明図 リソース要求API処理フロー説明図 API呼出し上限数への加算処理フロー説明図 API呼出し上限数への加算選択UI、コスト回収選択UIを示す図 クライアントID削除処理フロー説明図 クライアントID自動削除処理フローチャート
以下、本発明を実施するための最良の形態について図面を用いて説明する。本実施の形態においては、Webサービスからアプリケーションに対してセキュアなAPI認可手段を提供するために、インターネット標準であるOAuth 2.0に準拠した構成とする。特に、モバイル端末向けアプリケーションに対して、個々の端末を識別し、端末ごとにアクセス制御を実施可能とするために、OAuth 2.0のClient Credentials GrantによるAPI認可手段を提供する。
<システム構成>
図1は、本発明を実施するためのリソース提供システムのシステム構成およびネットワーク構成の一例を示している。ネットワーク101は、インターネットもしくはイントラネットなどである。ネットワーク機器102はルータやスイッチなど、ネットワークどうしを接続する機器である。ファイアウォール103はネットワーク間の通信許可の制御を行う。LAN(Local Area Network)105は、コンピューター等の機器を接続する末端のネットワークであるが、有線通信のネットワークに限らず、無線LANや携帯電話通信ネットワークなどの無線通信網の場合もある。認可サーバー111は、リソースサーバー112等に対するユーザーあるいはクライアント(これらについては後述する)のアクセス権限を管理する権限管理サーバー。リソースサーバー112は、たとえばアプリケーション処理などのサービスをリソースとして提供するサービスである。クライアントコンピューター121、122は、たとえばパーソナルコンピューター、タブレットコンピューター、スマートフォンなどであり、これによりアプリケーションプログラム等を実行するとともに、リソースサーバー112にアクセスする。
図2は、認可サーバー111、リソースサーバー112、クライアントコンピューター121、122の情報処理機能のモジュール構成図を示している。ユーザーインターフェース201は、ディスプレイ、キーボード、マウス、タッチパネルなどによる情報の入出力を行う。これらのハードウェアを備えないコンピューターは、リモートデスクトップやリモートシェルなどにより、他のコンピューターから接続・操作することも可能である。ネットワークインターフェース202は、LANなどのネットワークに接続して、他のコンピューターやネットワーク機器との通信を行う。ROM204は組込済みプログラムおよびデータが記録されているROMである。RAM205はデータやプログラム等の一時メモリ領域となる。二次記憶装置206はHDDに代表されるような記憶装置であり、プログラムファイルやデータファイルを格納する。CPU203は、ROM204、RAM205、二次記憶装置206などから読み込んだプログラムを実行する。各部は入出力インターフェース207を介して接続されている。
<ソフトウェア構成>
図3は、本システムのソフトウェア構成を示している。認可サーバー111は、HTTPサーバーモジュール301、Webアプリケーション302、データベース305を備える。HTTPサーバーモジュール301は、クライアントからのWebアクセスの要求と応答の通信を管理・制御し、必要に応じて、要求をWebアプリケーション302に転送する。Webアプリケーション302は、ブラウザーにHTML等のWebドキュメントや操作画面を提供するWebUI303と、RESTに代表されるようなWebサービスAPIにより認可処理を受け付ける認可API304を備える。データベース305は、Webアプリケーション302が使用するデータを格納する。Webアプリケーション302からの要求に応じて、データベース305は各種テーブルのレコードを追加・読出・更新・削除する。
リソースサーバー112は、HTTPサーバーモジュール311、Webアプリケーション312を備える。HTTPサーバーモジュール311は、クライアントからのWebアクセスの要求と応答の通信を管理・制御し、必要に応じて、要求をWebアプリケーション312に転送する。Webアプリケーション312は、RESTに代表されるようなWebサービスAPIにより各種の処理を受け付けるAPI313を備える。API313は、リソースサーバーが提供する機能に必要な処理を実行して、クライアントからのAPI呼出し要求に対する応答を生成し、HTTPサーバーモジュール311を介してクライアントに応答を返す。なお、リソースサーバーが提供する機能としては様々なものが有り得るので、Webアプリケーション312のみでは実行できない場合は、不図示の他のアプリケーションや他のサーバーに機能の実行を依頼して、応答を得ることも可能である。
ブラウザー321は、クライアントコンピューター121にインストールされて実行可能である。ブラウザー321は、WebUI303が提供するHTML等のWebドキュメントや操作画面を受信して表示し、ユーザーによる操作結果などをWebUI303に送信する。
アプリケーション331は、クライアントコンピューター122にインストールされて実行可能である。アプリケーション331は、API313にアクセスして、リソースサーバー112が提供する各種機能を利用可能である。
ここで、図3の構成において、各モジュールがOAuth 2.0におけるどのロールに当たるかを説明する。認可サーバー111が、OAuth 2.0の"Authorization Server"ロールである。リソースサーバー112が、OAuth 2.0の"Resource Server"ロールである。アプリケーション331が、OAuth 2.0の"Client"ロールおよび"Resource Owner"ロールである。以降の説明では、各モジュールは前記のOAuthのロールとしてAPI認可フローを実行する。また、本文中あるいは図中における「クライアント」とは、OAuth 2.0の"Client"ロールとして、認可API304およびAPI313などのWebサービスAPIの要求元として動作する個々のアプリケーション331の事を指す。
<認可サーバー内のテーブル>
図4、図5、図6は、認可サーバー111内のデータベース305の各種テーブルを示している。テナント管理テーブル400は、テナントIDを管理するためのテーブルである。テナントID401はテナントIDを格納するカラムである。テナントID401は、認可サーバーおよびリソースサーバーによって提供するWebサービスが、様々な組織・個人などに利用される場合、セキュアにリソースを分離するための単位である。このようなシステムは一般にマルチテナントシステムと呼ばれる。
ユーザー管理テーブル410は、ユーザーを管理するためのテーブルである。テナントID411はユーザーが所属するテナントIDを格納するカラムである。ユーザーID412は、対応するテナントIDに属するユーザーIDを格納するカラムである。メールアドレス413はユーザーのメールアドレスを格納するカラムである。パスワード414はユーザーのパスワードを格納するカラムである。権限415はユーザーが所属するテナントにおいて付与されている権限を格納するカラムである。ここでは、権限415として、テナント内のすべてのデータに対する権限を持つテナント管理者と、制限された権限のみを持つ一般というユーザー権限があるものとする。
図5において、API課金メニュー管理テーブル500は、認可サーバー111で用意された課金メニューを管理するテーブルである。課金メニューID501は課金メニューIDを格納するカラムである。課金メニュー名502は課金メニュー名を格納するカラムである。API呼出し上限数503は、1クライアントIDあたりAPI呼出し上限数を格納するカラムである。なお本実施形態では、API呼出し上限数は、予め定めた単位期間内の上限数である。API呼出しはリソースサーバー112が提供するリソースへのアクセスであるから、アクセス数の上限あるいはアクセス上限数と言い替えることもできる。単価504は課金ユニットの単価を格納するカラムである。本実施形態では、API呼出し上限数503で定義された1クライアントIDあたりAPI呼出し上限数を1回利用する権利を1課金ユニットとして換算し、利用した課金ユニット数分を課金する例を示している。しかしながら、課金形態は多様なものが有り得るので、ここでは一例を示すに留める。
テナント属性管理テーブル510は、各テナントの属性を管理するテーブルである。テナントID511はテナントIDを格納するカラムである。課金メニューID512はそのテナントが選択している課金メニューIDを格納するカラムである。初期上限数513は1クライアントIDあたりAPI呼出し上限数の初期値を格納するカラムである。加算許可514はAPI呼出し上限数への加算を許可/不許可の設定値である加算許可情報を格納するカラムである。上限加算値515は1クライアントIDあたりAPI呼出し上限数への加算数を格納するカラムである。クライアント期限516は、一定期間を超えてリソースへのアクセスを行っていないクライアントを自動削除する機能を遂行する際に参照される期限(一定期間)を格納するカラムである。
図6において、クライアント証明書管理テーブル600は、クライアント証明書を管理するためのテーブルである。クライアント証明書はユーザーによるAPI利用設定に応じて作成され、例えばユーザーからクライアントに配布されてクライアントの認証のために用いられる。シリアル番号601はクライアント証明書のシリアル番号を格納するカラムである。発行者602は証明書の発行者を格納するカラムである。主体者603は証明書の主体者を格納するカラムである。開始日時604は証明書の有効期間の開始日時を格納するカラムである。終了日時605は証明書の有効期間の終了日時を格納するカラムである。テナントマスターDN606はテナントマスターDN(Distinguished Name)を格納するカラムである。
クライアント管理テーブル610は、クライアント管理のための各種情報を収めたテーブルである。クライアントID611はクライアントIDを格納するカラムである。シークレット612はクライアントのシークレットを保存するカラムである。テナントID613はクライアントが所属するテナントIDを格納するカラムである。種別614はクライアントの種別を格納するカラムである。クライアントの種別614として、テナントの管理権限を持つマスターと制限された権限のみを持つ一般のクライアント権限がある。DN615はクライアントのテナントマスターDNを格納するカラムである。クライアント管理テーブル610によって、OAuth 2.0のClientを個別に識別して管理する。
認可トークン管理テーブル620は認可トークンを管理するためのテーブルである。認可トークンID621は各認可トークン固有のIDを格納するカラムである。クライアントID622は認可トークンの発行対象のクライアントIDを格納するカラムである。有効期限623は認可トークンの有効期限を格納するカラムである。
API呼出し管理テーブル630はAPIが呼出された回数をクライアントごとに管理するためのテーブルである。クライアントID631はクライアントIDを格納するカラムである。対象月632はAPI呼出し回数集計の対象年月を格納するカラムである。本実施形態では前述した単位期間として暦上の1月を採用し、月毎にAPI呼出し回数を集計するが、集計の期間は年や週など別の単位や期間でもよい。上限数633は、API呼出し回数の上限数の設定値を格納するカラムである。呼出し回数634は実際にクライアントからAPIが呼び出された回数を格納するカラムである。最終アクセス日時635はクライアントから最後にAPIが呼び出された最終アクセス日時を格納するカラムである。
<ユーザーの利用登録手順>
図7、図8を用いて、認可サーバー111、リソースサーバー112によって提供するWebサービスに利用登録するための処理フローを説明する。利用登録するユーザーは、アプリケーション331の開発者を主たるユーザーとする。
ユーザーは、ブラウザー321を使用し、所定のURIを指定してHTTPサーバーモジュール301へと利用登録画面の取得要求を送信すると、それをHTTPサーバーモジュール301経由で受信したWebUI303が提供する利用登録画面800を取得して、表示する(S701, S702, S703)。利用登録画面800は、利用者の情報や料金メニューを入力するための入力画面である。なお、ブラウザー321とWebUI303との間の要求/応答の交換はHTTPサーバーモジュール301経由となるが、以下の説明ではこの点は省略する。利用者情報801はユーザーのメールアドレスやパスワードを入力する利用者情報入力フィールドである。料金メニュー802は料金メニューの選択フィールドである。メニューの各項目には課金メニューIDが関連付けられており、選択された項目に応じて課金メニューIDが特定される。WebUI303は、利用登録画面取得要求に応じて、API課金メニュー管理テーブル500を読み出して、料金メニュー802の選択肢を提供する。登録ボタン803は利用登録要求を送信するボタンである。ユーザーが利用者情報801にユーザーを識別するための情報を入力して、料金メニューを802で選択して、登録ボタン803を押下すると、ブラウザー321は、利用者の例えばメールアドレスやパスワードなどの識別情報と、選択された課金メニューIDとを含む利用登録要求をWebUI303に送信する(S704)。WebUI303は、利用登録要求に応じて、まずテナント管理テーブル400にテナントIDを新規追加する。WebUI303は、入力された利用者情報に従って、ユーザー管理テーブル410にユーザーのレコードを追加し、権限415にはテナント管理者の権限を付与する。これにより、このユーザーは作成されたテナントの設定値などを変更することができる。WebUI303は、作成されたテナントIDをテナント属性管理テーブル510のテナントID511に、料金メニュー802で選択された課金メニューIDを課金メニューID512に追加的に格納する。WebUI303は、クライアント管理テーブル610に、種別614が「マスター」のクライアント(マスタークライアントと呼ぶ)を1つ作成する。また、作成したマスタークライアントのDN615と同一のテナントマスターDN606を持つクライアント証明書を作成し、その他の証明書情報をクライアント証明書管理テーブル600のフィールド601、602、603、604、605に格納する(S705)。これらのテナントIDをはじめとする登録処理が完了すると、ブラウザー321に登録完了を応答する(S706)。
次に、ブラウザー321は、WebUI303からAPI利用設定画面810を取得して表示する(S707, S708, S709)。初期上限数811は1クライアントIDあたりのAPI呼出し上限数(アクセス上限数)の初期値を入力するフィールド(入力欄)である。加算許可812はクライアントからのAPI呼出し上限数の加算の許可/不許可を選択するチェックボックスである。上限加算数813は1クライアントIDあたりのAPI呼出し上限数への加算数を入力するフィールドである。クライアント期限814は、クライアントがAPIを一定期間利用しない場合にそのクライアントIDを削除する設定において、その一定期間を(自動削除期限)を入力するフィールドである。
設定ボタン815はAPI利用設定の要求を送信するボタンである。ユーザーがAPI利用設定画面810にて、各設定値を入力・選択して、設定ボタン815を押下すると、ブラウザー321は設定要求をWebUI303に送信する(S710)。設定要求を受信したWebUI303は、テナント属性管理テーブル510の初期上限値513、加算許可514、上限加算値515、クライアント期限516に、API利用設定画面810にて入力された値を格納する(S711)。WebUI303は、ブラウザー321に設定完了を応答する(S712)。次に、ブラウザー321は、クライアント証明書取得要求をWebUI303に送信する(S713)。WebUI303は、作成したクライアント証明書をクライアント証明書管理テーブル600から読み出して、ブラウザー321に応答する(S714, 715)。
<クライアント登録処理>
次に、図9を用いて、クライアントの登録処理、認可トークンの発行処理のフローを説明する。アプリケーション331には、API利用設定に応じてユーザーに引き渡されたクライアント証明書が、クライアントであるアプリケーション331の開発者によって組み込まれており、そのアプリケーション331がクライアントコンピューター122にインストールされる。
アプリケーション331はHTTPサーバーモジュール301にクライアント登録要求を送信する(S901)。HTTPサーバーモジュール301は、クライアント登録要求に対して、クライアント証明書を呼出元に要求する。アプリケーション331はクライアント証明書をHTTPサーバーモジュール301に送信し、HTTPサーバーモジュール301は受信したクライアント証明書が有効であれば、クライアント登録要求を認可API304に転送する(S902, S903)。なお、クライアント証明書の認証は、たとえば、受信したクライアント証明書をクライアント証明書管理テーブル600と照合することで行い、登録されていれば有効すなわち認証成功と判定できる。また本実施形態では、アプリケーション331が認可サーバー111の正当なクライアントであることを認証するためにクライアント証明書を用いているが、Basic認証やDigest認証など他の認証方式を用いることも可能である。
認可API304は、受信したクライアント証明書から得られたシリアル番号601を用いて、クライアント証明書管理テーブル600を検索し、テナントマスターDN606を特定する。さらに、認可API304は、クライアント管理テーブル610を検索し、特定したテナントマスターDN606と同じDN615を持ち、かつ、クライアント種別614が「マスター」であるレコード(すなわちS705で登録したマスターレコード)を取得する(S904)。認可API304は、取得したマスターレコードのテナントID613を読み出す。認可API304は、クライアント管理テーブル610にレコードを追加し、UUIDに代表されるようなユニークなIDを採番してクライアントID611に格納し、前記読み出したテナントIDをテナントID613に格納する。シークレット612にも自動生成した十分な文字列長のシークレットを格納し、種別614には「一般」を格納する。認可API304は、API呼出し回数管理テーブルにレコードを追加し、前記採番されたクライアントIDをクライアントID631に格納する。また、対象年月632には現在の年月を格納し、上限数633にはテナント属性管理テーブル510に設定されている該当テナントの1クライアントあたりAPI呼出し上限数の初期値513を格納し、呼出し回数634には初期値0を格納する(S905)。認可API304は、アプリケーション331にクライアント登録要求の応答として、生成したクライアントIDとシークレットを返信する(S906)。アプリケーション331は、受信したクライアントIDとシークレットを、後で読み出し可能なように記憶領域に保存しておく(S907)。以上がアプリケーション331をクライアントとして認可サーバー111に登録する処理フローであり、認可サーバー111が発行したクライアント証明書を持つ正当なクライアントのみが認可サーバー111に登録できる。
アプリケーション331はリソースサーバー112へのアクセスに際して、認可サーバー111から認可トークンを取得し、それによりユーザーからのアクセス権限の委譲を受ける。そのためにアプリケーション331は、前述の取得したクライアントIDおよびシークレットを使用して、認可API304に認可トークン要求(あるいは認可要求とも呼ぶ)を送信する(S908)。認可API304は、受信したクライアントIDおよびシークレットと一致するクライアントIDおよびシークレットがクライアント管理テーブル610に存在することを検証し、存在するならば要求元のクライアントを認証する(S909)。認可API304は、API呼出し回数管理テーブル630を要求元のクライアントIDで検索し、当月のAPI呼出し回数634とAPI呼出し回数上限数の設定値633とを取得する(S910)。認可API304は、当月のAPI呼出し回数634がAPI呼出し回数上限数の設定値633より少ないかどうかを判定する(S911)。ステップ911の判定がYesの場合、認可トークン管理テーブル620にレコードを追加して、認可トークンを生成する(S912)。認可API304は、生成した認可トークンの認可トークンID621および有効期限623をアプリケーション331に応答する(S913)。ステップ911の判定がNoの場合、認可API304はAPI呼出し回数が上限に到達したことを通知する上限到達エラーをアプリケーション331に応答する(S914)。発行された認可トークンは、その認可トークンを利用するクライアントが、リソースサーバーのユーザーからリソース(本例ではAPI呼出しあるいはAPIを介したサービスの提供)へのアクセス権限の委譲を受けていることを示す。
クライアントID登録後、初回の認可トークン要求時は、前述のステップS910, 911のAPI呼出し回数上限到達判定は実質的には必要なく、認可トークンをアプリケーション331に発行してよい。しかしながら、認可トークンには有効期限623があるため、有効期限切れ後は、アプリケーション331はステップS908からの処理を再度実行して、別の認可トークンを再度要求する必要がある。2回目以降の認可トークン要求時に、前述のステップS910, 911のAPI呼出し回数上限到達判定をして、API呼出し回数が既に上限に到達している場合は、認可トークンは発行されない。発行された認可トークンを用いて、認可されたAPIを呼び出すのがOAuth 2.0のAPI認可フローであるので、API呼出し回数が既に上限に到達している場合は、アプリケーション331からのリソースサーバー112のAPI313への呼出しが抑止される。これにより、リソースサーバー112への通信トラフィック軽減、CPU処理の軽減などの効果を得ることができる。
<リソース要求処理>
次に図10を用いて、取得した認可トークンを使用してリソースサーバー112のAPI313を利用する処理フローを説明する。アプリケーション331は、取得した認可トークンを添付してリソース要求をAPI313に送信する(S1001)。リソース要求は、リソースデータベース112がアプリケーションにリソース(あるいはサービス)を提供するためのAPIを利用するための要求である。また要求対象のAPIは図10では、API313相当する。API313は、認可API304に、受信した認可トークンの検証要求を送信する(S1002)。認可API304は、認可トークン管理テーブル620から、受信した認可トークンの認可トークンIDを検索し、該当する認可トークンIDがあった場合、現在日時が有効期限623に以前であることを検証する。有効期限が満了していないなら、その認可トークンの発行先のクライアントID622が、クライアント管理テーブル610に存在するか判定することで該当のクライアントIDが有効であることを確認する(S1003)。認可API304は、ステップS1003の検証処理の結果、該当クライアントIDが有効であれば受信した認可トークンが有効であると判定する(S1004)。該当する認可トークンが認可トークン管理テーブルに未登録であったり、あるいは有効期限が満了していたり、あるいはクライアントIDが無効な場合、S1003の検証処理の結果、認可トークンは無効(あるいは正当ではない)と判定される。その場合、すなわちステップS1004の判定がNoの場合、認可API304は、認可トークン検証結果としてトークン無効エラーをAPI313に応答する(S1005)。API313は、アプリケーション331にリソース要求APIの応答として、トークン無効エラーを返信する(S1006)。
一方、認可トークンを検証した結果、当該認可トークンの正当性が検証された場合、認証情報の入力を要求することなくリソースに対するアクセスを許可する。そこでステップS1004の判定がYesの場合、認可API304は、API呼出し回数管理テーブル630を認可トークンの発行先のクライアントIDで検索し、当月のAPI呼出し回数634とAPI呼出し回数上限数の設定値633を取得する(S1007)。認可API304は、当月のAPI呼出し回数634がAPI呼出し回数上限数の設定値633より少ないかどうかを判定する(S1008)。ステップS1008の判定がYesの場合、API呼出し回数管理テーブル630の当月のAPI呼出し回数634に1を加算する(S1009)。認可API304は、API313に認可トークン検証結果が成功(OK)であることを応答する(S1010)。API313は、ステップS1001で受信したリソース要求の処理を実行し、応答を生成する(S1011)。API313は、リソース要求に対する応答として、ステップS1011で生成したリソース応答およびAPI呼出し成功(OK)をアプリケーション331に返信する(S1012)。ステップS1008の判定がNoの場合、認可API304はAPI313に認可トークン検証応答として、API呼出し回数が上限を超えたことを示す上限到達エラーを返信する(S1013)。API313は、アプリケーション331に、リソース要求に対する応答として、上限到達エラーを返信する(S1014)。
<上限引き上げ処理>
次に、図11、図12を用いて、API呼出し回数が上限に達してしまったときに、API呼出し上限数に加算して、上限を引き上げる処理フローを説明する。アプリケーション331は、前述のステップS914またはステップS1014で、自身のクライアントIDからのAPI呼出し回数が上限に達してしまったことの通知を受ける(S1101)。API呼出し回数の上限到達の通知を受けた場合、API呼出し上限数加算を選択するUI1200を表示する(S1102)。アプリケーション331は、UI1200にて、ユーザーが上限の加算を選択したかどうかを判定する(S1103)。ステップS1103の判定がNoの場合は処理を終了する。ステップS1103の判定がYesの場合、アプリケーション331はコスト回収処理を実施するUI1210を表示し、上限を追加するコスト回収の同意を選択させる(S1104)。このとき、UI1210に表示される回数や料金は予め決めた値でもよいが、サーバーに登録された値を用いてもよい。その場合、上限値に追加できる値はテナント属性管理テーブル510の上限加算値515に、課金メニューID512に応じた単価504はAPI課金メニュー管理テーブルに登録されている。また、上限への加算を許可するか否かを示す加算許可514もテナント属性管理テーブル510に登録されている。そこで、認可API304から上限到達エラーを送信する際に、エラーとともに、加算許可514、上限加算値515、単価504をアプリケーション331に送信してもよい。その場合、S1101の直後に加算が許可されているか判定し、許可されていなければ図11の手順を終了する。また許可されている場合には、上限加算値515と単価504とを参照して、追加する回数と料金のそれぞれをUI1210に表示する。
アプリケーション331は、ユーザーがコスト回収に同意し、アプリケーションのユーザーから、アプリケーションの開発者または提供者へのコスト回収処理に成功したかどうかを判定する(S1105)。UI1210でアプリケーションのユーザーが「同意」ボタンを押したなら、ステップS1105ではコスト回収処理に成功したと判定する。ステップS1105の判定がNoの場合、処理を終了する。ステップS1105の判定がYesの場合、アプリケーション331は、API304に対して、クライアントIDおよびシークレットを指定して、API呼出し上限数に加算する設定API(不図示)を呼び出す(S1106)。認可API304は、前述のステップS909同様、要求元のクライアントを認証する(S1107)。認可API304は、クライアント管理テーブル610から、クライアントID611が要求元のクライアントIDと一致するレコードを検索し、クライアントIDが所属するテナントIDを特定する。認可API304は、テナント属性管理テーブル510の前記テナントIDのレコードを読みだして、1クライアントIDあたりAPI呼出し上限数への加算値515を取得する。認可API304は、API呼出し回数管理テーブル630内の631が要求元のクライアントIDで、かつ対象年月632が現在の年月のレコードに対し、API呼出し上限数の設定値633に、前述の取得した加算値515を加算する(S1108)。これにより、API呼出し上限数の設定値633には、新しい上限数が設定される。認可API304は、API呼出し上限数に加算する設定APIに対する応答として、アプリケーション331に成功(OK)を返す。なお、S1108の冒頭において、まず該当するクライアントの属するテナントの、テナント属性管理テーブル510に登録された加算許可514を参照し、不許可であればkさん失敗の応答をアプリケーションに応答してもよい。
以上の手順により、APIの使用回数、換言すればリソースへのアクセス回数が予め定めた上限値に達した際に、その上限値を引き上げることが可能となる。上記手順では加算許可情報が参照されているが、上限値の引き上げを無条件に許可するように構成してもよい。この場合には図8の加算許可情報の入力欄812は必要ない。
<クライアントID削除処理>
次に、図13を用いて、不必要になったクライアントIDを削除する処理フローを説明する。この処理は、アプリケーション331のユーザーが、API313を呼び出すことによって実現しているアプリケーション331内の機能が不要になったときなど、その機能を無効化する場合に使用可能である。または、アプリケーション331のユーザーが、アプリケーションの開発者または提供者からの課金を解約した場合に、該当クライアントのWebサービスAPI利用料金を削減するために使用可能である。例えば、ユーザーがアプリケーションの開発者または提供者からの課金を解約した場合、無料アプリケーションとして一部の機能のみは使用継続可能だが、一部の有料機能は使用不可とする、といったケースで有用である。
アプリケーション331において、アプリケーションの開発者または提供者からアプリケーションのユーザーに対する課金の解約処理を実行する(S1301)。アプリケーション331は、前記解約処理が成功したかどうかを判定する(S1302)。ステップS1302の判定がNoの場合、処理を終了する。ステップS1302の判定がYesの場合、アプリケーション331は、認可API304に対して、クライアントID・シークレット指定で、クライアントID削除APIを呼び出す(S1303)。認可API304は、前述のステップS909同様、要求元のクライアントを認証する(S1304)。認可API304は、クライアント管理テーブル610から、要求元のクライアントIDがクライアントID611に一致するレコードを削除する(S1305)。認可API304は、クライアントID削除APIの応答として、成功(OK)をアプリケーション331に返信する(S1306)。これにより、不必要となったクライアントIDをアプリケーション331から削除可能で、翌月からのWebサービスAPI利用料金を適切に減らすことができる。
次に、図14を用いて、一定期間呼出しがないクライアントIDを自動削除する処理フローを説明する。この処理は、図13に記載したようなクライアントIDの削除手順を踏まずに、ユーザーがアプリケーションを使用しなくなった、あるいは、アプリケーションがアンインストールされてしまった、などのケースにおいて有効である。クライアントIDが登録されたままになっていると、WebサービスAPI呼出しが無いのにもかかわらず、アプリケーション開発者にはWebサービスAPI利用料金が継続して請求され続けることになる。WebサービスAPI呼出しが無くなったクライアントIDを自動削除することによって、WebサービスAPI利用料金を適切に減らすことが可能となる。結果として、アプリケーション開発者は、使われなくなったアプリケーション331の分は、余計なコストを払う必要がなくなる。
データベース305に対して、不図示のプログラムあるいはストアドプロシージャなどを用いて、定期的にバッチ処理を実行し、次のような手順で一定期間呼出しがないクライアントIDを自動削除する。図14の手順は周期的に(一定期間ごとに)実行される。特にクライアント期限516の単位を周期として実行するのが望ましい。本例ではクライアント期限516が日数を単位としているので1日周期で実行するのが望ましい。まず、クライアント管理テーブル610から、種別614が一般であるクライアントID611およびテナントID613を取得する(S1401)。前記取得したクライアントIDで、API呼出し回数管理テーブル630を検索し、該当クライアントIDの最終アクセス日時635のうち、最新の日時を取得する(S1402)。現在日時から前記取得した該当クライアントIDの最終アクセス日時を引いた日数が、テナント属性管理テーブル510の該当テナントIDに対するクライアント期限515より大きいかを判定する(S1403)。ステップS1403の判定がNoの場合、処理を終了する。ステップS1403の判定がYesの場合、該当クライアントIDをクライアント管理テーブル610から削除する(S1404)。これにより、一定期間アクセスがないクライアントIDを自動削除可能で、翌月からのWebサービスAPI利用料金を適切に減らすことができる。
以上説明したように、認可サーバー111は、リソースサーバー112のAPI313へのAPI利用要求に対して、OAuth 2.0の認可フローに準拠したAPI認可を提供する。特に、クライアントコンピューター122のアプリケーション331ごとに、クライアントIDを払い出す事が可能で、クライアントIDごとにリソースサーバー112のAPI313へのAPI呼出し回数を管理・制限することが可能である。また、OAuth 2.0の認可フローで必須の処理である認可トークン発行時、および、認可トークン検証時に、要求元クライアントIDごとにAPI呼出し回数の上限到達の検証が可能である。これにより、認可サーバー111に保存されたテナントごとのテナント属性管理テーブル510およびAPI利用画面810等を用いて、アプリケーション開発者自身が、配布したアプリケーション331からのAPI呼出し回数を制御可能となり、冒頭で述べた課題を解決する効果を得ている。
なお本実施形態ではAPIの呼出し回数の上限値との比較を、認可トークンの発行を要求する場合と、認可トークンを用いてその検証を受ける場合との2つの場合に行っている。これにより、使用できない認可トークンの発行を抑制できる。しかし、単に使用回数の制限を行う目的であれば、認可トークンの発行を要求する場合の比較は行わなくともよい。
また、図13、図14で説明したクライアントIDの削除は、本実施形態における認可トークンの発行や検証とは独立して実施できる。
[その他の実施形態]
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。

Claims (13)

  1. 登録されたクライアントからの、リソースに対するユーザーのアクセス権限の委譲を要求する認可要求に応じて、前記認可要求を検証し、検証が成功した場合に前記クライアントに対して認可トークンを発行する発行手段と、
    リソース要求が前記認可トークンとともにあった場合、前記認可トークンを検証し、検証が成功した場合に前記リソースに対するアクセスを許可する検証手段と、を有し、
    前記検証手段は、前記認可トークンの正当性を検証するとともに、前記リソースに対するアクセス数が前記リソース要求を行ったクライアントに対して設定されているアクセス上限数を超えたか否かも検証し、前記認可トークンが正当であり、かつ前記リソースに対するアクセス数が前記アクセス上限数を超えない場合に、前記認可トークンの検証が成功したと判定されることを含むことを特徴とする権限管理サーバー。
  2. 前記検証手段における検証の処理の他に、前記発行手段が前記認可要求を検証する際にも、前記発行手段が前記リソースに対するアクセス数が前記リソース要求を行ったクライアントに対して設定されているアクセス上限数を超えたか否かを検証し、前記発行手段は、前記認可要求が正当であり、かつ前記リソースに対するアクセス数が前記アクセス上限数を超えない場合に、前記認可トークンを発行することを特徴とする請求項1に記載の権限管理サーバー。
  3. 前記アクセス上限数は、単位期間あたりのアクセス上限数であることを特徴とする請求項1又は2に記載の権限管理サーバー。
  4. クライアントあたりの前記アクセス上限数を入力するための入力画面を端末に表示させて、前記入力画面に対して入力された値を前記アクセス上限数として設定する設定手段を更に有することを特徴とする請求項1乃至3のいずれか一項に記載の権限管理サーバー。
  5. 前記入力画面にはさらに、前記アクセス上限数に加算できる上限加算値を入力するための入力欄が含まれ、前記設定手段は、前記入力画面において入力された値を設定し、
    前記リソースに対するアクセス数が前記アクセス上限数に到達したクライアントについては、前記クライアントからの要求に応じて、前記アクセス上限数に前記上限加算値を加算することを特徴とする請求項4に記載の権限管理サーバー。
  6. 前記入力画面にはさらに、前記アクセス上限数の引き上げを認めるか否かを示す加算許可情報を入力するための入力欄が含まれ、前記設定手段は、前記入力画面において入力された値を設定し、
    前記リソースに対するアクセス数が前記アクセス上限数に到達したクライアントについては、前記加算許可情報により前記アクセス上限数の引き上げが認められている場合には、前記クライアントからの要求に応じて、前記アクセス上限数に前記上限加算値を加算することを特徴とする請求項5に記載の権限管理サーバー。
  7. 前記発行手段は、前記登録されたクライアントからの認可要求に応じて認可トークンを発行し、
    前記入力画面にはさらに、クライアント期限の入力欄が含まれ、前記設定手段は、前記入力画面において入力された値を設定し、
    前記権限管理サーバーはさらに、前記登録されたクライアントのうち、リソースにアクセスしていない期間が前記クライアント期限を超えたクライアントを削除する手段を更に有することを特徴とする請求項4乃至6のいずれか一項に記載の権限管理サーバー。
  8. 前記クライアントからの要求に応じて、前記登録されたクライアントを削除する削除手段をさらに有することを特徴とする請求項1乃至6のいずれか一項に記載の権限管理サーバー。
  9. 前記クライアント期限は、端末に表示された入力画面から入力され、設定されることを特徴とする請求項7又は8に記載の権限管理サーバー。
  10. 前記認可トークンを検証した結果、当該認可トークンが正当であると検証された場合、認証情報の入力を要求することなくリソースに対するアクセスを許可することを特徴とする請求項1乃至9のいずれか一項に記載の権限管理サーバー。
  11. 請求項1乃至10のいずれか一項に記載の権限管理サーバーと、
    前記権限管理サーバーに接続された端末と、
    前記端末からリソース要求が前記認可トークンとともにあった場合には、前記認可トークンの検証を前記権限管理サーバーに要求し、前記権限管理サーバーから、前記認可トークンを認める応答があった場合には、前記端末から要求されたリソースを提供するリソースサーバーと
    を有することを特徴とするリソース提供システム。
  12. 請求項1乃至10のいずれか一項に記載の権限管理サーバーとしてコンピューターを機能させるためのプログラム。
  13. 登録されたクライアントからの、リソースに対するユーザーのアクセス権限の委譲を要求する認可要求に応じて、前記認可要求を検証し、検証が成功した場合に前記クライアントに対して認可トークンを発行する発行工程と、
    リソース要求が前記認可トークンとともにあった場合、前記認可トークンを検証し、検証が成功した場合に前記リソースに対するアクセスを許可する検証工程とを有し、
    前記検証工程は、前記認可トークンの正当性を検証するとともに、前記リソースに対するアクセス数が前記リソース要求を行ったクライアントに対して設定されているアクセス上限数を超えたか否かも検証し、前記認可トークンが正当であり、かつ前記リソースに対するアクセス数が前記アクセス上限数を超えない場合に、前記認可トークンの検証が成功したと判定されることを含むことを特徴とする権限管理方法。
JP2014001241A 2014-01-07 2014-01-07 権限管理サーバー及び権限管理方法 Active JP6334920B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014001241A JP6334920B2 (ja) 2014-01-07 2014-01-07 権限管理サーバー及び権限管理方法
US14/566,286 US20150193600A1 (en) 2014-01-07 2014-12-10 Rights management server and rights management method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014001241A JP6334920B2 (ja) 2014-01-07 2014-01-07 権限管理サーバー及び権限管理方法

Publications (3)

Publication Number Publication Date
JP2015130073A true JP2015130073A (ja) 2015-07-16
JP2015130073A5 JP2015130073A5 (ja) 2017-02-16
JP6334920B2 JP6334920B2 (ja) 2018-05-30

Family

ID=53495419

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014001241A Active JP6334920B2 (ja) 2014-01-07 2014-01-07 権限管理サーバー及び権限管理方法

Country Status (2)

Country Link
US (1) US20150193600A1 (ja)
JP (1) JP6334920B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017041221A (ja) * 2015-08-18 2017-02-23 株式会社リコー サービス提供システム、サービス提供方法、情報処理装置及びプログラム
US10243924B2 (en) 2015-08-18 2019-03-26 Ricoh Company, Ltd. Service providing system, service providing method, and information processing apparatus
WO2019102814A1 (ja) * 2017-11-22 2019-05-31 ソフトバンク株式会社 Api課金システム、api課金管理方法、及び、api課金プログラム

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9098335B2 (en) * 2009-12-23 2015-08-04 Citrix Systems, Inc. Systems and methods for managing spillover limits in a multi-core system
US10679151B2 (en) * 2014-04-28 2020-06-09 Altair Engineering, Inc. Unit-based licensing for third party access of digital content
JP2016085641A (ja) * 2014-10-27 2016-05-19 キヤノン株式会社 権限移譲システム、権限移譲システムにて実行される方法、およびそのプログラム
JP6489835B2 (ja) 2015-01-09 2019-03-27 キヤノン株式会社 情報処理システム、情報処理装置の制御方法、及びプログラム
CN104702677B (zh) * 2015-02-13 2017-06-23 腾讯科技(深圳)有限公司 链接处理方法、装置和系统
US9405597B1 (en) 2015-05-01 2016-08-02 Salesforce.Com, Inc. Centralized throttling service
US10685055B2 (en) 2015-09-23 2020-06-16 Altair Engineering, Inc. Hashtag-playlist content sequence management
EP3163486A1 (en) * 2015-11-02 2017-05-03 Gemalto Sa A method to grant delegate access to a service
US10044729B1 (en) * 2015-12-01 2018-08-07 Microsoft Technology Licensing, Llc Analyzing requests to an online service
WO2017149585A1 (ja) * 2016-02-29 2017-09-08 富士通株式会社 情報処理装置、情報処理システム、情報処理方法、及び情報処理プログラム
WO2017171810A1 (en) * 2016-03-31 2017-10-05 Hewlett Packard Enterprise Development Lp Multi-credential authentication
JP6729145B2 (ja) * 2016-08-03 2020-07-22 富士通株式会社 接続管理装置、接続管理方法および接続管理プログラム
US10445151B1 (en) 2016-09-14 2019-10-15 Google Llc Distributed API accounting
CN107733842A (zh) * 2016-11-08 2018-02-23 北京奥斯达兴业科技有限公司 基于云平台的鉴权方法及装置
JP6806543B2 (ja) * 2016-11-25 2021-01-06 キヤノン株式会社 権限検証システムおよびリソースサーバー、認証サーバー、権限検証方法
JP6926627B2 (ja) * 2017-04-21 2021-08-25 富士通株式会社 情報処理システム、情報処理装置、api制御方法及びプログラム
EP3791615A4 (en) * 2018-11-15 2022-02-23 Telefonaktiebolaget LM Ericsson (publ) API CALLING ENTITY AUTHORIZATION REVOCATION METHOD AND APPARATUS
US11799864B2 (en) 2019-02-07 2023-10-24 Altair Engineering, Inc. Computer systems for regulating access to electronic content using usage telemetry data
JP7088104B2 (ja) * 2019-03-27 2022-06-21 オムロン株式会社 制御システム、および制御方法
CN109977697A (zh) * 2019-04-03 2019-07-05 陕西医链区块链集团有限公司 一种区块链的数据授权方法
CN110247856B (zh) * 2019-05-24 2022-08-12 平安科技(深圳)有限公司 服务器资源释放方法和装置
US11477187B2 (en) * 2020-03-06 2022-10-18 International Business Machines Corporation API key access authorization
CN114531467B (zh) * 2020-11-04 2023-04-14 中移(苏州)软件技术有限公司 一种信息处理方法、设备和系统
CN113179243B (zh) * 2021-03-10 2022-11-18 中国人民财产保险股份有限公司 一种接口调用的鉴权方法、装置、设备及存储介质
US20230015697A1 (en) * 2021-07-13 2023-01-19 Citrix Systems, Inc. Application programming interface (api) authorization
CN116319096B (zh) * 2023-05-19 2023-09-05 浪潮通信信息系统有限公司 算力网络操作系统的访问系统、方法、装置、设备及介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004127172A (ja) * 2002-10-07 2004-04-22 Matsushita Electric Ind Co Ltd コンテンツ閲覧制限装置、コンテンツ閲覧制限方法およびコンテンツ閲覧制限プログラム
JP2005339247A (ja) * 2004-05-27 2005-12-08 Secured Communications:Kk 双方向ワンタイムid認証システム及び認証方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE504085C2 (sv) * 1995-02-01 1996-11-04 Greg Benson Sätt och system för att hantera dataobjekt i enlighet med förutbestämda villkor för användare
EP1762958A1 (en) * 1999-03-08 2007-03-14 Spyrus, Inc. Method and system for enforcing access to a computing resource using a licensing certificate
US20060008256A1 (en) * 2003-10-01 2006-01-12 Khedouri Robert K Audio visual player apparatus and system and method of content distribution using the same
US8272032B2 (en) * 2004-11-10 2012-09-18 Mlb Advanced Media, L.P. Multiple user login detection and response system
US8015067B2 (en) * 2006-02-13 2011-09-06 Google Inc. Deleted account handling for hosted services
US9027039B2 (en) * 2007-01-29 2015-05-05 Intel Corporation Methods for analyzing, limiting, and enhancing access to an internet API, web service, and data
WO2011051595A1 (fr) * 2009-10-26 2011-05-05 France Telecom Procédé et agent client pour contrôler l'utilisation d'un contenu protégé
WO2013044138A1 (en) * 2011-09-21 2013-03-28 Twilio, Inc. System and method for authorizing and connecting application developers and users
US8856517B2 (en) * 2012-11-27 2014-10-07 Oracle International Corporation Access management system using trusted partner tokens
US20150222504A1 (en) * 2014-02-03 2015-08-06 Apigee Corporation System and method for monitoring and reporting data in api processing systems

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004127172A (ja) * 2002-10-07 2004-04-22 Matsushita Electric Ind Co Ltd コンテンツ閲覧制限装置、コンテンツ閲覧制限方法およびコンテンツ閲覧制限プログラム
JP2005339247A (ja) * 2004-05-27 2005-12-08 Secured Communications:Kk 双方向ワンタイムid認証システム及び認証方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017041221A (ja) * 2015-08-18 2017-02-23 株式会社リコー サービス提供システム、サービス提供方法、情報処理装置及びプログラム
US10243924B2 (en) 2015-08-18 2019-03-26 Ricoh Company, Ltd. Service providing system, service providing method, and information processing apparatus
WO2019102814A1 (ja) * 2017-11-22 2019-05-31 ソフトバンク株式会社 Api課金システム、api課金管理方法、及び、api課金プログラム
JP2019096060A (ja) * 2017-11-22 2019-06-20 ソフトバンク株式会社 Api課金システム、api課金管理方法、及び、api課金プログラム
US11315086B2 (en) 2017-11-22 2022-04-26 Softbank Corp. API charging system, API charging management method, and API charging program

Also Published As

Publication number Publication date
JP6334920B2 (ja) 2018-05-30
US20150193600A1 (en) 2015-07-09

Similar Documents

Publication Publication Date Title
JP6334920B2 (ja) 権限管理サーバー及び権限管理方法
JP6312536B2 (ja) システム、方法、サーバーシステム、およびプログラム
US9985969B1 (en) Controlling use of computing-related resources by multiple independent parties
US9135458B1 (en) Secure file transfer systems and methods
US10726404B2 (en) Using configured application information to control use of invocable services
US20070198427A1 (en) Computer service licensing management
US9600675B2 (en) Secure file transfer systems and methods
TWI234725B (en) Data storage system
WO2013138954A1 (zh) 一种计算机账户管理系统及其实现方法
US20100262515A1 (en) Interinstitutional loan of electronic content
JP2002032216A (ja) アプリケーションのホスティング装置
JP6440571B2 (ja) SaaS間データ連携支援システムおよびSaaS間データ連携支援方法
JP6459398B2 (ja) 情報処理システム、情報処理装置、アクセス制御方法及びプログラム
TW201441946A (zh) 資訊提供方法、終端機器的控制方法以及資訊管理系統
JP6489835B2 (ja) 情報処理システム、情報処理装置の制御方法、及びプログラム
US20150334185A1 (en) Terminal device, program, data transmission/reception system, and data transmission/reception method
JP6405129B2 (ja) 会計情報処理装置、会計情報処理方法、およびプログラム
US20150081412A1 (en) E-book provision server, information processing terminal, e-book provision system, e-book transmission method, program, and recording medium
JP5685654B1 (ja) ポータルサイトシステム及びポータルサイトシステムを用いたアプリケーション、コンテンツ、サービスの利用方法
JP2019003477A (ja) 情報処理システム、制御方法及びそのプログラム
JP2022124229A (ja) 顔認証システム、顔認証方法、情報処理端末およびその制御方法
JP2017058834A (ja) 情報処理システム及び課金方法
JP2020109691A (ja) 生成装置、生成方法及び生成プログラム
US20130198021A1 (en) Passcode management for authorization of in-application purchases on a mobile device
KR101651957B1 (ko) 포털 사이트의 비용 분배·회수 시스템

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170105

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170105

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180205

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180322

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180330

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180427

R151 Written notification of patent or utility model registration

Ref document number: 6334920

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151