APIセキュリティを高めるためのアプローチ

すべてのアプリケーションにとってセキュリティは重要です。そして、何千ものアプリケーションを常時接続しているAPIでは特に重要です。業務がデジタル化され、ネットワークが複雑になるにつれ、APIセキュリティはIT意思決定者にとって最優先事項となりました。

実際に毎日、新しいリスクが発生・発見されており、ほとんどの企業が時間と戦いながらパッチを開発・適用しています。例えばガートナー社は、2022年にはAPIの悪用がWebアプリのデータ侵害や漏えいの最も一般的なタイプになり、企業にとって年間6億ドルのコストが発生すると予測しています。API Managerを採用することにより、一般的なリスクから保護することが可能になります(リスクを100%排除できるわけではありません)。さらにプロキシとして使用することで、悪意ある攻撃から自社のITアーキテクチャを保守してくれます。

初期のAPIのセキュリティでは、基本的な認証やユーザ名とパスワードを要求した後、ソフトウェアがAPIにイベントやデータを転送するという仕組みでした。しかし、この方法ではセキュリティリスクが非常に高くなってしまうことが大きな課題でした。

トークン認証システムであるOpen Authorization(OAuth)は、今日、最も一般的なAPIのセキュリティ対策です。OAuthでは基本的な認証とは異なり、APIクライアントがユーザ情報にアクセスすることを許可しません。代わりに、ユーザを接続先サーバ上のページに引き渡し、ユーザが資格情報を入力してはじめて、当該ユーザのアクセストークンをAPIクライアントに返します。

トークンベースで認証するメリットは、セキュリティの違反や悪用があった場合やユーザが自分のアカウントへのアクセスを遮断したい場合に、時間や理由に縛られることなくアクセスの遮断ができることです。アクセストークンを使用してアクセス許可を限定することも可能です。これにより、アプリケーションがユーザの情報やアカウントの使用範囲を制限することができます。

APIセキュリティのベストプラクティスは明確に定義されています。開発者は、APIのユーザ情報(ユーザ名とパスワード)の安全を保証することが必須となります。つまり、ユーザ情報とクライアント間に分離レイヤーを作成する必要があるということです。ログイン認証は、決してパブリックAPI経由で要求してはなりません。ユーザ情報を漏えいのリスクに晒してしまいます。