AWS CLI の AWS IAM Identity Center の概念
このトピックでは、AWS IAM Identity Center (IAM アイデンティティセンター) の主な概念について説明します。IAM アイデンティティセンターは、既存の ID プロバイダー (IdP) と統合することで、複数の AWS アカウント アカウント、アプリケーション、SDK、およびツールにわたるユーザーアクセス管理を簡素化するクラウドベースの IAM サービスです。一元化されたユーザーポータルを通じて安全なシングルサインオン、アクセス許可管理、監査が可能になり、組織の ID とアクセスのガバナンスが合理化されます。
IAM アイデンティティセンターとは
IAM アイデンティティセンターは、複数の AWS アカウントやビジネスアプリケーションへのアクセスを一元管理できるクラウドベースの Identity and Access Management (IAM) サービスです。
このサービスには、権限があるユーザーが既存の企業認証情報を使用して、アクセス許可が付与されている AWS アカウントとアプリケーションにアクセスできるユーザーポータルが用意されています。これにより、組織は一貫したセキュリティポリシーを適用し、ユーザーアクセス管理を効率化できます。
使用する IdP に関係なく、IAM Identity Center によってこれらの区別はなくなります。例えば、ブログ記事「The Next Evolution in IAM Identity Center
注記
アカウント ID とロールを使用しないベアラー認証の使用方法については、Amazon CodeCatalyst ユーザーガイドの「CodeCatalyst で AWS CLI を使用するためのセットアップ」を参照してください。
用語
IAM アイデンティティセンターを使用する際によく使われる用語は次のとおりです。
- ID プロバイダー (IdP)
-
IAM アイデンティティセンター、Microsoft Azure AD、Okta、または独自の企業ディレクトリサービスなどの ID 管理システム。
- AWS IAM Identity Center
-
IAM アイデンティティセンターは、AWS 所有の IdP サービスです。以前は AWS Single Sign-On と呼ばれてたもので、SDK とツールには下位互換性のために
sso
API 名前空間が保持さています。詳細については、「AWS IAM Identity Center ユーザーガイド」の「What is IAM Identity Center」(IAM Identity Center とは) を参照してください。 - AWS アクセスポータル
-
承認済み AWS アカウント、サービス、リソースにアクセスするための一意の IAM アイデンティティセンター URL。
- フェデレーション
-
シングルサインオン (SSO) を有効にするために IAM アイデンティティセンターと ID プロバイダー間に信頼を確立するプロセス。
- AWS アカウント
-
AWS IAM Identity Center を通じてユーザーにアクセスを付与する AWS アカウント。
- アクセス許可セット、AWS 認証情報、認証情報、sigv4 認証情報
-
AWS のサービス へのアクセスを付与するためにユーザーまたはグループに割り当てることができる事前定義されたアクセス許可のコレクション。
- 登録スコープ、アクセススコープ、スコープ
-
スコープは、アプリケーションによるユーザーアカウントへのアクセスを制限するための OAuth 2.0 のメカニズムです。アプリケーションは 1 つ以上のスコープをリクエストでき、アプリケーションに発行されたアクセストークンは付与されたスコープに限定されます。スコープについては、「IAM アイデンティティセンターのユーザーガイド」の「OAuth 2.0 Access scopes」を参照してください。
- トークン、更新トークン、アクセストークン
-
トークンは、認証時に発行される一時的なセキュリティ認証情報です。これらのトークンには、ID と付与されたアクセス許可に関する情報が含まれています。
IAM アイデンティティセンターのポータルを通じて AWS リソースやアプリケーションにアクセスするときに、トークンが AWS に提示され、認証と承認が行われます。これにより、AWS はユーザーの ID を確認し、ユーザーが要求したアクションを実行するために必要なアクセス許可をユーザーが持っていることを確認できます。
認証トークンは、セッション名に基づいた JSON ファイル名を使用して、
~/.aws/sso/cache
ディレクトリの下のディスクにキャッシュされます。 - セッション
-
IAM アイデンティティセンターのセッションとは、ユーザーが認証され、AWS リソースやアプリケーションへのアクセスが承認されている期間を指します。ユーザーが IAM アイデンティティセンターのポータルにサインインすると、セッションが確立され、ユーザーのトークンは指定された期間にわたり有効になります。セッション時間に詳細については、「AWS IAM Identity Center ユーザーガイド」の「Set session duration」を参照してください。
セッション中は、セッションがアクティブな状態である限り、再認証をする必要なく、異なる AWS アカウントやアプリケーション間を移動できます。セッションの有効期限が切れた場合は、もう一度サインインしてアクセスを更新してください。
IAM アイデンティティセンターのセッションは、ユーザーアクセス認証情報の有効期限を制限することでセキュリティのベストプラクティスを実施しながら、シームレスなユーザーエクスペリエンスを提供するのに役立ちます。
IAM アイデンティティセンターの仕組み
IAM アイデンティティセンターは、IAM アイデンティティセンター、Microsoft Azure AD、Okta など、組織の ID プロバイダーと統合されます。ユーザーはこの ID プロバイダーに対して認証を行い、IAM アイデンティティセンターはそれらの ID を AWS 環境内の適切なアクセス許可とアクセスにマッピングします。
次の IAM アイデンティテセンターのワークフローは、IAM アイデンティティセンターを使用するように AWS CLI が既に設定されていることを前提としています。
-
任意のターミナルで
aws sso login
コマンドを実行します。 -
AWS アクセスポータル にサインインし、新しいセッションを開始します。
-
新しいセッションを開始すると、キャッシュされている更新トークンとアクセストークンが届きます。
-
既にアクティブなセッションがある場合、既存のセッションが再利用され、既存のセッションの有効期限が切れると期限切れになります。
-
-
config
ファイルで設定したプロファイルに基づいて、IAM アイデンティティセンターは適切なアクセス許可セットを引き受け、関連する AWS アカウントおよびアプリケーションへのアクセスを付与します。 -
AWS CLI、SDK、およびツールは引き受けた IAM ロールを使用して、そのセッションの有効期限が切れるまで、Amazon S3 バケットの作成などの AWS のサービスを呼び出します。
-
IAM アイデンティティセンターから取得したアクセストークンは 1 時間ごとにチェックされ、更新トークンを使用して自動的に更新されます。
-
アクセストークンの有効期限が切れると、SDK やツールは更新トークンを使用して新しいアクセストークンを取得します。そして、これらのトークンのセッション期間を比較し、更新トークンの有効期限が切れていない場合は、IAM アイデンティティセンターが新しいアクセストークンを提供します。
-
更新トークンの有効期限が切れている場合は、新しいアクセストークンは提供されず、セッションは終了します。
-
-
セッションは、更新トークンの有効期限が切れるか、
aws sso logout
コマンドを使用して手動でログアウトすると終了します。キャッシュされた認証情報は削除されます。IAM アイデンティティセンターを使用してサービスへのアクセスを継続するには、aws sso login
コマンドを使用して新しいセッションを開始する必要があります。
追加リソース
その他のリソースは次のとおりです。
-
チュートリアル: IAM アイデンティティセンターを使用して AWS CLI で Amazon S3 コマンドを実行する
-
aws configure sso
(AWS CLI バージョン 2 リファレンス) -
aws configure sso-session
(AWS CLI バージョン 2 リファレンス) -
aws sso login
(AWS CLI バージョン 2 リファレンス) -
aws sso logout
(AWS CLI バージョン 2 リファレンス) -
「Amazon CodeCatalyst ユーザーガイド」の「Setting up to use the AWS CLI with CodeCatalyst」
-
「AWS IAM Identity Center ユーザーガイド」の「IAM Identity Center rename」
-
「IAM アイデンティティセンターのユーザーガイド」の OAuth 2.0 アクセススコープ
-
「AWS IAM Identity Center ユーザーガイド」の「Set session duration」
-
「IAM アイデンティティセンターのユーザーガイド」の入門チュートリアル