

# AWS CLI の AWS IAM アイデンティティセンター の概念
<a name="cli-configure-sso-concepts"></a>

このトピックでは、AWS IAM アイデンティティセンター (IAM アイデンティティセンター) の主な概念について説明します。IAM アイデンティティセンターは、既存の ID プロバイダー (IdP) と統合することで、複数の AWS アカウント アカウント、アプリケーション、SDK、およびツールにわたるユーザーアクセス管理を簡素化するクラウドベースの IAM サービスです。一元化されたユーザーポータルを通じて安全なシングルサインオン、アクセス許可管理、監査が可能になり、組織の ID とアクセスのガバナンスが合理化されます。

**Topics**
+ [IAM アイデンティティセンターとは](#cli-configure-sso-concepts-what)
+ [用語](#cli-configure-sso-terms)
+ [IAM アイデンティティセンターの仕組み](#cli-configure-sso-concepts-process)
+ [その他のリソース](#cli-configure-sso-concepts-resources)

## IAM アイデンティティセンターとは
<a name="cli-configure-sso-concepts-what"></a>

IAM アイデンティティセンターは、複数の AWS アカウントやビジネスアプリケーションへのアクセスを一元管理できるクラウドベースの Identity and Access Management (IAM) サービスです。

このサービスには、権限があるユーザーが既存の企業認証情報を使用して、アクセス許可が付与されている AWS アカウントとアプリケーションにアクセスできるユーザーポータルが用意されています。これにより、組織は一貫したセキュリティポリシーを適用し、ユーザーアクセス管理を効率化できます。

使用する IdP に関係なく、IAM Identity Center によってこれらの区別はなくなります。例えば、ブログ記事「[The Next Evolution in IAM Identity Center](https://aws.amazon.com/blogs/aws/the-next-evolution-in-aws-single-sign-on/)」で説明されているように、Microsoft Azure AD を接続できます。

**注記**  
アカウント ID とロールを使用しないベアラー認証の使用方法については、Amazon CodeCatalyst ユーザーガイドの「[CodeCatalyst で AWS CLI を使用するためのセットアップ](https://docs.aws.amazon.com/codecatalyst/latest/userguide/set-up-cli.html)」を参照してください。

## 用語
<a name="cli-configure-sso-terms"></a>

IAM アイデンティティセンターを使用する際によく使われる用語は次のとおりです。

**ID プロバイダー (IdP)**  
IAM アイデンティティセンター、Microsoft Azure AD、Okta、または独自の企業ディレクトリサービスなどの ID 管理システム。

**AWS IAM アイデンティティセンター**  
IAM アイデンティティセンターは、AWS 所有の IdP サービスです。以前は AWS Single Sign-On と呼ばれてたもので、SDK とツールには下位互換性のために `sso` API 名前空間が保持さています。詳細については、「*AWS IAM アイデンティティセンター ユーザーガイド*」の「[What is IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html#renamed)」(IAM Identity Center とは) を参照してください。

**AWS アクセスポータル URL、SSO 開始 URL、開始 URL**  
認可済み AWS アカウント、サービス、リソースにアクセスするための組織固有の IAM Identity Center URL。

**発行者 URL**  
承認済み AWS アカウント、サービス、リソースにプログラムによりアクセスするための組織固有の IAM Identity Center 発行者 URL。AWS CLI のバージョン 2.22.0 以降では、発行者 URL は開始 URL と置き換えて使用できます。

**フェデレーション**  
シングルサインオン (SSO) を有効にするために IAM アイデンティティセンターと ID プロバイダー間に信頼を確立するプロセス。

**AWS アカウント**  
AWS IAM アイデンティティセンター を通じてユーザーにアクセスを付与する AWS アカウント。

**アクセス許可セット、AWS 認証情報、認証情報、sigv4 認証情報**  
AWS のサービス へのアクセスを付与するためにユーザーまたはグループに割り当てることができる事前定義されたアクセス許可のコレクション。

**登録スコープ、アクセススコープ、スコープ**  
スコープは、アプリケーションによるユーザーアカウントへのアクセスを制限するための OAuth 2.0 のメカニズムです。アプリケーションは 1 つ以上のスコープをリクエストでき、アプリケーションに発行されたアクセストークンは付与されたスコープに限定されます。スコープの詳細については、*IAM Identity Center ユーザーガイド*の「[アクセススコープ](https://docs.aws.amazon.com/singlesignon/latest/userguide/customermanagedapps-saml2-oauth2.html#oidc-concept) 」を参照してください。

**トークン、更新トークン、アクセストークン**  
トークンは、認証時に発行される一時的なセキュリティ認証情報です。これらのトークンには、ID と付与されたアクセス許可に関する情報が含まれています。  
IAM アイデンティティセンターのポータルを通じて AWS リソースやアプリケーションにアクセスするときに、トークンが AWS に提示され、認証と承認が行われます。これにより、AWS はユーザーの ID を確認し、ユーザーが要求したアクションを実行するために必要なアクセス許可をユーザーが持っていることを確認できます。  
認証トークンは、セッション名に基づいた JSON ファイル名を使用して、`~/.aws/sso/cache` ディレクトリの下のディスクにキャッシュされます。

**セッション**  
IAM アイデンティティセンターのセッションとは、ユーザーが認証され、AWS リソースやアプリケーションへのアクセスが承認されている期間を指します。ユーザーが IAM アイデンティティセンターのポータルにサインインすると、セッションが確立され、ユーザーのトークンは指定された期間にわたり有効になります。セッション時間に詳細については、「*AWS IAM アイデンティティセンター ユーザーガイド*」の「[Set session duration](https://docs.aws.amazon.com/singlesignon/latest/userguide/howtosessionduration.html)」を参照してください。  
セッション中は、セッションがアクティブな状態である限り、再認証をする必要なく、異なる AWS アカウントやアプリケーション間を移動できます。セッションの有効期限が切れた場合は、もう一度サインインしてアクセスを更新してください。  
IAM アイデンティティセンターのセッションは、ユーザーアクセス認証情報の有効期限を制限することでセキュリティのベストプラクティスを実施しながら、シームレスなユーザーエクスペリエンスを提供するのに役立ちます。

**Proof Key for Code Exchange (PKCE) を使用した認可コードの付与**  
バージョン 2.22.0 以降、Proof Key for Code Exchange (PKCE) は、ブラウザを搭載したデバイス向けの OAuth 2.0 認証付与フローです。PKCE は、ウェブブラウザを搭載したデスクトップやモバイルデバイスから AWS リソースへのアクセスを認証し、同意を得るためのシンプルで安全な方法です。これはデフォルトの認可動作です。PKCE の詳細については、*AWS IAM アイデンティティセンター ユーザーガイド*の「[PKCE を使用した認可コード付与](https://docs.aws.amazon.com/singlesignon/latest/userguide/customermanagedapps-saml2-oauth2.html#auth-code-grant-pkce)」を参照してください。

**デバイス認可付与**  
ウェブブラウザの有無にかかわらず、デバイスで使用可能な OAuth 2.0 認証付与フロー。セッション期間の設定の詳細については、*AWS IAM アイデンティティセンター ユーザーガイド*の「[デバイス認可付与](https://docs.aws.amazon.com/singlesignon/latest/userguide/customermanagedapps-saml2-oauth2.html#device-auth-grant)」を参照してください。

## IAM アイデンティティセンターの仕組み
<a name="cli-configure-sso-concepts-process"></a>

IAM アイデンティティセンターは、IAM アイデンティティセンター、Microsoft Azure AD、Okta など、組織の ID プロバイダーと統合されます。ユーザーはこの ID プロバイダーに対して認証を行い、IAM アイデンティティセンターはそれらの ID を AWS 環境内の適切なアクセス許可とアクセスにマッピングします。

次の IAM アイデンティテセンターのワークフローは、IAM アイデンティティセンターを使用するように AWS CLI が既に設定されていることを前提としています。

1. 任意のターミナルで `aws sso login` コマンドを実行します。

1. AWS アクセスポータル にサインインし、新しいセッションを開始します。
   + 新しいセッションを開始すると、キャッシュされている更新トークンとアクセストークンが届きます。
   + 既にアクティブなセッションがある場合、既存のセッションが再利用され、既存のセッションの有効期限が切れると期限切れになります。

1. `config` ファイルで設定したプロファイルに基づいて、IAM アイデンティティセンターは適切なアクセス許可セットを引き受け、関連する AWS アカウントおよびアプリケーションへのアクセスを付与します。

1. AWS CLI、SDK、およびツールは引き受けた IAM ロールを使用して、そのセッションの有効期限が切れるまで、Amazon S3 バケットの作成などの AWS のサービスを呼び出します。

1. IAM アイデンティティセンターから取得したアクセストークンは 1 時間ごとにチェックされ、更新トークンを使用して自動的に更新されます。
   + アクセストークンの有効期限が切れると、SDK やツールは更新トークンを使用して新しいアクセストークンを取得します。そして、これらのトークンのセッション期間を比較し、更新トークンの有効期限が切れていない場合は、IAM アイデンティティセンターが新しいアクセストークンを提供します。
   + 更新トークンの有効期限が切れている場合は、新しいアクセストークンは提供されず、セッションは終了します。

1. セッションは、更新トークンの有効期限が切れるか、`aws sso logout` コマンドを使用して手動でログアウトすると終了します。キャッシュされた認証情報は削除されます。IAM アイデンティティセンターを使用してサービスへのアクセスを継続するには、`aws sso login` コマンドを使用して新しいセッションを開始する必要があります。

## その他のリソース
<a name="cli-configure-sso-concepts-resources"></a>

その他のリソースは次のとおりです。
+ [AWS CLI を使用した IAM アイデンティティセンター認証の設定](cli-configure-sso.md)
+ [チュートリアル: IAM アイデンティティセンターを使用して AWS CLI で Amazon S3 コマンドを実行する](cli-configure-sso-tutorial.md)
+ [AWS CLI の最新バージョンのインストールまたは更新](getting-started-install.md)
+ [Configuration and credential file settings in the AWS CLI](cli-configure-files.md)
+ [https://docs.aws.amazon.com/cli/latest/reference/configure/sso.html](https://docs.aws.amazon.com/cli/latest/reference/configure/sso.html) (*AWS CLI バージョン 2 リファレンス*)
+ [https://docs.aws.amazon.com/cli/latest/reference/configure/sso-session.html](https://docs.aws.amazon.com/cli/latest/reference/configure/sso-session.html) (*AWS CLI バージョン 2 リファレンス*)
+ [https://docs.aws.amazon.com/cli/latest/reference/sso/login.html](https://docs.aws.amazon.com/cli/latest/reference/sso/login.html) (*AWS CLI バージョン 2 リファレンス*)
+ [https://docs.aws.amazon.com/cli/latest/reference/sso/logout.html](https://docs.aws.amazon.com/cli/latest/reference/sso/logout.html) (*AWS CLI バージョン 2 リファレンス*)
+ 「*Amazon CodeCatalyst ユーザーガイド*」の「[Setting up to use the AWS CLI with CodeCatalyst](https://docs.aws.amazon.com/codecatalyst/latest/userguide/set-up-cli.html)」
+ 「*AWS IAM アイデンティティセンター ユーザーガイド*」の「[IAM Identity Center rename](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html#renamed)」
+ 「*IAM アイデンティティセンターのユーザーガイド*」の [OAuth 2.0 アクセススコープ](https://docs.aws.amazon.com/singlesignon/latest/userguide/customermanagedapps-saml2-oauth2.html#oidc-concept)
+ 「*AWS IAM アイデンティティセンター ユーザーガイド*」の「[Set session duration](https://docs.aws.amazon.com/singlesignon/latest/userguide/howtosessionduration.html)」
+ 「*IAM アイデンティティセンターのユーザーガイド*」の[入門チュートリアル](https://docs.aws.amazon.com/singlesignon/latest/userguide/tutorials.html)