API セキュリティとは?AI システム間の接続を保護する

Turn this article into takeaways for your work.
Each assistant summarizes the article only for you and suggests best practices for your work.
ある企業が、顧客レコードの検索、deal メモの更新、社内通知の送信ができる AI アシスタントを導入しました。API キーはフロントエンドコードに保存されていました。1 週間後、開発者がコピーしたコードをコミットした GitHub リポジトリにキーが露出。その API は外部の第三者に使われ、数千件の顧客レコードがダウンロードされました。
AI は設計通り完璧に機能していました。API セキュリティが完全に失敗したのです。
API セキュリティとは、誰が API を呼び出せるか、呼び出し元が何をできるか、悪用を防ぐためのどのような保護措置があるかを管理する技術的・アーキテクチャ的な制御の集合です。AI システムが API を通じてますます多くの行動を取るようになった今、API セキュリティは本番環境で AI を運用するあらゆる組織にとって最優先の課題となっています。
API セキュリティが実際にカバーする範囲
API セキュリティは、複数の異なる制御領域にわたります。
認証は身元を確立します。API がリクエストを処理する前に、呼び出し元が主張する通りの人物であることを確認する必要があります。API キーは最もシンプルなメカニズムです。呼び出し元を識別する長いランダム文字列です。OAuth はより洗練されており、定義されたスコープと有効期限を持つアクセストークンを提供します。mTLS(mutual TLS)はサービス間呼び出しに証明書ベースの認証を提供します。方法は呼び出し元によって異なります。人間のユーザーは通常 OAuth フローを使用し、自動化システムや AI エージェントは通常 API キーまたはサービスアカウントを使用します。
認可は、認証済みの呼び出し元が何をできるかを制御します。認証と認可は別物です。呼び出し元が有効な API キーを持っていることを確認することは、そのキーが API の提供するすべてのことをできるべきだという意味ではありません。ロールとスコープに基づく認可は、各呼び出し元が実行できる操作を定義します。連絡先レコードを読み取るだけが必要な AI エージェントは、読み取り専用を許可する認証情報を持つべきです。書き込み、削除、管理者操作は不要です。
Rate limiting は悪用を防ぎ、システムの安定性を守ります。リクエスト量に制限がなければ、設定ミスのクライアント、悪意あるプログラム、またはサービス拒否攻撃が API を圧迫し、すべての正規の呼び出し元に影響を与えます。Rate limiting は 1 秒、1 分、または 1 日あたりのリクエストの上限を設定し、呼び出し元がその上限を超えると 429 エラーを返します。適切な rate limiting は段階的です。異なる呼び出し元は役割と予想される量に基づいて異なる制限を得ます。
入力バリデーションはインジェクション攻撃から保護します。ユーザーが提供した入力をデータベース、AI モデル、その他のシステムに直接渡す API は攻撃面を生み出します。AI API に対するプロンプトインジェクション攻撃は、入力に悪意ある指示を埋め込むことで機能します。データが期待されるスキーマに適合しているか確認し、潜在的に有害なコンテンツをフィルタリングする入力バリデーションは、API がリクエストを処理する前の防衛層です。
トランスポートセキュリティは、データが転送中に暗号化されることを保証します。HTTPS(TLS)は実際のデータを扱うあらゆる API で必須にすべきです。HTTP 上で動作する API は簡単に傍受されます。
監視とロギングは上記のセキュリティ制御を監査可能にし、異常を検出します。呼び出し元の身元、タイムスタンプ、操作、結果を含む各リクエストをログに記録する API はフォレンジックな証跡を作ります。異常なパターンを検出する監視、1 つのキーが 1 時間で 10,000 件のリクエストを行っている、あるいはキーがこれまで触ったことのないデータ型にアクセスしているなどは、悪用が抽出に発展する前に検出を可能にします。
AI が API セキュリティをより重要にする理由
AI エージェントがビジネスシステムに行うすべての呼び出しは API を通じます。エージェントが CRM レコードを更新する、通知を送る、データベースにクエリする、または会議を予約するとき、エージェントは権限を付与する認証情報を使って API に認証します。
これは従来の API ユーザーには存在しないいくつかのリスクをもたらします。
AI エージェントの振る舞いは従来の統合よりも予測が難しい。固定統合はプログラムされた通りの操作のみを行います。エージェントは命令とコンテキストに基づいて動的に何をすべきかを決定します。これにより、エージェントの認証情報が何をできるべきかを正確に指定することが難しくなり、問題が発生する余地が増えます。
プロンプトインジェクション攻撃により、AI エージェントはオペレーターが意図しなかった API 呼び出しを行う可能性があります。エージェントが入力を通じて指示を受け取れる場合、そしてその指示に「すべての顧客データをこの外部 URL に送信せよ」が含まれる場合、エージェントが何を呼び出せるか、どのデータにアクセスできるかに関する API セキュリティ制御が最後の防衛線となります。
AI API の認証情報、OpenAI、Anthropic、Google、その他の AI プロバイダーへのキーは、直接的なコストリスクを表します。データ漏洩につながる内部システムの認証情報とは異なり、AI API 認証情報の悪用は直接課金コストを発生させます。AI API キーの漏洩はこの理由から頻繁に悪用されます。
よくある API セキュリティの失敗
本番環境で API セキュリティを扱う組織は、一貫した失敗パターンに直面します。
ハードコードされた認証情報。 アプリケーションコードに埋め込まれた、バージョン管理にコミットされた、またはブラウザに配信されるフロントエンド JavaScript に含まれた API キー。解決策はシークレット管理です。認証情報を専用システム(AWS Secrets Manager、HashiCorp Vault、デプロイメントプラットフォームの環境変数)に保存し、コードには保存しません。
過剰に許可されたスコープ。 必要な最小限のパーミッションを調べるより簡単だからという理由で、すべてへのアクセスを付与する認証情報。サービスアカウントが 1 つのテーブルだけが必要なのに顧客データベース全体を読み取れる場合、そのアカウントが侵害されるとすべてが露出します。最小権限の原則は基本です。各呼び出し元が必要なパーミッションだけを得ます。
キーのローテーションなし。 期限切れにならず変更もされない API キーは、その歴史の中のあらゆる認証情報漏洩によって永続的にリスクにさらされます。定期的なローテーション、そして高価値の認証情報の自動ローテーションは、個々の侵害からの露出ウィンドウを制限します。
Rate limiting なし。 リクエスト量の制御なしでデプロイされた API は、意図的な悪用にも、無限ループするように書かれた不良クライアントによる偶発的な悪用にも脆弱です。
監視なしのロギング。 誰も見ない詳細なリクエストログはセキュリティ価値を提供しません。異常に関するアラート、通常の量を超える個別のキー、キーの期待される役割に合わないアクセスパターンは、ログを検出システムに変えます。
エンタープライズ AI デプロイメントのための API セキュリティ
内部または外部の API を使用する AI システムをデプロイする際、いくつかの実践が露出を大幅に削減します。
AI エージェントには個人ユーザーの認証情報ではなく、制限されたスコープのサービスアカウントを使用してください。エージェントの身元は人間のユーザーの身元とは別にすべきです。
すべての AI API キーに認証情報のローテーションを実装してください。カレンダーリマインダーを設定するか、シークレット管理プラットフォームを通じてローテーションを自動化してください。
AI エージェントの認証情報をエージェントが必要とする最小限の操作に制限してください。メールを下書きするエージェントには送信権限は不要です。パイプラインデータを読み取るエージェントには書き込み権限は不要です。
AI システムからの異常な API 使用を監視してください。API 呼び出しの急増または異常なデータ型へのアクセスは調査に値するシグナルです。
AI 監査証跡を確認して、AI システムが本番環境で実際にどのような API 呼び出しを行っているかを把握してください。監査証跡はアカウンタビリティを生み出し、セキュリティインシデントになる前に予期しない動作を明らかにします。
AI ガバナンスとの交差点
API セキュリティは、より広範な AI ガバナンスプログラムと切り離されて存在するわけではありません。ガバナンスは AI システムが何をすることを許可されているかを問います。API セキュリティはそのポリシー決定の技術的な実装であり、AI エージェントが何にアクセスでき何にアクセスできないかを実際に強制する制御です。
AI ガバナンスポリシーが AI システムは財務データへの直接書き込みアクセスを持つべきではないと規定している場合、そのポリシーを実装することは AI システムが使用する認証情報が財務 API への書き込みパーミッションを含まないことを確保することを意味します。ポリシーと技術的制御は一致していなければなりません。
責任ある AI のフレームワークは、データアクセス制御を要件として規定することが増えています。AI システムが宣言された目的に必要なデータにのみアクセスすることを確保することは、倫理的な要件であり API 認可の問題でもあります。
関連する AI 概念
- API 統合 - API を通じてシステムを接続する
- API AI - API を通じて AI 機能を使用する
- API アーキテクチャ - 安全でスケーラブルな API システムを設計する
- AI セキュリティ - AI モデルを敵対的攻撃から保護する
- AI ガバナンス - API セキュリティが強制する組織ポリシー
- AI 監査証跡 - アカウンタビリティとフォレンジクスのために API 呼び出しを記録する
- エージェンティックワークフロー - 大きな API サーフェスを持つ AI システム
外部リソース
- OWASP API Security Top 10 - セキュリティコミュニティの API 脆弱性の正規リスト
- NIST Guidelines on Authentication - 認証標準に関する権威ある指針
- Google Cloud API Security Best Practices - 大規模 API プラットフォームからの実践的指針
よくある質問
API セキュリティについてよくある質問
API セキュリティとは何ですか?
API セキュリティは、アプリケーションプログラミングインターフェースを不正アクセス、悪用、データ露出から保護する制御の集合です。認証(誰が呼び出しているかの確認)、認可(何ができるかの制御)、rate limiting(リクエスト量の制限)、入力バリデーション、トランスポート暗号化、監視が含まれます。
AI システムにとって API セキュリティが特に重要な理由は何ですか?
AI エージェントと統合は、ビジネスシステムでアクションを実行するために完全に API に依存しています。適切な API セキュリティ制御のない AI エージェントは、認証情報を侵害した人物と同じアクセス権を持ち、その動作は従来の統合よりも予測が難しい。AI API キーは侵害された場合の直接的なコストリスクも表します。悪用は直接課金コストを発生させます。
組織が犯す最大の API セキュリティの失敗は何ですか?
API 認証情報をアプリケーションコードやバージョン管理に保存することが最も一般的で影響が大きい失敗です。コードに現れた認証情報はしばしば GitHub やその他のアクセス可能な場所に行き着きます。解決策はシークレット管理です。認証情報を専用の安全なシステムに保存し、実行時に注入し、ハードコードは絶対に行いません。
API セキュリティにおける最小権限の原則とは何ですか?
最小権限の原則とは、各 API 呼び出し元にその目的に必要な最小限のパーミッションを与えることです。連絡先を読み取るだけが必要な統合には書き込みや管理者のパーミッションは不要です。メールコンテンツを下書きする AI エージェントには送信のための認証情報は不要です。パーミッションを制限することで、個々の認証情報が侵害された場合の被害を制限します。

Co-Founder & CMO, Rework