OpenID Connect (OIDC) ID プロバイダーの作成 - AWS Identity and Access Management

OpenID Connect (OIDC) ID プロバイダーの作成

IAM OIDC ID プロバイダーOpenID Connect (OIDC) 標準 (例: Google または Salesforce) をサポートする ID プロバイダー (IdP) サービスを表す IAM のエンティティです。OIDC 互換 IdP と AWS アカウント の間で信頼性を確立するときに IAM OIDC ID プロバイダーを使用します。このプロバイダーは、AWS リソースへのアクセスを必要とするモバイルアプリやウェブアプリケーションを作成するときに、カスタムサインインコードの作成や独自のユーザー ID の管理をしない場合に役立ちます。このシナリオの詳細については、「ウェブ ID フェデレーションについて」を参照してください。

AWS Management Console、AWS Command Line Interface、Tools for Windows PowerShell、または IAM API を使用して、IAM OIDC ID プロバイダーを作成および管理できます。

IAM OIDC ID プロバイダーを作成したら、1 つ以上の IAM ロールを作成する必要があります。ロールは AWS のアイデンティティであり、それ自体には (ユーザーのような) 認証情報がありません。しかし、この例で、ロールが動的に割り当てられるフェデレーティッドユーザーは、組織の IdP から認証されます。このロールで、組織の IdP が AWS にアクセスするための一時的なセキュリティ認証情報をリクエストできるようにします。ロールに割り当てられているポリシーは、フェデレーティッドユーザーが AWS で実行できることを決定します。サードパーティー ID プロバイダーのロールを作成するには、「サードパーティー ID プロバイダー (フェデレーション) 用のロールの作成」をご参照ください。

OIDC プロバイダーの作成と管理 (コンソール)

AWS Management Console で IAM OIDC ID プロバイダーを作成および管理するには、次の手順に従います。

重要

Google、Facebook、または Amazon Cognito の OIDC ID プロバイダーを使用している場合は、この手順を使用して別の IAM ID プロバイダーを作成しないでください。これらの OIDC ID プロバイダーは、AWS にすでに組み込まれており、使用できます。代わりに、「ウェブ ID または OpenID Connect フェデレーション用のロールの作成 (コンソール)」の手順に従って ID プロバイダーの新しいロールを作成します。

IAM OIDC ID プロバイダーを作成するには (コンソール)
  1. IAM OIDC ID プロバイダーを作成する前に、アプリケーションを IdP に登録してクライアント ID を受け取る必要があります。クライアント ID (対象者とも呼ばれます) は、アプリを IdP に登録したときに発行されるアプリの一意の識別子です。クライアント ID を取得する方法の詳細については、IdP のドキュメントを参照してください。

    注記

    AWS は、IdPs サーバー証明書を検証するために証明書のサムプリントを使用する代わりに、信頼された証明機関 (CA) のライブラリを通じて一部の OIDC ID プロバイダ (IdP) との通信を保護します。これらの OIDC IdP には、Google、Auth0、Amazon S3 バケットを使用して JSON ウェブキーセット (JWKS) エンドポイントをホストするものが含まれます。このような場合、従来のサムプリントは設定に残りますが、検証には使用されなくなります。

  2. IAM コンソール (https://console.aws.amazon.com/iam/) を開きます。

  3. ナビゲーションペインで、[Identity providers] (ID プロバイダー) を選択し、[Add provider] (プロバイダーを追加) を選択します。

  4. [Configure provider] (プロバイダーの設定) で、[OpenID Connect] を選択します。

  5. [プロバイダーの URL] には IdP の URL を入力します。URL は次の制限に準拠する必要があります。

    • URL では大文字と小文字は区別されます。

    • URL は https:// で始まる必要があります。

    • URL にポート番号を含めることはできません。

    • AWS アカウント 内で、各 IAM OIDC ID プロバイダーは一意の URL を使用する必要があります。

  6. [Get thumbprint] (サムプリントを取得) を選択して、IdP のサーバー証明書を検証します。この方法の詳細は、「OpenID Connect ID プロバイダーのサムプリントの取得」を参照してください。

  7. [対象者] には、IdP に登録して ステップ 1 で受け取ったアプリケーションのクライアント ID を入力します。このアプリケーションは AWS に対するリクエストを実行します。この IdP のクライアント ID (対象者) が他にも存在する場合は、後でプロバイダーの詳細ページで追加できます。

  8. (オプション) [Add tags (タグの追加)] では、キーバリューのペアを追加して IdP の特定と整理を行うことができます。タグを使用して、AWS リソースへのアクセスを制御することもできます。IAM OIDC ID プロバイダーのタグ付けの詳細については、「OpenID Connect (OIDC) ID プロバイダーのタグ付け」を参照してください。[Add tag] (タグを追加) を選択します。タグキーバリューのペアごとに値を入力します。

  9. 入力した情報を確認します。完了したら、[Add provider] (プロバイダーを追加) を選択します。

  10. ID プロバイダーに IAM ロールを割り当てて、ID プロバイダーによって管理される外部ユーザー ID にアカウント内の AWS リソースへのアクセス許可を与えます。ID フェデレーション用のロールの作成の詳細については、「サードパーティー ID プロバイダー (フェデレーション) 用のロールの作成」をご参照ください。

IAM OIDC ID プロバイダーのサムプリントを追加または削除するには (コンソール)
  1. IAM コンソール (https://console.aws.amazon.com/iam/) を開きます。

  2. ナビゲーションペインで、[Identity providers (ID プロバイダー)] を選択します。その後、更新する IAM ID プロバイダーの名前を選択します。

  3. [Thumbprints] (サムプリント) セクションで、[Manage] (管理) を選択します。新しいサムプリント値を入力するには、[Add thumbprint] (サムプリントを追加) を選択します。サムプリントを削除するには、削除するサムプリントの横にある [Remove] (削除) を選択します。

    注記

    IAM OIDC ID プロバイダーには少なくとも 1 つのサムプリントが必要であり、最大 5 つのサムプリントを指定できます。

    完了したら、[Save changes] (変更を保存) を選択します。

IAM OIDC ID プロバイダーの対象者を追加するには (コンソール)
  1. ナビゲーションペインで、[Identity providers] (ID プロバイダー) を選択し、更新する IAM ID プロバイダーの名前を選択します。

  2. [Audiences] (対象者) セクションで [Actions] (アクション) を選択し、[Add audience] (対象者を追加) を選択します。

  3. IdP に登録して ステップ 1 で受け取ったアプリケーションのクライアント ID を入力します。このアプリケーションは AWS に対するリクエストを実行します。その後、[Add audiences] (対象者を追加) を選択します。

    注記

    IAM OIDC ID プロバイダーには少なくとも 1 名の閲覧者が必要であり、最大 100 名まで指定できます。

IAM OIDC ID プロバイダーの対象者を削除するには (コンソール)
  1. ナビゲーションペインで、[Identity providers] (ID プロバイダー) を選択し、更新する IAM ID プロバイダーの名前を選択します。

  2. [Audiences] (対象者) セクションで、削除する対象者の横にあるラジオボタンを選択し、[Actions] (アクション) を選択します。

  3. [Remove audience] (対象者を削除) を選択します。新しいウィンドウが開きます。

  4. 対象者を削除すると、対象者とフェデレートする ID は対象者に関連付けられたロールを引き受けることができません。ウィンドウで、警告を読み、フィールドに単語 remove を入力して対象者を削除することを確認します。

  5. 対象者を削除するには、[Remove] (削除) を選択します。

IAM OIDC ID プロバイダーを削除するには (コンソール)
  1. IAM コンソール (https://console.aws.amazon.com/iam/) を開きます。

  2. ナビゲーションペインで、[Identity providers (ID プロバイダー)] を選択します。

  3. 削除する IAM ID プロバイダーの横にあるチェックボックスをオンにします。新しいウィンドウが開きます。

  4. フィールドに単語 delete を入力して、プロバイダーを削除することを確認します。その後、[Delete] (削除) をクリックします。

IAM OIDC ID プロバイダーの作成と管理 (AWS CLI)

以下の AWS CLI コマンドを使用して IAM OIDC ID プロバイダーを作成および管理できます。

IAM OIDC ID プロバイダーを作成するには (AWS CLI)
  1. (オプション) AWS アカウントのすべての IAM OIDC ID プロバイダーを一覧表示するには、次のコマンドを実行します。

  2. 新しい IAM OIDC ID プロバイダーを作成するには、次のコマンドを実行します。

既存の IAM OIDC ID プロバイダー (AWS CLI) のサーバー証明書のサムプリントのリストを更新するには
既存の IAM OIDC ID プロバイダー (AWS CLI) にタグを付けるには
既存の IAM OIDC ID プロバイダー (AWS CLI) のタグを一覧表示するには
IAM OIDC ID プロバイダー (AWS CLI) のタグを削除するには
既存のIAM OIDC ID プロバイダーのクライアント ID を追加または削除するには (AWS CLI)
  1. (オプション) AWS アカウントのすべての IAM OIDC ID プロバイダーのリストを取得するには、次のコマンドを実行します。

  2. (オプション) IAM OIDC ID プロバイダーの詳細情報を取得するには、次のコマンドを実行します。

  3. 既存の IAM OIDC ID プロバイダーに新しいクライアント ID を追加するには、次のコマンドを実行します。

  4. 既存の IAM OIDC ID プロバイダーからクライアント ID を削除するには、次のコマンドを実行します。

IAM OIDC ID プロバイダーを削除するには (AWS CLI)
  1. (オプション) AWS アカウントのすべての IAM OIDC ID プロバイダーのリストを取得するには、次のコマンドを実行します。

  2. (オプション) IAM OIDC ID プロバイダーの詳細情報を取得するには、次のコマンドを実行します。

  3. IAM OIDC ID プロバイダーを削除するには、次のコマンドを実行します。

OIDC ID プロバイダーの作成と管理 (AWS API)

以下の IAM API コマンドを使用して OIDC プロバイダーを作成および管理できます。

IAM OIDC ID プロバイダーを作成するには (AWS API)
  1. (オプション) AWS アカウントのすべての IAM OIDC ID プロバイダーのリストを取得するには、次のオペレーションを呼び出します。

  2. 新しい IAM OIDC ID プロバイダーを作成するには、次のオペレーションを呼び出します。

既存の IAM OIDC ID プロバイダーのサーバー証明書のサムプリントのリストを更新するには (AWS API)
  • IAM OIDC ID プロバイダーのサーバー証明書のサムプリントのリストを更新するには、次のオペレーションを呼び出します。

既存の IAM OIDC ID プロバイダーにタグを付けるには (AWS API)
  • 既存の IAM OIDC ID プロバイダーにタグを付けるには、次のオペレーションを呼び出します。

既存の IAM OIDC ID プロバイダーのタグを一覧表示するには (AWS API)
  • 既存の IAM OIDC ID プロバイダーのタグを一覧表示するには、次のオペレーションを呼び出します。

既存の IAM OIDC ID プロバイダーのタグを削除するには (AWS API)
  • 既存の IAM OIDC ID プロバイダーのタグを削除するには、次のオペレーションを呼び出します。

既存の IAM OIDC ID プロバイダーのクライアント ID を追加または削除するには (AWS API)
  1. (オプション) AWS アカウントのすべての IAM OIDC ID プロバイダーのリストを取得するには、次のオペレーションを呼び出します。

  2. (オプション) IAM OIDC ID プロバイダーの詳細情報を取得するには、次のオペレーションを呼び出します。

  3. 既存の IAM OIDC ID プロバイダーに新しいクライアント ID を追加するには、次のオペレーションを呼び出します。

  4. 既存の IAM OIDC ID プロバイダーからクライアント ID を削除するには、次のオペレーションを呼び出します。

IAM OIDC ID プロバイダーを削除するには (AWS API)
  1. (オプション) AWS アカウントのすべての IAM OIDC ID プロバイダーのリストを取得するには、次のオペレーションを呼び出します。

  2. (オプション) IAM OIDC ID プロバイダーの詳細情報を取得するには、次のオペレーションを呼び出します。

  3. IAM OIDC ID プロバイダーを削除するには、次のオペレーションを呼び出します。