STSが一時認証情報を発行する仕組み
すべてのロールの背後にあるセキュリティトークンサービスを理解します。
「STSが一時認証情報を発行する仕組み」はCoddyKit上の無料AWS Security Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはAWS Security Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 AWS Security Academyコースには全4レッスンが含まれています。
トークンサービス
Security Token Service(STS)は、一時的なセキュリティ認証情報を発行する AWS サービスです。ロールを引き受ける場合やアイデンティティをフェデレーションする場合、STS は永続的なキーではなく、有効期間の短い認証情報を発行します。ほぼすべての安全な AWS アクセスパターンの基盤が一時的な認証情報であるため、STS の理解は試験でも重要です。
一時的な認証情報とは
STS の認証情報は、アクセスキー ID、シークレットアクセスキー、セッショントークンの3つで構成されます。セッショントークンが長期的なキーとの違いであり、署名付きリクエストごとに付加する必要があります。3つすべてが定められた有効期間の終了後に同時に失効するため、認証情報自体に制限が組み込まれています。
一時的な認証情報がより安全な理由
一時的な認証情報は自動的に有効期限が切れる(15分から12時間)ため、漏洩した場合の被害を大幅に抑えられます。手動でローテーションするキーは不要で、永久に残るものを盗まれる心配もありません。そのため AWS は、ほぼすべての場面で長期的なアクセスキーよりも一時的な認証情報を推奨しており、試験でも繰り返し強調されています。
STS の主要 API
STS には、いくつかの操作があります。
- AssumeRole — 同じアカウントまたは別のアカウントのロールを引き受けます。
- AssumeRoleWithSAML — SAML アイデンティティプロバイダー経由でフェデレーションします。
- AssumeRoleWithWebIdentity — OIDC またはウェブアイデンティティ経由でフェデレーションします。
- GetSessionToken / GetFederationToken — MFA や IAM ユーザーのフェデレーションに使用します。
AssumeRole のフロー
最も一般的な呼び出しは AssumeRole です。すでに認証された呼び出し元がロールを要求すると、STS はロールの信頼ポリシーでその呼び出し元が許可されていることを確認し、ロールのアクセス許可を持つ一時的な認証情報を返します。呼び出し元はその認証情報を有効期限まで使用し、期限が切れたら再度ロールを引き受けて更新します。
AssumeRole の呼び出し
この CLI 呼び出しはロールを引き受け、一時的な認証情報を返します。ロール ARN とセッション名が必要です。セッション名は監査のために CloudTrail に表示されます。
aws sts assume-role \
--role-arn arn:aws:iam::123456789012:role/Audit \
--role-session-name security-reviewリージョンエンドポイントとグローバルエンドポイント
STS は以前、単一のグローバルエンドポイントを使用していましたが、現在の AWS ではリージョン別の STS エンドポイントも利用できます。リージョン別エンドポイントを使うとレイテンシーが低下し、耐障害性も向上します。また、コンプライアンス要件によっては使用が必須です。新しいリージョンにはグローバルエンドポイント経由でアクセスできないため、リージョン別 STS を有効にすることが推奨されます。
呼び出し元のアイデンティティ
GetCallerIdentity 操作は、呼び出しを行っているユーザーのアカウント、ユーザー ID、ARN を返します。特別なアクセス許可は必要ありません。現在の認証情報がどのアイデンティティを表しているかを確認する標準的な方法であり、調査中に AssumeRole セッションをデバッグするときにも役立ちます。
aws sts get-caller-identityCloudTrail の認証情報
すべての STS 呼び出しはCloudTrailに記録されます。誰がどのロールを引き受け、どのセッション名を選んだかも含まれます。この証跡により、調査担当者は、どの人間またはサービスが一時的な認証情報を取得し、その後何を行ったかを正確に追跡できます。意味のあるセッション名を付けると、この監査情報がさらに役立ちます。
実際のセッショントークン
一時的な認証情報を使用するアプリケーションは、各リクエストにセッショントークンを付加する必要があります。設定が済んでいれば、AWS SDK と CLI が自動的に行います。一時的な認証情報で認証に失敗した場合は、セッショントークンがないか、値が一致していないことがよくあるため、まず確認してください。
STS を活用する
STS はロールとフェデレーションの基盤です。自動的に期限切れになるアクセスキー、シークレット、セッショントークンのセットを発行するため、永続的なキーよりはるかに安全です。可能な限りAssumeRole 系の操作を使用し、リージョン別エンドポイントを優先し、CloudTrailで追跡しやすい意味のあるセッション名を付け、一時的な認証情報で長期的な認証情報を置き換えましょう。
クイックチェック
STSの基本を確認しましょう。
まとめ
Security Token Service (STS)は、一時的な認証情報(アクセスキー、シークレット、15分から12時間で有効期限が切れるセッショントークン)を発行します。主なAPIにはAssumeRole、AssumeRoleWithSAML、AssumeRoleWithWebIdentityがあります。リージョナルエンドポイントを優先し、CloudTrailで追跡しやすい意味のあるセッション名を使用し、長期的なキーは一時的なキーに置き換えてください。
よくある質問
「STSが一時認証情報を発行する仕組み」レッスンは無料ですか?
はい。「STSが一時認証情報を発行する仕組み」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、AWS Security Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 AWS Security Academyコースには全4レッスンが含まれています。
「STSが一時認証情報を発行する仕組み」で何を学びますか?
すべてのロールの背後にあるセキュリティトークンサービスを理解します。 ブラウザで直接実行するハンズオンコードでAWS Security Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
AWS Security Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのAWS Security Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。
「STSが一時認証情報を発行する仕組み」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このAWS Security Academyレッスンでコードを書いて実行できますか?
はい。すべてのAWS Security Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- STSが一時認証情報を発行する仕組み
- AssumeRoleとセッションの有効期間
- 外部IDと混乱した代理人問題
- セッションポリシーとタグベースのスコープ設定