View a markdown version of this page

外部 ID プロバイダー (IdP) 認証の設定 - AWS DevOps エージェント

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

外部 ID プロバイダー (IdP) 認証の設定

外部 ID プロバイダー (IdP) 認証を使用すると、組織は Okta や Microsoft Entra ID などの既存の OIDC 互換 ID プロバイダーを使用して、 AWS DevOps エージェントスペースウェブアプリケーションへのユーザーアクセスを管理できます。ユーザーは、 AWS IAM アイデンティティセンターを必要とせずに、IdP から直接企業認証情報でサインインします。

前提条件

外部 IdP 認証を設定する前に、以下を確認してください。

  • OIDC 互換 ID プロバイダー (Okta または Microsoft Entra ID)

  • ID プロバイダーへの管理者アクセス

  • AWS DevOps エージェントコンソールにアクセスするための管理者権限

  • エージェントスペースが設定済みまたは作成準備完了

仕組み

外部 IdP 認証を設定する場合:

  • ユーザーがエージェントスペースウェブアプリ URL に移動する

  • ID プロバイダーのログインページにリダイレクトされます。

  • 企業の認証情報を使用して認証すると、ウェブアプリにリダイレクトされます。

  • ウェブアプリケーションは、認証トークンをエージェントスペースにスコープされた有効期間の短い AWS 認証情報と交換します。

セッションは最大 8 時間有効です。認証情報は、ユーザーが再認証する必要なく、OIDC 更新トークンを使用して自動的に更新されます。

外部 IdP 認証の設定

ステップ 1: ID プロバイダーにアプリケーションを登録する

ID プロバイダーを選択し、対応するセットアップ手順に従います。

オプション A: Okta

  1. Okta 管理コンソールで、アプリケーション > アプリケーションに移動し、アプリケーション統合の作成を選択します。

  2. サインイン方法として OIDC - OpenID Connect を選択し、アプリケーションタイプとしてウェブアプリケーションを選択します。[次へ] を選択します。

  3. アプリケーションのわかりやすい名前を設定する (例: AWS DevOps Agent)

  4. 付与タイプで、以下がチェックされていることを確認します。

    • 認可コード (デフォルト)

    • 更新トークン — これはセッションの更新に必要です。有効になっていない場合、ユーザーはセッションを維持できません。

注記

Okta は、デフォルトで更新トークン許可タイプを有効にしません。明示的に有効にする必要があります。

  1. サインインリダイレクト URIsは、現時点ではデフォルト値のままにしておきます。エージェントスペースの設定後に更新します。

  2. 「割り当て」で、アクセス権を持つユーザーまたはグループを割り当てます。

  3. [保存] を選択します。

  4. アプリケーションの全般タブで、次の値を書き留めます。

    • クライアント ID

    • クライアントシークレットコピーを選択してこの値を安全に保存します

  5. Okta ドメインに注意してください。これは発行者 URL です (例: https://dev-12345678.okta.com)。

注記

サインオンタブで、発行者が Okta URL (動的ではない) に設定されていることを確認します。これにより、発行者の URL が安定します。

注記

認可サーバーのクレームタブの ID トークンにグループクレームを追加しないでください。 AWS DevOps エージェントは IdP のグループメンバーシップを使用しません。

オプション B: Microsoft Entra ID

  1. Azure ポータルで、Microsoft Entra ID > アプリ登録 > 新規登録に移動します。

  2. わかりやすい名前を設定する (例: AWS DevOps Agent)

  3. サポートされているアカウントタイプで、組織に適したオプションを選択します (通常はこの組織ディレクトリのアカウントのみ)。

  4. 現時点では、リダイレクト URI は空白のままにしておきます。登録を選択する

  5. アプリケーションの概要ページで、次の値を書き留めます。

    • アプリケーション (クライアント) ID — エージェントスペースを設定するときにクライアント ID として使用されます

    • ディレクトリ (テナント) ID — 発行者 URL の構築に使用されます

  6. 証明書とシークレット > 新しいクライアントシークレットに移動する

    • 説明と有効期限を設定する

    • シークレットの追加とコピーをすぐに選択する — 再度表示されません

  7. Entra ID の発行者 URL はこの形式に従います。をステップ 5 のディレクトリ (テナント) ID {tenant-id}に置き換えます。

    • https://login.microsoftonline.com/{tenant-id}/v2.0

注記

トークン設定 でグループオプションクレームを有効にしないでください。 AWS DevOps エージェントは IdP のグループメンバーシップを使用しません。

ステップ 2: IdP 認証でオペレーターアプリを有効にする

  1. AWS DevOps エージェントコンソールで、エージェントスペースを選択します。

  2. アクセスタブに移動する

  3. ユーザーアクセスで、外部 ID プロバイダーを選択します。

  4. 設定フォームで、以下を設定します。

    • ID プロバイダー — ID プロバイダー (Okta または Microsoft Entra ID) を選択します。

    • 発行者 URL — ID プロバイダーからの OIDC 発行者 URL

    • クライアント ID — 作成した OIDC アプリケーションのクライアント ID

    • クライアントシークレット — OIDC アプリケーションからのクライアントシークレット

  5. ID プロバイダーアプリケーションロール名で、次の 3 つのオプションのいずれかを選択します。

    • 新しい DevOps エージェントロールの自動作成 (推奨) — 適切なアクセス許可を持つ新しいサービスロールを作成します

    • 既存のロールを割り当てる — 既に作成した既存の IAM ロールを使用します。

    • ポリシーテンプレートを使用して新しい DevOps エージェントロールを作成する — 提供された詳細を使用して、IAM コンソールで独自のロールを作成します。

  6. フォームの下部に表示されるコールバック URL 警告アラートを確認します。この URL をコピーする — ユーザーがサインインする前に、ID プロバイダーの許可されたリダイレクト URIs に追加する必要があります。

  7. [Connect (接続)] を選択します。

Connect を選択すると、コンソールに次の詳細を含む外部 ID プロバイダー設定が表示されます。

  • プロバイダー — 選択した ID プロバイダー

  • 発行者 URL — 設定された OIDC 発行者 URL

  • クライアント ID — 設定されたクライアント ID

  • IAM ロール ARN — ユーザーアクセスに使用される IAM ロール

  • コールバック URL — ID プロバイダーでこの URL を許可されたリダイレクト URI として設定します。

  • ログイン URL — この URL を使用して、ID プロバイダーを介してウェブアプリケーションにアクセスします。

ステップ 3: ID プロバイダーにコールバック URL を追加する

Okta

  1. Okta 管理コンソールで、アプリケーションの全般タブに移動します。

  2. ログイン で編集 を選択します

  3. コールバック URL をサインインリダイレクト URI として追加します。

    • https://{agentSpaceId}.aidevops.global.app.aws/authorizer/idp/callback

  4. (オプション) ログインの開始 URI を設定して、Okta ダッシュボードから IdP 開始ログインを有効にします。

    • https://{agentSpaceId}.aidevops.global.app.aws/authorizer/idp/login

  5. (推奨) サインアウトリダイレクト URI を追加して、ログアウト後にユーザーをウェブアプリにリダイレクトします。これを行わないと、ログアウト時にエラーページが表示されることがあります。

    • https://{agentSpaceId}.aidevops.global.app.aws/authorizer/welcome

  6. [保存] を選択します。

Microsoft Entra ID

  1. Azure ポータルで、アプリケーションの認証ページに移動します。

  2. プラットフォーム設定で、プラットフォームの追加 > Web を選択します。

  3. コールバック URL をリダイレクト URI として入力します。

    • https://{agentSpaceId}.aidevops.global.app.aws/authorizer/idp/callback

  4. (オプション) サインアウトリダイレクト URI を追加して、ログアウト後にユーザーをウェブアプリにリダイレクトします。

    • https://{agentSpaceId}.aidevops.global.app.aws/authorizer/welcome

  5. Configure を選択する

ステップ 4: 設定を確認する

  1. コンソールに表示されるログイン URL に移動します。

    • https://{agentSpaceId}.aidevops.global.app.aws/authorizer/idp/login

  2. ID プロバイダーのログインページにリダイレクトされます

  3. 会社の認証情報を使用してサインインする

  4. 認証に成功すると、エージェントスペースウェブアプリにリダイレクトされます。

IdP 設定の更新

クライアントシークレットは、切断せずにローテーションできます。

  1. AWS DevOps エージェントコンソールで、エージェントスペースを選択します。

  2. アクセスタブに移動する

  3. 外部 ID プロバイダー設定で、クライアントシークレットのローテーションを選択します。

  4. 新しいクライアントシークレットを入力する

  5. [保存] を選択します。

他の IdP 設定フィールド (発行者 URL、クライアント ID、ID プロバイダーなど) を変更するには、既存の IdP を切断し、新しい IdP を設定する必要があります。

ユーザーが エージェントスペースウェブアプリにアクセスする方法

外部 IdP 認証を設定した後:

  • エージェントスペースのウェブアプリ URL を承認されたユーザーと共有する

  • ユーザーが URL に移動すると、ID プロバイダーのログインページにリダイレクトされます。

  • 認証情報を入力する (IdP で設定されている場合は MFA を完了する) と、エージェントスペースウェブアプリにリダイレクトされます。

  • セッションの自動更新 — 詳細については、「セッション管理」を参照してください。

セッション管理

エージェントスペースウェブアプリの外部 IdP セッションには、次の特性があります。

  • セッション期間 — ブラウザセッションは最大 8 時間続きます。これは AWS DevOps エージェントでは設定できません。IdP のセッション有効期間が 8 時間を超える場合、ユーザーは認証情報を入力せずに次回のアクセス時に自動的に再認証される可能性があります。組織のセキュリティ要件に従って、IdP のセッションとトークンの有効期間を設定します。

  • 認証情報の更新 — セッションは OIDC 更新トークンを使用して自動的に更新され、ユーザーが再認証する必要はありません。

  • 多要素認証 — ID プロバイダーで設定されている場合にサポートされます。IdP はログイン中に MFA を処理します。 AWS DevOps エージェントで追加の設定は必要ありません

ログアウト動作

ユーザーがウェブアプリでログアウトをクリックすると、次のようになります。

  1. すべてのセッション Cookie はすぐにクリアされます

  2. ユーザーは ID プロバイダーの OIDC ログアウトエンドポイントにリダイレクトされ、SSO セッションを終了します。

  3. サインアウトリダイレクト URI が設定されている場合、ユーザーはウェブアプリのウェルカムページにリダイレクトされます。

ユーザーアクセスの取り消し

ユーザーのアクセスをすぐに取り消すには、ID プロバイダーの管理ポータルでセッションを直接取り消すことができます。

  • Okta — Okta 管理コンソールで、ディレクトリ > ユーザーに移動し、ユーザーを選択し、その他のアクション > ユーザーセッションのクリアを選択します。

  • Microsoft Entra ID — Azure ポータルで、ユーザーに移動し、ユーザーを選択し、セッションの取り消しを選択します。

セキュリティに関する考慮事項

クライアントシークレットストレージ — セットアップ時に指定したクライアントシークレットは、エージェントスペースの作成時にカスタマーマネージド KMS キーを指定した場合、またはサービス所有キーを使用して暗号化されます。初期設定後に API レスポンスで返されたり、コンソールに表示されたりすることはありません。

クライアントシークレットのローテーション — Entra クライアントシークレットには設定可能な有効期限があります。 AWS DevOps エージェントコンソールのクライアントシークレットのローテーションオプションを使用して、有効期限が切れる前にシークレットをローテーションするようにリマインダーを設定します。シークレットの有効期限が切れると、ユーザーはローテーションされるまでログインできなくなります。

トークンの有効期間管理 — ID プロバイダーによって発行されたトークン (アクセストークン、更新トークン) の有効期間は、IdP の設定によって制御されます。IdP で適切なトークン有効期間を設定することをお勧めします。

グループクレーム — ID プロバイダーのトークン設定でグループクレームを有効にしないでください。 AWS DevOps エージェントは現在、IdP のグループメンバーシップを使用しません。

ユーザー識別子 — AWS DevOps Agent はプロバイダー固有のクレームを使用してユーザーを一意に識別します。

  • Okta — ID トークンからの subクレームを使用します

  • Microsoft Entra ID — ID トークンからの oid (オブジェクト識別子) クレームを使用します

これらの識別子はイミュータブルであり、監査目的で CloudTrail ログに表示されます。

外部 IdP の切断

  1. AWS DevOps エージェントコンソールで、エージェントスペースを選択します。

  2. アクセスタブに移動する

  3. ユーザーアクセスで、切断を選択します。

  4. 確認ダイアログに記載されている影響を確認し、確認します。

切断すると、次のようになります。

  • エージェントスペースから IdP 設定を削除する

  • ユーザーが外部 ID プロバイダー経由でログインできないようにする

  • IdP ユーザーアカウントに関連付けられた個々のチャットとアーティファクトの履歴を削除する

アクティブなユーザーセッションは、有効期限が切れるか、次の認証情報の更新が失敗するまで続行されます。

トラブルシューティング

  • IdP へのリダイレクトが失敗する — 発行者 URL が IdP の OIDC 検出エンドポイントと一致することを確認します。Okta の場合は、Sign On タブで発行者が Okta URL (動的ではない) に設定されていることを確認します。Entra の場合は、 の形式を使用しますhttps://login.microsoftonline.com/{tenant-id}/v2.0

  • アクセス拒否またはポリシーエラー (Okta) — ユーザーまたはそのグループが割り当ての下でアプリケーションに割り当てられていることを確認します。サインオン > サインオンポリシールールを確認します。

  • ログイン後の IdP 設定エラー — ID プロバイダーが更新トークンを返さなかった。offline_access スコープと更新トークンのグラントタイプが有効になっていることを確認します。

    • Okta — アプリケーションの全般タブに移動し、グラントタイプの下のトークンの更新チェックボックスを有効にします

    • EntraAPI アクセス許可に移動し、 offline_accessが委任されたアクセス許可の下にリストされていることを確認します。

  • 認証は成功しましたが、ウェブアプリケーションにエラーが表示されます — IdP のリダイレクト URI が、 AWS DevOps エージェントコンソールに表示されるコールバック URL と正確に一致することを確認します。

  • 認証の失敗 — IdP でグループオプションクレームが有効になっている場合は、無効にします。 AWS DevOps エージェントはグループクレームを使用しません。

  • IdP 認証後にログインが失敗する — Entra の場合、アプリケーションマニフェストnullrequestedAccessTokenVersion が に設定されていないことを確認します。Okta の場合は、発行者 URL が正しいことを確認します。

  • ログアウト (Okta) をクリックした後のエラーページ — ログアウト後にpost_logout_redirect_uriエラーが表示された場合は、Okta アプリケーションの全般タブにサインアウトリダイレクト URI https://{agentSpaceId}.aidevops.global.app.aws/authorizer/welcomeとして を追加します。

  • ユーザーはログアウト後に ID プロバイダーページに留まる (Entra) — ログアウト後にユーザーをウェブアプリケーションにリダイレクトするには、Entra アプリケーションの認証ページでリダイレクト URI https://{agentSpaceId}.aidevops.global.app.aws/authorizer/welcomeとして を追加します。