API認証

API認証が、チームによる機密データの保護、ユーザーとの信頼構築、そして企業の評判の維持にどのように役立つかをご紹介します。

鍵と生体認証アイコンを持つPostmanaut。イラスト。

API認証とは何ですか?

API認証とは、APIリクエストを送信するユーザーの身元を確認するプロセスであり、APIセキュリティにおける重要な柱です。HTTPベーシック認証、APIキー認証、JWT、OAuthなど、さまざまなAPI認証の種類があり、それぞれに特有の利点やトレードオフ、理想的な利用シーンがあります。とはいえ、すべてのAPI認証メカニズムに共通する目的は、機密データを保護し、APIの不正使用を防ぐことにあります。

ここでは、API認証の主な利点、一般的な認証手法の解説、API認証とAPI認可の違い、ベストプラクティスについて取り上げます。また、Postman APIプラットフォームが、APIの提供者・利用者の双方にとって、健全なAPI認証の実践をどのように支援するかについてもご紹介します。

API認証の利点は何ですか?

近年、ますます多くの組織が新機能の提供やビジネス目標の達成を目的として、APIに注目しています。実際、多くのチームが「APIファースト」な開発モデルを採用しており、このモデルでは、アプリケーションをAPI経由で提供されるサービスの集合として設計・構築します。このアプローチにより、チームはAPIの品質とセキュリティを重視し、攻撃者の侵入経路とならずに、高いパフォーマンスとスケーラビリティを維持できるようにします。API認証は、APIを保護するための主要な手段のひとつであり、機密データの保護、ユーザーとの信頼構築、そして企業の評判の維持を可能にします。


最も一般的なAPI認証方法は何ですか?それらはどのように機能しますか?

API認証メカニズムにはさまざまな種類があり、それぞれ動作の仕組みが異なります。以下の4つは、特に一般的な手法です。

HTTPベーシック認証

一般的なAPI認証方法を示したダイアグラム。ダイアグラム。

HTTPベーシック認証は、最も基本的なAPI認証の方法です。これは、Base64でエンコードされたユーザー名とパスワードのペアを、Authorizationヘッダーに含めて送信する方式です。ただし、この認証情報はハッシュ化も暗号化もされていないため、HTTPSと併用しない限り、安全性に欠けます。

APIキー認証

APIキー認証のダイアグラム。ダイアグラム。

APIキーは、使用状況の管理やアクセスの監視を目的として、API提供者が登録済みのユーザーに発行する一意の識別子です。APIキーはすべてのリクエストに含める必要があり、クエリ文字列、リクエストヘッダー、またはクッキーとして送信されます。HTTPベーシック認証と同様に、APIキー認証もHTTPSと併用することで安全性が確保されます。

JWT認証

JWT認証のダイアグラム。ダイアグラム。

JWT(JSON Web Token)は、ステートレスかつコンパクトなAPI認証方式です。ユーザーがアプリケーションにログインすると、APIサーバーはユーザーの身元情報を含んだ、デジタル署名および暗号化済みのJWTを生成します。クライアントは、その後のすべてのリクエストにこのJWTを含め、サーバー側でデシリアライズと検証が行われます。この方式では、ユーザーデータがサーバー側に保存されないため、スケーラビリティが向上します。

OAuth認証

OAuth認証のダイアグラム。ダイアグラム。

OAuthは、ユーザーがログイン認証情報を共有することなく、第三者に自身のアカウントへのアクセスを許可できるトークンベースの認証方式です。OAuth 2.0はOAuth 1.0よりも柔軟性とスケーラビリティに優れており、現在ではAPI認証のゴールドスタンダードとされ、ユーザーデータを危険にさらすことなく広範なAPI連携を可能にします。


API認証とAPI認可の違いは何ですか?

API認証とAPI認可は併用されることが多いですが、異なる概念です。API認証がユーザーの「身元の確認」であるのに対し、API認可はそのユーザーが「特定の操作を実行する権限を持っているかどうか」を確認するプロセスです。認可は、ユーザーの組織内での役割に基づき、あらかじめ定義されたアクセスレベルに応じて行われるのが一般的です。たとえば、ジュニアレベルの開発者は特定のエンドポイントからの読み取りしか許可されていない一方で、エンジニアリングマネージャーは、チーム内のすべてのAPIエンドポイントに対する読み取り・書き込み権限を持っている場合があります。


API認証のベストプラクティスにはどのようなものがありますか?

API認証は、アプリケーションの全体的なセキュリティ体制にとって極めて重要です。以下のベストプラクティスに従うことが不可欠です。

  • 確立された認証フレームワークを使用する: 認証はリスクの高い複雑なプロセスであるため、独自にコードを書くのではなく、既存の信頼できるフレームワークを使用しましょう。OAuth、OpenID Connect、JWTなどのプロトコルは広く検証されており、自作ソリューションよりも安全です。
  • 使用ケースに適した認証方法を選択する:認証方式を選ぶ際は、データの機密性やアプリケーション全体の要件を考慮することが重要です。たとえば、HTTPベーシック認証は実装が容易ですが、脆弱性とスケーラビリティの課題があるため、本番環境には不向きです。
  • 二要素認証を実装する:二要素認証(2FA)では、ユーザーにパスワードとトークンなど、2つの認証形式を提供することが求められます。このアプローチは追加のセキュリティ層を設け、攻撃者によるAPIのアクセスを困難にします。
  • HTTPSを使用する: HTTPベーシック認証やAPIキー認証などの一部の認証メカニズムは、認証情報を暗号化しないため安全ではありません。したがって、盗聴を防ぎ、機密データを安全に保つためにHTTPSを使用することが不可欠です。
  • ログでAPIアクセスを監視する: APIの認証ワークフローに自信があったとしても、APIへのアクセスを記録するログを監視することは重要です。こうすることで、ログイン失敗の急増や通常とは異なる場所からのログインなど、不審なアクティビティを検知しやすくなります。

PostmanはAPI認証をどのようにサポートしますか?

Postman APIプラットフォームには、APIの提供者と利用者の双方にとって健全なAPI認証の実践を支援する、さまざまな機能が備わっています。Postmanを使うことで、以下が可能になります。

  • 幅広い認証メカニズムを活用する:Postmanでは、OAuth 2.0、APIキー、JWT Bearerトークン、AWS署名など、複数の認証方式が標準サポートされています。これらの方式は、リクエスト単位、コレクション単位、フォルダ単位で設定でき、継承を促進し、整合性を高めます。
  • 認証問題に関するセキュリティ警告を受信する: Postman API Governanceは、認証データの漏洩や認証スキームの未設定といった認証関連の問題について、自動的に警告を発します。警告には推奨される修正方法も含まれているため、迅速に問題を解決できます。
  • 露出した認証トークンを自動検出する: Postman Token Scannerは、パブリックワークスペース、コレクション、環境に含まれる認証トークンをスキャンします。30以上のサービスに対するデフォルトの検出機能を備え、独自または外部アプリのトークンにも対応可能です。
  • OAuth 2.0アクセストークンを自動更新する:Postmanは、OAuth 2.0アクセストークンの有効期限が切れる前に自動で更新されるため、認可プロセスを毎回繰り返す必要がなくなり、ユーザーの時間が節約されます。
  • パブリックAPIで迅速に認証する:PostmanはOpenAINotionTwilioなどの主要なAPIに対し、 認証プロセスをガイドする機能があり、Time To First Call(初回APIコールまでにかかる時間)を大幅に短縮できます。
  • API監査ログを他のセキュリティデータと関連付ける:Postmanのダッシュボードで監査ログをモニタリングすることで、正当なユーザーのみがAPIにアクセスしていることを確認できます。これらのログはPostman APIからも取得でき、外部のSIEMツールと連携したセキュリティ分析も可能です。

Get started with Postman

APIアイコンのまわりで踊るPostmanautたち。イラスト。
POST/CON 2024 Banner

イベントレポート:APIとAI開発者のための新時代

エージェンティックAI時代において、トップ開発者たちがいかにより賢く、迅速で、セキュアなAPIを構築しているかをご覧ください。ロサンゼルスでの2日間にわたるイノベーションから生まれた洞察、戦略、プロダクト発表をお届けします。

Photo of Postman CEO Abhinav Asthana on stage at POST/CON 25