Shiraude Code Docs
用語2026年9月11日STSセキュリティ認証一時クレデンシャルトークン

STSとは?一時的な鍵を配る仕組み

STSは「期限付きの合鍵」を発行する窓口

STSは Security Token Service の略で、日本語にすると「セキュリティトークン発行サービス」です。ざっくり言うと、使い捨てに近い、期限付きの認証情報(トークン)を発行してくれる仕組みのことを指します。

イメージしやすいのはホテルのカードキーです。ホテルにチェックインすると、フロントで部屋のカードキーを渡されますよね。あのカードキーは、チェックアウトの日時が来ると使えなくなりますし、自分の部屋以外のドアは開きません。仮に落としてしまっても、被害は「その部屋に、その期間だけ」に限定されます。STSがやっているのも、これとほぼ同じ発想です。

逆に、期限のない「マスターキー」を持ち歩くのは怖い。これがいわゆる、ずっと使える永続的なパスワードやアクセスキーにあたります。漏れたらいつまでも悪用されますし、誰がいつ使ったのかも追いづらい。だから「必要なときに、必要な分だけ、時間を区切って鍵を借りる」という運用に寄せていこう、というのがSTS的な考え方です。

どんな流れで使われるのか

細かい仕様はサービスによって違いますが、大まかな流れはだいたい共通しています。

本人であることを証明する(既存の認証情報など)
STSに「この権限のトークンをください」と依頼
期限付きトークンを受け取る
そのトークンでAPIやリソースにアクセス
期限が切れたら失効(必要なら再発行)

ポイントは、最後の「期限が切れたら失効」です。永続的な鍵と違って、放置されたトークンが何年も生き続けるということが起きにくい。ここが安全性の肝になります。

なぜわざわざ面倒なことをするのか

正直なところ、最初にこの仕組みを見たときは「毎回トークンを取りに行くの、面倒では?」と思う人が多いと思います。実際、直接パスワードを書いてしまったほうが手っ取り早い場面はあります。

それでも一時トークンが好まれるのは、事故が起きたときのダメージが段違いだからです。設定ファイルやソースコードに永続的な鍵を書いてしまい、それがうっかり公開リポジトリに上がってしまった、という事故は実際によくあります。永続キーだと、気づいて無効化するまでずっと悪用され続けます。一時トークンなら、そもそも数十分から数時間で勝手に切れる。

永続的な認証情報

一度作ればずっと使える。設定は楽だが、漏れたときの影響が大きく、定期的な差し替え(ローテーション)を人間が管理しなければならない。

STSが発行する一時トークン

有効期限つきで自動的に失効する。取得の一手間はあるが、漏洩時の影響範囲が時間で区切られる。権限も用途に絞りやすい。

「権限を絞る」という発想もセット

STSの話をするとき、期限と並んでよく出てくるのが「どの権限を持たせるか」です。ホテルのカードキーの例で言えば、有効期間だけでなく「開けられるドアはどれか」も決まっているわけです。

一時トークンも同じで、発行時に「この操作だけ許可する」という形で範囲を絞れるのが一般的です。読み取りしかしないプログラムなら読み取り専用のトークンを渡す。これができると、仮にそのプログラムに何か問題があっても、できることが限られているので被害が広がりません。

この「必要最小限の権限だけ与える」という考え方は最小権限の原則と呼ばれていて、セキュリティ設計の基本中の基本です。STSはそれを実際に運用しやすくするための道具、と捉えるとしっくりきます。

覚えておきたいポイント

  • STS = 期限付きの認証トークンを発行する仕組み・サービスの総称
  • ホテルのカードキーのように、時間と範囲が限定されている
  • 漏れたときの被害を「時間」と「権限」の両方で小さくできる
  • 期限が切れたら再取得が必要なので、その処理を組み込んでおく

最初は面倒に感じる仕組みですが、一度「トークンを取ってから使う」という流れに慣れてしまえば、むしろ永続キーを設定ファイルに書くほうが落ち着かなくなります。セキュリティ周りの用語は堅苦しく見えますが、やっていることは「合鍵に期限をつける」という、わりと素朴な工夫です。

このページは役に立ちましたか?