検索

日本語

日本語

ログイン

ログイン/登録

Web サイト

セキュリティ

API セキュリティ

API セキュリティとは

API セキュリティとは、ユーザー独自の API と使用する API の両方の整合性を保護する機能です。具体的には、どのような機能でしょうか。

お聞きになったことがあると思いますが、IoT (モノのインターネット) では、コンピューティング能力が日常生活で使用するモノに埋め込まれています。ディナーパーティーの開催が突如決まっても、IoT によってスマートフォンから冷蔵庫に接続し、帰宅途中に食料品店に立ち寄って買う必要があるものを調べることができます。あるいは、DevOps チームの一員として、マイクロサービスとコンテナを使用して、高速で反復可能な方法で、レガシーアプリケーションとクラウドネイティブ・アプリケーションを構築し、デプロイしている人もいるでしょう。API は、マイクロサービスとコンテナが通信する最も一般的な方法であり、これはシステムとアプリケーションの関係に似ています。統合と相互接続性の重要性が増すとともに、API も重要になってきます。

API セキュリティが重要である理由

企業は API を使用してサービスを接続し、データを転送します。API が破損、公開、ハッキングされると、大規模なデータ侵害が発生します。機密性の高い医療記録、金融データ、個人情報が公に流出し、利用されてしまいます。とはいえ、あらゆるデータの重要性が等しいわけではなく、すべてを一括して同じ方法で保護すべきではありません。API セキュリティへのアプローチは、どのような種類のデータを転送するかによって決まります。

API がサードパーティ・アプリケーションに接続する場合、そのアプリケーションがインターネットに情報をどのように通過させるかを把握してください。上記の例でいうなら、誰かに自分の冷蔵庫の中身を知られても気にしないかもしれませんが、同じ API を使用して居場所を追跡されるとしたら、放っておけないでしょう。

Web API セキュリティとは:REST API セキュリティとSOAP API セキュリティ

Web API セキュリティは、インターネットに接続した API を通じたデータの転送を対象とします。OAuth (Open Authorization) はアクセス委任のオープンスタンダードです。パスワードを共有しなくても、Web リソースへのサードパーティのアクセス権が付与されます。「共有」ボタンをクリックするだけでコーギーが腹打ちして水に飛び込む様子を編集した動画をソーシャルネットワークで共有できるのは、OAuth という技術規格のおかげです。

ほとんどの API は Representational State Transfer (REST) または Simple Object Access Protocol (SOAP) で実装されています。

REST API は HTTP を使用し、Transport Layer Security (TLS) 暗号化をサポートします。TLS はインターネット接続を非公開に維持し、2 つのシステム (サーバーとサーバー、またはサーバーとクライアント) の間で送信されるデータを暗号化し、変更されないようにする規格です。つまり、ハッカーがショッピング Web サイトからクレジットカード情報を盗み取ろうとしても、データを読み取ることも変更することもできません。Web サイトが TLS で保護されているかどうかは、URL が「HTTPS」(Hyper Text Transfer Protocol Secure) で始まっているかどうかでわかります。

REST API は JavaScript Object Notation (JSON) も使用します。これは Web ブラウザー上でのデータ転送を容易にするファイルフォーマットです。REST API は HTTP と JSON を使用しているため、データを保存または再パッケージする必要がなく、SOAP API よりもはるかに高速です。

SOAP API は Web Services Security (WS Security) という組み込みプロトコルを使用します。これらのプロトコルは、確実性と認証を基にしたルールセットを定義します。SOAP API は、Organization for the Advancement of Structured Information Standards (OASIS)World Wide Web Consortium (W3C) という 2 つの主要な国際規格団体による規格セットに対応しており、XML 暗号化、XML 署名、SAML トークンを組み合わせて使用して、認証および認可を検証します。一般に、SOAP API には総合的なセキュリティ対策が備わっているという利点がありますが、必要となる管理も増えます。このような理由から、SOAP API は機密データを取り扱う組織に推奨されます。

API セキュリティの一般的なベストプラクティスの例

貯金をマットレスの下に隠しておく人は、おそらくいないでしょう。ほとんどの人が信頼できる環境 (銀行) に預けて、支払いの承認と認証に別の方法を使用します。API セキュリティはこれに似ています。承認と認証のポリシーを持つ、信頼できる環境が必要です。

API セキュリティを強化できる一般的な方法をいくつか紹介します。

  • トークンを使用する。信頼できる ID を確立してから、この ID に割り当てられたトークンを使用して、サービスおよびリソースへのアクセスを制御します。
  • 暗号化と署名を使用する。TLS (上記を参照) などの手段を使用してデータを暗号化します。署名を要求して、適切なユーザーがデータを復号化および変更し、その他のユーザーは実行できなくします。
  • 脆弱性を特定する。オペレーティングシステム、ネットワーク、ドライバー、API コンポーネントを最新の状態にします。すべてのものがどのように連携しているか把握し、API の侵入に使用される可能性がある弱点を突き止めます。スニッファーを使用して、セキュリティの問題を検知し、データ漏洩を追跡します。
  • クォータとスロットリングを使用する。API を呼び出す頻度についてクォータを設定し、使用履歴を追跡します。API の呼び出しが多い場合、悪用されている可能性があります。API を無限ループで呼び出しているなど、プログラミングのエラーの可能性もあります。スパイクやサービス拒否攻撃から API を保護するため、スロットリングのルールを作成します。
  • API ゲートウェイを使用する。API ゲートウェイは API トラフィックの主な適用ポイントとして機能します。ゲートウェイを適切に使用すると、トラフィックを認証し、API の使用方法を制御して分析できます。

API 管理とセキュリティ

多くの場合、API セキュリティは最終的には優れた API 管理に行きつきます。多数の API 管理プラットフォームは、以下の 3 種類のセキュリティ機構をサポートします。

  • API キー:シングルトークン文字列 (一意の認証情報を提供する、小型のハードウェアデバイス)。
  • 基本認証 (APP ID/APP キー):2 つのトークン文字列のソリューション (ユーザー名とパスワード)。
  • OpenID Connect (OIDC):一般的な OAuth フレームワーク上のシンプルな ID レイヤー (基本プロファイル情報を取得して認証サーバーを使用し、ユーザーを検証する)。

API マネージャーを選択するとき、これらのセキュリティ機構のどれを処理できるか把握し、上記で説明した API セキュリティ手法をどのように取り入れるか、計画しておいてください。

Red Hat の API 管理とセキュリティを選ぶ理由

データ侵害は恐ろしい出来事ですが、セキュリティを向上させる手段を講じることはできます。API は取り組む価値があります。大切なのは、正しい方法を知ることです。その多くは、継続的なセキュリティ対策、つまり適切な質問を投げかけ、注意が必要な領域を把握し、信頼できる API マネージャーを使用することに収斂します。Red Hat がこの作業をお手伝いします。

Red Hat では、以下の要素からなる、受賞歴のある Red Hat 3scale API Management をおすすめします。

  • API、アプリケーション、開発者の役割を管理する API マネージャー
  • API マネージャーからポリシーを適用するトラフィックマネージャー (API ゲートウェイ)
  • さまざまな認証プロトコルをサポートする ID プロバイダー (IDP) ハブ

API ゲートウェイでは、Red Hat 3scale API Management が期限切れのタイムスタンプ付きトークンをデコードし、クライアント ID が有効であるかチェックし、公開鍵を使用して署名を確認します。

今すぐ始める

内外のユーザーを対象とした API の共有、セキュリティ保護、配布、制御、収益化を容易にします。

オンプレミス、クラウド、そしてその中間のあらゆる環境で API を接続する分散型クラウドネイティブ・インテグレーション・プラットフォームです。