😸

AWS IAM Identity Centerを使って本気でAWSアカウントを守る

2023/12/18に公開

はじめに

この記事はDevOps on AWS大全の一部です。
DevOps on AWS大全の一覧はこちら

この記事ではAWS IAM Identity Centerに関連する内容を超詳細にまとめています。

具体的には以下流れで説明します。

  • AWS IAM Identity Centerとは
  • AWS IAM Identity Centerの仕組み
  • AWS IAM Identity Centerの活用
  • AWS IAM Identity Centerのベストプラクティス

AWSの区分でいう「Level 200:トピックの入門知識を持っていることを前提に、ベストプラクティス、サービス機能を解説するレベル」の内容です。

この記事を読んでほしい人

  • AWS IAM Identity Centerがどういうサービスか説明できるようになりたい人
  • AWS IAM Identity Centerを採用するときのベストプラクティスを説明できるようになりたい人
  • AWS Certified DevOps Engineer Professionalを目指している人

AWS IAM Identity Centerとは

AWS IAM Identity Centerとは、AWSのマルチアカウント環境で、ユーザーとアプリケーションのアイデンティティとアクセス管理を簡単に行えるサービスです。

AWS IAM Identity Centerは、AWS Organizationsと連携して、組織内のすべてのアカウントに対して一元的に権限を付与したり、アプリケーションを割り当てたりすることができます。

また、属性ベースのアクセス制御(ABAC)を利用して、ユーザーの属性やコンテキストに応じて柔転なアクセスポリシーを設定することができます。

AWS IAM Identity Centerの仕組み

AWS IAM Identity Centerの仕組みは、以下のようになっています。

マルチアカウント権限

AWS Organizationsで管理されているマスターアカウントから、メンバーアカウントに対してIAMロールを作成し、信頼関係を設定することで、マスターアカウントからメンバーアカウントへの権限委任が可能になります。
このようにして、マスターアカウントでユーザーを管理し、メンバーアカウントでリソースを管理することができます。

アプリケーションの割り当て

AWS IAM Identity Centerでは、AWS SSOやAWS Cognitoなどのアイデンティティプロバイダーと連携して、ユーザーに対してアプリケーションを割り当てることができます。
アプリケーションは、AWSサービスやサードパーティのSaaSサービスなどが対象になります。
アプリケーションの割り当ては、ユーザーの属性やグループに基づいて行うことができます。

属性ベースのアクセス制御

AWS IAM Identity Centerでは、ABACを利用して、ユーザーの属性やコンテキストに応じて柔転なアクセスポリシーを設定することができます。
属性は、ユーザー名や所属部署、役職などの情報を指し、コンテキストは、時間や場所、デバイスなどの状況を指します。
属性やコンテキストは、タグや条件演算子を使ってポリシーに組み込むことができます。

AWS IAM Identity Centerの活用方法

AWS IAM Identity Centerの活用方法は、以下のようなシナリオが考えられます。

組織内で共通の権限管理基準を適用したい場合

マスターアカウントからメンバーアカウントに対してIAMロールを作成し、信頼関係を設定することで、組織内で共通の権限管理基準を適用することができます。
例えば、開発者グループに対しては開発用アカウントへのフルアクセス権限を付与し、運用者グループに対しては本番用アカウントへの読み取り専用権限を付与するといった使い方です。

ユーザーに応じて必要なアプリケーションへのアクセスを提供したい場合

AWS IAM Identity Centerでは、ユーザーに対して必要なアプリケーションへのアクセスを提供することができます。
例えば、営業部のユーザーに対してはSalesforceやGmailなどのSaaSサービスへのアクセスを割り当て、開発部のユーザーに対してはAWSコンソールやGitHubなどの開発ツールへのアクセスを割り当てるといった使い方です。

ユーザーの属性やコンテキストに応じてアクセス制御を行いたい場合

AWS IAM Identity Centerでは、ABACを利用して、ユーザーの属性やコンテキストに応じてアクセス制御を行うことができます。
例えば、所属部署や役職に基づいてリソースへのアクセスレベルを変更したり、時間や場所に基づいてリソースへのアクセス可能性を変更したりするといった使い方です。

AWS IAM Identity Centerのベストプラクティス

AWS IAM Identity Centerのベストプラクティスは、以下の表にまとめられます。

ベストプラクティス 説明
最小限のアクセス権限の適用 ユーザーには必要最小限のアクセス権限を付与します。
マルチファクタ認証の使用 セキュリティを強化するために、マルチファクタ認証(MFA)を適用します。
定期的なアクセス権のレビュー 定期的にアクセス権をレビューし、不要な権限を削除します。
ABACの利用 属性ベースのアクセス制御を活用して、より細かくアクセスを制御します。
統合ID管理の採用 既存のID管理システムとの統合を通じて、ユーザー管理を効率化します。

まとめ

この記事ではAWS IAM Identity Centerに関連する内容を超詳細にまとめました。

  • AWS IAM Identity Centerとは
  • AWS IAM Identity Centerの仕組み
  • AWS IAM Identity Centerの活用
  • AWS IAM Identity Centerのベストプラクティス

次回はAWS WAFを超詳細解説します。

Discussion