Clicked Gallery
APIキーとは?
実際の技術ドキュメントでハイライトされた言葉を、Clickedが解説します。
例文
Engineering Notes · AI Systems
The tutorial warned readers never to paste an API key into client-side code, where anyone reading the page can see it.
読者がドキュメント内の単語をハイライトすると、Clickedが技術用語「API key」をシンプルに解説しました:
3段階での解説
●○○
Overview
APIキーとは、アプリがAPIへのリクエストのたびに一緒に送る文字列で、これによってサービスはどのアカウントが呼び出しているかを知ります。働きはパスワードではなく口座番号に近く、本人かどうかは誰も確認せず、キーを持っている側が所有者として扱われます。だからキーは公開コードの外に置かれ、漏れたときの対処はいつでも、そのキーを無効にして別のキーを発行することになります。
●●○
Detail
APIキーはリクエストの背後にあるアカウントを識別します。データや計算能力を使いたい企業が、それを売るサービスに登録するとキーを受け取ります。呼び出しのたびにサービスはキーを照会し、その企業のアカウントを見つけ、権限と課金を適用します。キーはパスワードではありません。誰も入力しませんし、1本を無効にしても誰も締め出されません。1つのアカウントはアプリごとに複数のキーを持て、それぞれ個別に失効させて置き換えられます。キーは捨てられるように作られています。名前に反して、鍵をかけることも暗号化することもしません。サービスが見覚えのある名前にすぎないので、どこに保管するかが何より重要になります。ウェブサイトやスマホアプリは利用者の端末に届けられるため、そこに書き込まれたキーも一緒に届き、少し調べる気がある人なら誰でも読めてしまいます。だから秘密にすべきキーは企業のサーバーに残します。アプリはサーバーに尋ね、サーバーがキーを持ってAPIを呼びます。漏れたキーはすぐに見つかって使われ、請求は登録した企業に届きます。対処はいつも同じで、失効させて新しいものを発行することです。
●●●
Analogy
APIキーはフロントガラスに貼る有料道路のETCタグです。読み取り機は運転者を見ません。通過する車のタグを読み、そのタグが登録されているアカウントに請求します。1週間車を貸しても、料金はあなたのものです。タグをなくせば、それを自分のフロントガラスに貼った人があなたのアカウントで走り続け、電話して止めるまで続きます。手続きは数分で、車自体は何も変わりません。この仕組み全体が1つの物に収まっています。人ではなくアカウントを名指し、秘密ではなくアクセスを買い、そして交換される前提で作られています。
AIによる解説には誤りが含まれる場合があります · 専門的な助言ではありません
事実はそのまま、ノリだけ変えて — スラングモード 😎
●○○
Overview
APIキーはソフトウェア版の発信者番号通知です。リクエストは毎回あなたのキーを付けて届き、サービスはそれをあなただと判断してアカウントに課金します。受話器を握っているのが誰なのかは、どの時点でも確認されません。だから公開コードに置かれたキーは、盗まれるのを待っているのではありません。すでに配られていて、コピーした人は誰でもあなたとして応対されます。😎
●●○
Detail
APIキーは「この口座につけておいて」という意味の文字列なので、重要な問いは、その文字列を最終的に誰が持つかという一点だけです。それが漏れる場所は2つあります。公開するのは派手なほうです。公開コードをキーらしき文字列がないか見張っているボットがいて、うっかり上げたキーは数分のうちに他人に使われていることが珍しくありません。誰も侵入していません。配布するのは静かなほうです。アプリに入れたものは、そのアプリを使う人の手元にコピーがあり、どれだけ奥に埋めても見に行けます。そうなると秘密のキーの安全な置き場所は1つだけ、利用者が決して触れない機械です。自分のサーバーがキーを持ち、アプリは自分のサーバーに尋ね、サーバーがAPIを呼びます。この話が怖い話ではなく扱える話になる理由が2つあります。キーは使い捨てなので、漏洩は大惨事ではなく雑務です。無効にして、新しいのを出して、そのまま進む。しかもキーは無料なので、アプリごとに1本持たせられます。どれかが漏れた日に、何を止めればいいかが正確に分かります。😎
●●●
Analogy
APIキーは、一度も顔を見られたことのない店のツケです。名前を告げ、相手が書き留め、以後は同じ名前を言った人が誰でも飲み、合計はあなたに来ます。友達1人に教えるなら問題ありません。通り中に教えれば、閉店時に分かります。ただ、何が解決になるかに注目してください。名前を変えるのでも、引っ越すのでも、外出をやめるのでもありません。そのツケを閉じて、別のツケを開くだけです。それがまさにキーです。守りとしては役立たず、口座としては優秀で、1分で取り替えられます。😎
AIによる解説には誤りが含まれる場合があります · 専門的な助言ではありません
正式な定義 — 同じ用語の、よくある説明
APIキーとは、サービス提供者が発行し、通常はHTTPヘッダーに入れてリクエストごとに送信される不透明な識別子であり、呼び出し元のアプリケーションを識別し、認可・レート制限・課金のためにリクエストをアカウントへ結び付ける。利用者認証ではなく識別を提供し、リクエスト自体には暗号的保護を与えないため、通信ではTLSと、運用ではスコープ・有効期限・ローテーションと組み合わせられる。提供者はしばしば、クライアントコードに現れてよくドメインやリファラーで制限される公開可能キーと、サーバー側に保持され漏洩時に失効・再発行される秘密キーとを区別する。
「API key」のような言葉を、ブラウザ上でそのままClickedに解説させませんか?PDFにも対応。
Chromeに追加 — 無料無料で50回の解説 · クレジットカード不要
ギャラリーの他の記事
「API」とは?
互いの中身を知らないまま2つのプログラムを協働させる、固定された取り決め。
「冪等(べきとう)なAPI」とは?
10回クリックしても請求は1回 — 再試行を安全にする性質。
「エンドツーエンド暗号化」とは?
なぜ途中の誰にも読めないのか。それでも見えたままになるもの。
「ゼロデイ脆弱性」とは?
攻撃者だけが知っている穴。高値がつく理由と、実際に大半のシステムを破っているもの。
クラウドコンピューティングとは?
コンピュータを持たずにインターネット越しに借りること。あなたのアプリの大半はそこに住んでいる。
VPN(仮想プライベートネットワーク)とは?
通信を暗号化し、自社サーバー経由で送り出すサービス。周りから見えるあなたが減る。