この言葉は、最近のほとんどすべてのクロスサービスアプリケーションで見られます。
APIキーとは正確には何ですか?その用途は何ですか?
また、公開APIキーと秘密APIキーの違いは何ですか。
この言葉は、最近のほとんどすべてのクロスサービスアプリケーションで見られます。
APIキーとは正確には何ですか?その用途は何ですか?
また、公開APIキーと秘密APIキーの違いは何ですか。
APIキーが「正確に」使用されるのは、誰がAPIキーを発行するか、およびどのサービスに使用されるかによって大きく異なります。ただし、概して、APIキーは、要求の発信元を識別するためにWebサービス(または同様の)要求と一緒に送信される何らかの形式の秘密トークンに付けられた名前です。キーは、発信元をさらに確認し、値の改ざんを防ぐために、リクエストコンテンツのダイジェストに含まれている場合があります。
通常、リクエストの送信元を明確に識別できる場合、それは認証の形式として機能し、アクセス制御につながる可能性があります。たとえば、リクエストを実行しているユーザーに基づいて、特定のAPIアクションへのアクセスを制限できます。そのようなサービスを販売することでお金を稼ぐ企業にとって、それは請求目的で誰がその物を使用しているかを追跡する方法でもあります。さらに、キーをブロックすることで、リクエスト量が多すぎる場合の悪用を部分的に防ぐことができます。
一般に、公開APIキーと秘密APIキーの両方がある場合は、キー自体が、何らかの形式の非対称暗号化または関連するデジタル署名で使用される従来の公開鍵と秘密鍵のペアであることを示しています。これらは、リクエストのソースを確実に特定し、さらにリクエストのコンテンツを(改ざんに加えて)スヌーピングから保護するためのより安全な手法です。
非常に一般的に言えば:
APIキーは単にあなたを識別します。
公開/秘密の区別がある場合、公開鍵は他の人に配布できるものであり、他の人がAPIからあなたに関する情報のサブセットを取得できるようにします。秘密鍵はあなただけが使用するためのものであり、すべてのデータへのアクセスを提供します。
多くの人がセキュリティソリューションとしてAPIキーを使用しているようです。つまり、APIキーを秘密として扱わないでください。httpsであるかどうかに関係なく、リクエストを読み取ることができる人は誰でもAPIキーを確認でき、必要な呼び出しを行うことができます。APIキーは、sslで使用する場合でも、完全なセキュリティソリューションではないため、「ユーザー」識別子と同じである必要があります。
より適切な説明は、Eugene Osovetskyのリンクにあります。ほとんどのAPIを使用する場合、なぜ2種類の認証、つまりキーとシークレットが必要なのですか? または、http://nordicapis.com/why-api-keys-are-not-enough/を確認してください
APIキーは、このサービスのユーザーとして受け入れられたときに、このサービスのユーザーに割り当てられる一意の値です。
サービスは発行されたすべてのキーを維持し、要求ごとにそれらをチェックします。
サービスは、リクエスト時に提供されたキーを確認することにより、ユーザーにアクセスを許可するかどうかを決定するための有効なキーであるかどうかを確認します。
APIキーは、Webサービスのユーザーを認証する1つの方法にすぎません。
このように考えると、「パブリックAPIキー」は、データベースが検証サーバーへのログインとして使用しているユーザー名に似ています。その場合、「プライベートAPIキー」はパスワードに似ています。この方法を使用するサイト/データベースによって、サイト/データベースの投稿または編集の本物の要求を行うために、サードパーティ/検証サーバーでセキュリティが維持されます。
API文字列は、サイト/データベースが検証サーバーに接続するためのログインのURLにすぎません。