API キーとは何ですか?
API キーは、API デベロッパーが API へのアクセスを制御するために使用する英数字の文字列です。API は、2 つのソフトウェアモジュール間のデータ交換を可能にする通信メカニズムです。モジュール用の API を作成すると、他のアプリケーションデベロッパーはその API を呼び出して、その機能をコードに統合できます。例えば、商品のリストを入力として受け取り、その商品を最安値で購入できる店舗のリストを返すモジュールを開発できます。その後、e コマースアプリケーションは API を使用して、顧客のためにその日のお得な食料品のリストを生成できます。API の作成者は、API キーを使用して API アクセスを制限およびモニタリングします。API キーは承認された API の使用を識別するため、API をより効率的にメンテナンス、管理、収益化できます。
API キーにはどのようなユースケースがありますか?
ソフトウェアデベロッパーは API キーを使用して、作成した API へのアクセス方法を管理します。API キーは、さまざまな方法で最新のクラウドアプリケーションの開発に貢献します。
API の使用状況をモニタリングする
API プロバイダーは、API キーを使用して、特に商用アプリケーションの使用状況を追跡し、API の使用状況を管理します。API が消費するコンピューティングリソースの料金をユーザーに請求します。
API プロバイダーは、固有の API キーを使用して API のサービスへのアクセスを制限できます。正当なトラフィックのみを通過させることで、API のリソース使用率と帯域幅容量を最適化できます。各キーの使用統計を分析して、さまざまなプランのクォータを調整することもできます。
API 統合のトラブルシューティング
クラウドアプリケーションは、使用する API が原因で技術的な問題が発生する可能性があります。ソフトウェアデベロッパーは API キーを使用して異常なデータパターンを検出し、API トラフィックをそれぞれのプロバイダーと照合します。これにより、アプリケーションの正常な動作を妨げる特定の API を特定して分離できます。
プロジェクトを特定する
ソフトウェアアプリケーションは、API を介して外部サービスと機密データを交換します。API キーは、許可されたプロジェクトによる使用を規制するプロジェクト認証メカニズムとして機能します。API を使用するには、抽象化されたソフトウェア機能にアクセスするための正しい API 認証情報をプロジェクトが提示する必要があります。API キーは特定のユーザーを認証しないことに注意することが重要です。代わりに、特定のキーに関連する組織を大まかに識別します。
API キーはどのように機能しますか?
API キーは、ランダムに生成されたアルファベットと数字の文字で構成されています。特定の API キーを特定の API クライアントに関連付けます。API の使用は基本的に、あるソフトウェアモジュールが別のソフトウェアモジュールと通信することであるため、キーは API と通信したいさまざまなソフトウェアモジュールまたはアプリケーションに関連付けられます。
アプリケーションが API リクエストを送信すると、プロセスは次のように機能します。
- API サーバーは、固有の API キーを使用してリクエスターの信頼性を検証します。
- API キーが許可されたキーのいずれとも一致しない場合、サーバーは API 呼び出しを拒否し、拒否メッセージを送信します。
- API キーが一致すると、サーバーはリクエストを処理し、期待どおりのレスポンスを返します。
このように、API キーにより、API サーバーは各 API 呼び出しの発信元を識別できます。その後、サーバーは検証を実行して API のデータとサービスへのアクセスを許可できます。
API 呼び出しの制限
API プロバイダーは API キーを使用して、API サービスへのさまざまな程度のアクセスを規制できます。リクエストを検証すると、API サーバーはサービスへのさらなるアクセスを許可する前にいくつかのパラメーターを確認できます。
サービスの範囲
サーバーは、要求元のアプリケーションに付与できるサービスの範囲を決定します。たとえば、一部の API キーでは、リクエスタが API のデータストレージから情報を追加、削除、および読み取ることができます。また、API 呼び出しを情報の読み取りのみに制限する場合もあります。
機能の選択
サーバーは API 呼び出しの範囲を決定して課し、API サービスをカスタマイズします。たとえば、API キーを使用して、e コマースアプリケーションを特定の国の商品データの検索に限定できます。書籍やアパレルなどの特定のデータベースパラメトリックフィルターに特定の API キーを関連付けることもできます。
セルの数
また、API プロバイダーは API キーを使用して API アクセスを厳しく規制しています。プロバイダーによっては、API に時間制限やリクエスト制限を適用しています。このような場合、クライアントアプリケーションが API を使用できるのは、規定の期間、または 1 日の上限回数までです。制限を超えると、サーバーは関連する API キーからのリクエストをすべて拒否します。
API キーと API トークンの違いは何ですか?
API キーは、主に API クライアントからのアプリケーショントラフィックを識別するための一意の識別子の文字列です。API キーは通常、呼び出し元のアプリケーションがデプロイされている特定のサーバーに関連付けられています。アプリケーションが API リクエストを行うと、サーバーは API キーによって呼び出し元のアプリケーションを識別します。
対照的に、API トークンは特定のユーザーを識別する包括的なデータを含むコードの文字列です。API トークンには、特定のユーザーに付与されるアクセスの範囲も含まれます。これにより、サーバーは呼び出し元ユーザーのリクエストを認証し、API の使用範囲を検証できます。たとえば、ユーザーはシングルサインオントークンを使用して API のグループにアクセスできます。
API キーの生成は、ユーザー認証における役割が限られているため、より簡単です。反対に、API トークンには識別データと認証データが含まれているため、API トークンを付与する場合、より多くの制限と手順が存在します。
Amazon Web Services (AWS) では、API トークンは認証トークンまたはセキュリティトークンとも呼ばれます。デベロッパーは IAM アクセス許可、Lambda オーソライザー、または Amazon Cognito ユーザープールを使用して API トークンを作成し、API へのアクセスを管理します。
API キーのベストプラクティスとは何ですか?
API キーを使用する際に留意すべきベストプラクティスがいくつかあります。
ユーザー認証に API キーを使用することは避けてください。API キーは、ユーザーアクセスの規制を意図したものではありません。同様に、機密情報は送信中に表示される可能性があるため、API キーには含めないでください。
API キーをソースコードやリポジトリに直接埋め込まないでください。削除し忘れた場合、アプリケーションの公開時に公開される可能性があります。
使用しなくなった API キーは削除してください。API セキュリティをより強固なものにするために、キーに有効期限を追加することを検討してください。
AWS は API キー管理にどのように役立ちますか?
Amazon Web Services (AWS) では、API キー管理のニーズに対応する Amazon API Gateway を提供しています。
API Gateway を利用すると、あらゆる規模の REST、HTTP、および WebSocket API を作成、公開、維持、モニタリング、および保護できます。API デベロッパーは、AWS や他のウェブサービス、および AWS クラウドに保存されているデータにアクセスする API を作成できます。
API を作成、テスト、デプロイしたら、API Gateway 使用量プランを使用して、それらを顧客向けの製品として利用できるようにすることができます。利用プランと API キーを設定して、顧客が選択した API にアクセスできるようにすることができます。また、定義した制限とクォータに基づいて、これらの API へのリクエストを調整し始めることができます。
今すぐ AWS アカウントを作成して、AWS での API キー管理の使用を開始しましょう。