2023/06/06 tripwire — 最近のテクノロジーの世界で、API について耳にしない日はない。ChatGPT の API が登場したときも、Twitter の深刻なデータ漏洩のニュースが報じられたときも、API が主役であった。しかし、どこにでもある API なのだが、多くの人々は API の機能 (限界) について疑問を抱いている。API は何のためにあるのか?APIは何をするものなのか?そして、今の時代にできないものは何なのか?

API とは何か?
API とは、Application Programming Interface のことであり、通信のために設計された、小さなソフトウェアのことである。API は、エンドユーザーと Web サイトやアプリケーションの間の、メッセンジャーとして機能する。
そう言うと、単純に聞こえるかもしれないが、API は強力で重要なツールである。API がなければ、サイト/アプリ/サービスは隔離され、その機能も制限されてしまう。API は、サイトやアプリが単独では実現できない機能を定義/実行する。
たとえば、あるレストランに入り、テーブルに座ったとする。そして、メニューを見て注文を決める。ウェイターが近づいてきて、あなたの注文と特別なリクエストがあれば、彼は情報を厨房に伝え、料理を作ってもらう。料理ができあがると、ウェイターは再びテーブルに戻り、料理を提供する。
この例では、ウェイターがあなたの API となる。API がなければ、あなたはテーブルでメニューを見つめながら、あなたの好みをシェフが知っているかどうか、そして、どんな食事が出てくるのかを、想像するだけになるだろう。
API は何をするものなのか?
この例から想像できるのは、あなたのニーズを満たすためのメッセンジャーが、API であることだ。では、現実世界の API は、どのような役割を担っているのだろうか。ここでは、API に必要な機能をいくつか挙げてみる:
ログイン
Web サイトでのアカウント作成では、新しいアカウントを作成することに代えて、Google や Facebook アカウントを利用するのが一般的になっている。つまり、その Web サイトにアクセスするときに API が活躍し、別のアカウントで認証を行うことになる。API は、2つのプラットフォームのブリッジとなり、また、あなたの身元を確認することで、新たなパスワードの作成/記憶の手間を省く。
ペイメント
個人情報のセキュリティは、多くの人にとって重要な問題であり、それらの情報には決済/財務に関するデータも含まれる。さまざまな Web サイトに、カードや支払いの詳細を入力することは危険だと、多くの人々は感じるかもしれない。実際のところ、セキュリティ侵害は後を絶たない。
PayPal API を使用すると、eコマースの買い物客は、既存の PayPal アカウントを使用して、第三者である Web サイトで取引を完了できる。この API 統合により、オンラインストアは個人的な決済情報を持たなくても、代金の受取/製品のリリース/サービスの提供などを容易に行えるようになる。
ブッキング
旅行を計画するときには、ホテル/航空券/レンタカーなどを予約する必要が生じる。そのときにも、知らず知らずのうちに、複数の API を利用していることになる。たとえば、Booking.com や Expediaなどのサードパーティ・ポータルと、航空会社/レンタカー会社/ホテルなどの間を API が接続する。
これらの API を通じて、空室状況や価格に関するリアルタイムな情報が提供される。また、API は、あなたの予約情報を各プロバイダーに送信し、あなたの詳細を確認し、座席/部屋/車の予約が他者と重複しないようにする。
マップ
お気に入りの地図アプリを開いて、道順を確認するときのインターフェイスにおいても、API は大活躍している。API は各種のデータ・プロバイダーと通信し、交通渋滞や通行止めなどの情報をリアルタイムに取得する。また、街中の特定エリア、いつもより混雑しているというアラートが表示されることがある。それも API の働きであり、GPS を有効にしている人々が、そのエリアに集まっていることを判別できるからだ。また、そのエリアの店舗に関する営業時間やレビューなどの、便利な情報を提供する役割も API は担っている。
地図 API は、Web サイトや電子メールに統合することも可能だ。企業の住所をクリックして、ブラウザやアプリで Google Maps を開いたことがある人は、それに Google Maps API を使っていることになる。
ビジネスや日常生活や支えている API について、もっと知りたいだろうか?もしそうなら、最高の API を集めたリストを参照してほしい。
API にできないことは?
API は、すべてをこなしているように見えるが、実際はどうなのだろう?たしかに、この静かなヒーローは、私たちが当たり前のように使っている多くの機能のために、たゆまぬ努力を続けているが、すべてをこなすことはできない。
API は、企業と顧客のつながりを促進することが可能であっても、そこで発生する全ての問題に対処することはできない。API は単なるメッセンジャーであり、問題を解決するものではない。API が役に立つのは、フィードバックを集めるとき、チャットボットで質問に答えるとき、顧客と提供者の間のギャップを埋めるときなどである。しかし、API は、さらなる指示がなければ、そのフィードバックの良し悪しにかかわらず、行動することはできないだろう。
まら 、API は AI ではない。API は情報収集に役立つが、それを解析したり、行動計画を立てたりすることはできない。解決策を考え、行動を起こす際には、その意思決定を行うためのビジネス・プロセスが必要になる。
API がシステムの問題を解決してくれると考えるのは、避けるべき間違いの一つである。API は、よく整備されたマシンを補完するものであり、目立った問題をカバーするためのパッチ・フィックスではない。まず、堅牢で機能的なシステムを構築し、それから API を利用してサービスを強化すべきである。
安全第一
現代社会において、タスクを実行して、ビジネスを推進するためには、API が不可欠である。しかし、企業やエンドユーザーの間で API が多用されていることを、脅威アクターたちが気づいていないわけがない。API のセキュリティ・インシデントは、増加の一途をたどっている。
最近の Salt Security レポートには、「これまでの1年の間に、自社のプロダクション API に何らかのセキュリティ上の問題が発生したと、94% が回答している。その内訳としては、脆弱性が 41% でトップあり、次いで認証の問題が 40% となっている。さらに懸念されるのは、31% が機密データの漏洩やプライバシーの問題を経験し、17% がセキュリティ侵害を経験している点だ。このようなインシデントには、多額のコストと風評被害がつきものとなる」と記されている。
セキュリティの落とし穴を避けるために、API の開発/実装は、慎重に進める必要がある。
API が活躍する場所と、メッセンジャーとして何を運ぶのかを、とても分かり易く説明してくれる記事です。文末で、最近の Salt Security のレポートが紹介されていますが、このレポートは 2023/03/29 の「API セキュリティの調査:この6ヶ月の攻撃件数が 400% も増加している!」でも参照されていました。このところ、API のセキュリティが注目されているようで、他にも、以下のような関連記事があります。よろしければ、」ご参照ください。
2023/05/23:API と Security:責任者は CISO ? それとも DevOps?
2023/05/09:API の氾濫という深刻な問題:過去のインシデントを学習
2023/04/13:Shadow API の調査:監視/監査されない脆弱な存在

You must be logged in to post a comment.