SAA-C03 中級 SAA

認証と認可の基本設計 IAMロールとCognitoで安全にアクセスさせる

この記事は SAA-C03 を目指す方に向けて、「誰にどうやってアクセスさせるか」の基本を整理します。試験では登場人物が社員なのか、アプリなのか、一般ユーザーなのかで正解が変わります。

覚え方は3つの観点です。相手は人か仕組みか・認証情報を持たせるか一時的に渡すか・許可はどこに書くか。この3つで整理できます。

AWSの中の仕組みには IAMロール

EC2、Lambda、ECSタスクがS3やDynamoDBを触るときは、アクセスキーを埋め込まずIAMロールを割り当てます。一時的な認証情報が自動で発行され、期限が来れば自動で更新されるため、キーの漏えいと管理から解放されます。使いどころはAWS上で動くあらゆるコード。「アクセスキーをコードに書く」「Parameter Storeに保管する」といった選択肢が並んでいたら、ロールを使う選択肢が正解です。

社員のログインには IAM Identity Center

社内のIDプロバイダと連携し、既存の社員アカウントでAWSへサインインさせます。使いどころは複数アカウントに多数の社員がアクセスする環境。アカウントごとにIAMユーザーを作る運用は、退職時の削除漏れが起きるため避けます。付与された権限セットは、各アカウントにロールとして展開されます。

アプリの一般ユーザーには Amazon Cognito

モバイルアプリやWebアプリのエンドユーザーには Cognito を使います。ユーザープールがサインアップとサインインを担当し、多要素認証やソーシャルログインにも対応します。発行されたトークンは API Gateway のオーソライザーで検証できます。ユーザーが直接S3などのAWSリソースを触る必要がある場合は、IDプールが一時的なAWS認証情報を発行します。この2つの役割の違いは頻出です。

アクセスする相手使う仕組み渡すもの
EC2やLambdaなどのAWSリソースIAMロール一時認証情報(自動更新)
社員や運用担当者IAM Identity CenterSSOで引き受けるロール
アプリのエンドユーザーCognito ユーザープールIDトークンとアクセストークン
エンドユーザーが直接AWSを操作Cognito IDプール一時的なAWS認証情報
他アカウントや外部ベンダークロスアカウントロールExternalId付きの引き受け
試験ポイント 「長期のアクセスキーを発行する」という選択肢は、ほぼすべての設問で不正解です。一時的な認証情報を使う方法が用意されていないか、まず探してください。
よくある誤り Cognito のユーザープールとIDプールを混同しがちです。サインインの窓口がユーザープール、AWSリソースを触るための認証情報を配るのがIDプールと覚えます。

チェックリスト

  • EC2からS3へ安全にアクセスさせる方法を説明できる
  • 社員向けにIAMユーザーを量産しない理由を言える
  • Cognitoのユーザープールとインデンティティプールの役割を区別できる
  • API Gateway でトークンを検証する仕組みを知っている
  • 長期アクセスキーが不正解になりやすい理由を説明できる

まとめ

相手が誰かを見極め、一時的な認証情報を渡す方法を選ぶ。この原則さえ守れば、認証と認可の設問は安定して正解できます。

理解を確かめるにはクイズで腕試しを、最新の出題範囲はAWS認定 公式ページで必ず確認してください。

📚

SAA(ソリューションアーキテクト アソシエイト) におすすめの教材

徹底攻略 AWS認定 ソリューションアーキテクト − アソシエイト教科書 第3版[SAA-C03]対応 表紙
書籍

徹底攻略 AWS認定 ソリューションアーキテクト − アソシエイト教科書 第3版[SAA-C03]対応

体系的にサービスと出題範囲を学べる定番テキスト

★★★★☆

Amazonで見る
AWS認定ソリューションアーキテクト−アソシエイト問題集 表紙
問題集

AWS認定ソリューションアーキテクト−アソシエイト問題集

本番形式の演習で総仕上げに最適

★★★★☆

Amazonで見る
Udemyコース
Udemy・講座

これだけでOK! AWS認定SAA(SAA-C03)試験突破講座

動画で体系的に学べる対策コース

Udemy

Udemyで見る
Udemy模擬試験
Udemy・模試

AWS認定SAA 本番模試(6回分/390問)

本番形式の演習で総仕上げ

Udemy

Udemyで見る

本セクションにはAmazonアソシエイト・Udemyアフィリエイトのリンクが含まれます。