コンサルでデータサイエンティスト

仕事でPythonを書いてます。機械学習、Webマーケティングに興味があります。趣味は旅です。

【AWSソリューションアーキテクト試験用まとめ】IAMと認証連携

はじめに

AWS 認定ソリューションアーキテクト – プロフェッショナル(SAP)試験の勉強に向けた頭の整理として、以下の内容について用語レベルでまとめていきます。

※この項目分類については、UdemyのUltimate AWS Certified Solutions Architect Professional 2020コースを参考にしています。

f:id:hktech:20201206010537p:plain

IAM

  • アイデンティティ(ユーザなど)のリソースへのアクセス権限などを制御・管理するサービス。アクセス方法としては ①マネジメントコンソール、②AWS CLI、③AWS SDK、④IAM HTTPS APIの4つの方法がある。

STS

  • STSとはAWS Security Token Serviceの略であり、一時的なセキュリティ認証情報をユーザ(IAMユーザ以外含む)に与えることでAWSリソースへのアクセスを許可することが可能。これによりassume role やidentity federationなどを実現。クロスアカウントアクセスも実現可能。

Cognito

  • IAMユーザを作成することなく、匿名ユーザに対してもウェブアイデンティティフェデレーションを実現する仕組み。MFAもサポート。認証されたユーザの権限はIAMポリシーによって制御可能。

SAML2.0

AWS Directory Services

  • AWS Directory Servicesとは、Microsoft Active Directory (AD) を AWS の他のサービスと併用するための仕組み。管理者はユーザ、グループ、デバイスに関する保存したディレクトリを通じてリソースへのアクセスを管理可能。また、各種第三者アプリケーションに対してSSO(後述)を提供することも可能。
  • おおまかに①AWS Managed Microsoft AD、②AD Connector、③Simple ADに分類することができる。

AWS Microsoft AD

  • AWS上でMicrosoft AD(Windowsサーバ上で用意されるADドメインサービス)をマネージドサービスとして利用可能。オンプレミスのMicrosoft ADに対して信用接続が可能。

AD Connector

  • オンプレミスのMicrosoft ADに対して接続するゲートウェイの役割を持つ。ユーザ管理自体はオンプレミスのADが担う。

Simple AD

  • 安価でADサービスを実現するサービス。500-5000人のユーザを扱うことができるが、MFAやAWS SSOには対応しておらず、オンプレミスのMicrosoft ADとも接続不可。

AWS Organization

  • 複数アカウントをまとめて管理する仕組み。マスターアカウントは子アカウントを作成・招待することができ、IAMロールを作成したりAssume Roleを使うことでマスターから子アカウントにアクセス可能。これらの子アカウント作成ははAPIによって自動化可能。
  • OrganizationはOrganizational Units(OU)という単位で整理され、Root OU配下に組織単位・プロジェクト単位・開発環境単位などで自由に分けることができる。Organization単位でサービスコトロールポリシー(SCP)を設定することで、リソースへのアクセス制御を実現可能。

AWS Resource Access Manager

  • AWSリソースをOrganization内の他アカウントと共有するための仕組み。

AWS Single Sign On(SSO)

  • 複数アカウントと第三者アプリケーションのSSOを一元管理するサービス。オンプレミスAD、第三者アプリケーション、カスタムSAMLアプリケーションとの連携が可能。