外部 ID の有効化

この記事では、外部 ID を使用するように Identity-Aware Proxy(IAP)を構成する方法について説明します。IAP と Identity Platform を組み合わせることで、Google アカウントだけでなく、OAuth、SAML、OIDC など、さまざまな ID プロバイダを使用してユーザーを認証できます。

Identity Platform の有効化と構成

IAP は Identity Platform を使用して外部 ID の認証を行います。このプラットフォームを有効にする方法については、Identity Platform のクイックスタートをご覧ください。

複数のテナントを使用する場合は、マルチテナンシーのスタートガイドの手順にも従う必要があります。リソースを分離する必要がない場合は、この手順をスキップし、プロジェクト レベルですべてのプロバイダを構成できます。マルチテナンシーを有効にするかどうかわからない場合は、外部 ID の概要をご覧ください。

最後に、プロバイダを有効にします。クイックスタートには、ユーザー名とパスワードで認証を行う方法が説明されていますが、Identity Platform は次のようにさまざまなプロバイダ タイプをサポートしています。

  • メールとパスワード
  • OAuth(Google、Facebook、Twitter など)
  • SAML
  • OIDC
  • 電話番号
  • カスタム
  • 匿名

他のプロバイダの構成方法については、Identity Platform のドキュメントの残りの部分をご覧ください。マルチテナントでは、電話番号による認証、匿名での認証、カスタム認証はサポートされていません。

外部 ID を使用するための IAP の有効化

Identity Platform を設定したら、IAP を認証に使用するように構成できます。

  1. Cloud Console で [IAP] ページを開きます。
    [IAP] ページを開く

  2. Identity Platform の構成に使用したプロジェクトを選択します。別のプロジェクトを使用することはできません。

  3. [HTTP Resources] タブを選択します。

  4. IAP を使用してアクセスを制限する App Engine アプリまたは Compute Engine サービスを探します。

  5. IAP 列のスイッチを [オン] に設定します。

  6. サイドパネルで、「承認には外部 ID を使用します」というラベルのボックスで [開始] をクリックします。

  7. 選択内容を確認します。

  8. Identity Platform のサイドパネル:

    1. 独自のログイン ページを作成するか、IAP でログイン ページ作成するかを選択します。

      開始する最も簡単な方法は、IAP でログインページを作成することです。追加サービスのデプロイや新しいコードの記述は不要で、JSON を使用してマイナーなカスタマイズを指定できます。詳しくは、Cloud Run で認証 UI をホストするをご覧ください。

      独自のページを作成するのは手間がかかりますが、認証フローとエクスペリエンスを完全に制御できます。詳細については、FirebaseUI を使用した認証 UI の作成カスタム認証 UI の作成をご覧ください。

    2. 独自の UI を構築する場合は、認証 URL を入力します。IAP は、受信した未認証リクエストをこの URL にリダイレクトします。

      URL への API キーの追加は任意です。キーを指定しない場合、Cloud Console でデフォルトのキーが自動的に追加されます。

    3. プロジェクト プロバイダを使用するのか、テナントを使用するのかを選択します。

    4. 有効にするプロバイダまたはテナントのボックスをオンにします。プロバイダまたはテナントを変更する必要がある場合は、[プロバイダを構成] を選択します。

  9. [保存] をクリックします。

これで、ユーザーを外部 ID で認証するように IAP が構成されました。

Google ID への切り替え

外部 ID を使用すると、IAM を承認に使用できなくなります。Google ID に戻して IAM を利用する場合は、次の操作を行います。

  1. Cloud Console の [IAP] ページに戻ります。
    [IAP] ページを開く

  2. IAP の使用が構成されているリソースを選択します。

  3. Identity Platform の情報パネルを開きます。

  4. [Use IAM to manage this resource] を選択します。

Google ID に戻すと、認証 URL がクリアされます。関連するプロジェクトとテナントもクリアされます。

次のステップ