AWS アカウント へのアクセスを設定する
IAM Identity Center の組織インスタンスは、AWS Organizations と統合されています。これにより、各アカウントへのアクセスを個別に設定することなく、複数の AWS アカウント にわたるアクセス許可を一元管理できます。
次の表は、考慮すべきアカウントアクセス管理オプションを比較したものです。
| IAM ロールとアカウントアクセスマネージャー | IAM アイデンティティセンターのアクセス許可セット | 直接 IAM フェデレーションを使用する IAM ロール | |
|---|---|---|---|
| 適しているチーム | ワークフォースユーザーとグループに、アカウントごとに異なるカスタム IAM ロールが付与されます。ロールの作成とプロビジョニングを分散させて、ユーザーへのロールの割り当てを一元化します。 | 読み取り専用や管理者などベースラインワークフォースアクセスを統一します。ロールの作成とプロビジョニングを一元化します。 | ワークロード |
| 範囲 – | 1 つの AWS 組織に複数のアカウント | 1 つの AWS 組織に複数のアカウント | アカウントあたり |
| IAM ロールのプロビジョニング |
|
自動的にプロビジョニングされる |
|
| ロール・トゥ・アイデンティティマッピングは以下のところにあります | アカウントアクセスマネージャー | IAM アイデンティティセンター | 外部 IdP |
| エンドユーザーエクスペリエンス | ユーザーがアカウントアクセスポータル URL から AWS アカウント にアクセスします。IAM Identity Center 認証が必要です。 | ユーザーが AWS アクセスポータル URL から AWS アカウント にアクセスします。 | ユーザーは、IdP ポータルのアカウント固有の SAML アプリケーション (アイコン) を介して AWS アカウント にアクセスします。 |
| AWS CLI ユーザーエクスペリエンス | ユーザーは AWS にサインインし、ウェブブラウザで特定のロールを持つ AWS アカウント にアクセスします。ユーザーはコマンドラインに「aws login」と入力して、ブラウザから IAM ロールセッションの認証情報を取得します。IAM ロールセッションの期間中、ユーザーは再認証することなく AWS CLI を引き続き使用できます。 | ユーザーは「aws configure sso」と入力して、目的のアカウントとロールのペアを含むプロファイルを設定します。ユーザーは「aws sso login」と入力し、プロファイルを使用して新しいセッションを開始します。アクティブな IAM Identity Center セッションがない場合、ユーザーはブラウザで認証します。詳細については、「AWS IAM アイデンティティセンター ユーザーガイド」を参照してください。 | AWS SDK 認証情報プロバイダーを使用したカスタム統合 |
AWS アカウント タイプ
AWS Organizations には次の 2 種類の AWS アカウント があります。
-
管理アカウント - 組織を作成するために使用する AWS アカウント。
-
メンバーアカウント - 組織に属する残りの AWS アカウント。
AWS アカウント タイプの詳細については、「AWS Organizations ユーザーガイド」の「AWS Organizations 用語とコンセプト」を参照してください。
IAM アイデンティティセンターの「委任管理者」としてメンバーアカウントを登録することもできます。このアカウントのユーザーは、ほとんどの IAM Identity Center 管理タスクを実行できます。詳細については、「委任された管理」を参照してください。
次の表は、タスクとアカウントタイプごとに、IAM Identity Center 管理タスクをアカウント内のユーザーが実行できるかどうかを示しています。
| IAM Identity Center 管理タスク | メンバーアカウント | 委任された管理者アカウント | 管理アカウント |
|---|---|---|---|
| ユーザーまたはグループの読み取り (グループ自体とグループのメンバーシップの読み取り) | |||
| ユーザーまたはグループを追加、編集、削除する | |||
| ユーザーアクセスの有効化または無効化 | |||
| 受信属性を有効化、無効化、管理する | |||
| ID ソースの変更または管理 | |||
| カスタマーマネージドアプリケーションの作成、編集、削除 | |||
| AWS マネージドアプリケーションの作成、編集、削除 | |||
| MFA を設定 | |||
| 管理アカウントにプロビジョニングされていない権限セットを管理する | |||
| 管理アカウントにプロビジョニングされた権限セットを管理する | |||
| IAM Identity Center を有効にする | |||
| IAM Identity Center 設定を削除する | |||
| 管理アカウントのユーザーアクセスを有効または無効にします。 | |||
| メンバーアカウントを委任管理者として登録または登録解除する |
* 管理アカウントへのユーザーとグループの割り当てに関する委任管理のベストプラクティスを参照してください。
AWS アカウント アクセスの割り当て
「アクセス許可セット」を使用すると、組織内のユーザーやグループに AWS アカウント へのアクセスを割り当てる方法を簡素化することができます。権限セットは IAM Identity Center に保存され、ユーザーおよびグループが持つこの AWS アカウント に対するアクセスのレベルを定義します。1 つの権限セットを作成して、組織内の複数の AWS アカウント に割り当てることができます。同じユーザに複数の権限セットを割り当てることもできます。
アカウントアクセスマネージャーを使用することもできます。これは、組織のアカウント内の IAM Identity Center のユーザーやグループに既存の IAM ロールを割り当てることができる IAM 機能です。アカウントアクセスマネージャーを単独で使用することも、アクセス許可セットと組み合わせて使用することもできます。アカウントアクセスマネージャーを使用すると、カスタム信頼ポリシー、ABAC のロールタグ、設定可能なロールパスなどの IAM ロールの完全な機能セットにアクセスできます。
アクセス権限セットの詳細については、「アクセス許可セットの作成、管理と削除」を参照してください。
注記
また、ユーザーにアプリケーションへのシングルサインオンアクセスを割り当てることもできます。詳細については、「アプリケーションへのアクセスを設定する」を参照してください。
エンドユーザーエクスペリエンス
AWS アクセスポータル は、IAM アイデンティティセンターユーザーに、ウェブポータルを介して割り当てられたすべての AWS アカウント およびアプリケーションへのシングルサインオンアクセスを提供します。AWS アクセスポータルは、AWS リソースを管理するためのサービスコンソールの集合体である AWS マネジメントコンソール とは異なります。
権限セットを作成すると、このセットに指定した名前は、使用可能なロールとして AWS アクセスポータルに表示されます。ユーザーは AWS アクセスポータルにサインインし、AWS アカウント を選択し、次にロールを選択します。ロールを選択した後、AWS マネジメントコンソール を使用して AWS サービスにアクセスするか、一時的な資格情報を取得してプログラム的に AWS サービスにアクセスすることができます。
プログラムで AWS マネジメントコンソール を開くか、一時的な認証情報を取得して AWS にアクセスするには、次の手順を実行する必要があります。
-
ユーザーはブラウザーウィンドウを開き、入力されたサインイン URL を使用して AWS アクセスポータルに移動します。
-
ディレクトリの認証情報を使用して、AWS アクセスポータルにサインインします。
-
認証後、AWS アクセスポータルページで [アカウント] タブを選択し、アクセスできる AWS アカウントのリストを表示させます。
-
ここから使用したい AWS アカウントを選択します。
-
AWS アカウント の名前の下に、ユーザが割り当てられている権限セットが利用可能なロ ールとして表示されます。たとえば、ユーザー
john_stilesをPowerUser権限セットに割り当てている場合、AWS アクセスポータルに表示されるロール名はPowerUser/john_stilesとなります。複数のアクセス権限セットが割り当てられている場合は、使用する ロールを選択する。ユーザーはロールを選択して AWS マネジメントコンソールにアクセスできます。 -
ロールに加えて、AWS アクセスポータルユーザーは、[アクセスキー] を選択して、コマンドラインまたはプログラムによるアクセスのための一時的な認証情報を取得できます。
ワークフォースユーザーに提供できるステップバイステップガイドについては、AWS アクセスポータルのセットアップと使用 と AWS CLI または AWS SDK の IAM Identity Center のユーザー認証情報を取得します。 を参照してください。
アクセスの強制と制限
IAM Identity Center を有効にすると、IAM Identity Center はサービスにリンクされたロールを作成します。サービスコントロールポリシーを使用することもできます。
アクセス権の委任と強制
サービスにリンクされたロールは、AWS のサービスに直接リンクされた一意のタイプの IAM ロールです。IAM Identity Center を有効にすると、IAM Identity Center は組織内の各 AWS アカウント にサービスリンクされたロールを作成できます。このロールは、IAM Identity Center が、組織内の特定の AWS アカウント へのシングルサインオンアクセスを持つユーザーを AWS Organizations に委譲し、実施できるようにするための事前定義された権限を提供します。このロールを使用するには、アカウントへのアクセス権を持つユーザーを 1 人以上割り当てる必要があります。詳細については、「IAM アイデンティティセンターのサービスリンクロールについて」および「IAM Identity Center のサービスリンクロールの使用」を参照してください。
メンバーアカウントからのアイデンティティストアへのアクセスを制限する
IAM Identity Center で使用される Identity Store サービスの場合、メンバーアカウントにアクセスできるユーザーは、「読み取り」権限を必要とする API アクションを使用できます。メンバーアカウントは、「sso-directory」および「identitystore」ネームスペースの両方に対して「読み取り」アクションにアクセスできます。詳細については、「Service Authorization Reference」の「Actions, resources, and condition keys for AWS IAM アイデンティティセンター directory」と「Actions, resources, and condition keys for AWS Identity Store」を参照してください。
メンバーアカウントのユーザーが Identity Store で API 操作を使用できないようにするには、「サービスコントロールポリシー (SCP) をアタッチ」できます。SCP は、組織のアクセス許可の管理に使用できる組織ポリシーの一種です。次の SCP の例では、メンバーアカウントのユーザーがアイデンティティストア内のあらゆる API オペレーションにアクセスできないようにします。
{ "Sid": "ExplicitlyBlockIdentityStoreAccess", "Effect": "Deny", "Action": ["identitystore:*", "sso-directory:*"], "Resource": "*" }
注記
AWS マネージドアプリケーションが IAM アイデンティティセンターと適切に機能するようにするには、アプリケーションをデプロイした AWS アカウント にこの SCP を適用しないようにする必要があります。また、委任管理を使用する場合は、この SCP を委任管理アカウントに適用しないでください。詳細については、「ベストプラクティス」を参照してください。
詳細については、「AWS Organizations ユーザーガイド」の「サービスコントロールポリシー (SCP)」を参照してください。