このドキュメントでは、Okta 組織と Cloud Identity アカウントまたは Google Workspace アカウントの間でユーザー プロビジョニングとシングル サインオンを設定する方法について説明します。
このドキュメントは、組織ですでに Okta を使用しており、ユーザーが Okta を使用して Google Cloud で認証できるようにすることを検討している方を対象としています。
目標
- Cloud Identity または Google Workspace にユーザーとグループを自動的にプロビジョニングするように Okta を構成する。
- ユーザーが Okta ユーザー アカウントを使用して Google Cloud にログインできるように、シングル サインオンを構成する。
費用
Cloud Identity Free Edition を使用している場合は、Okta との連携を設定しても、課金対象の Google Cloud コンポーネントは使用されません。
Okta の使用によって発生する可能性がある料金については、Okta の料金ページをご覧ください。
始める前に
- まだアカウントを取得していない場合は、Cloud Identity に登録します。
- Cloud Identity Free Edition を利用していて、プロビジョニングするユーザー数が 50 を超える場合は、サポートに連絡し、無料の Cloud Identity ユーザーの合計数を増やすようにリクエストしてください。
- Cloud Identity に使用する予定のドメインを、従業員が一般ユーザー向けアカウントの登録に使用している可能性がある場合は、まずそれらのユーザー アカウントを移行することを検討してください。詳しくは、既存のユーザー アカウントの評価をご覧ください。
Cloud Identity アカウントまたは Google Workspace アカウントの準備
Okta 用のユーザーを作成する
Okta に Cloud Identity アカウントまたは Google Workspace アカウントへのアクセスを許可するには、Cloud Identity アカウントまたは Google Workspace アカウントに Okta 用のユーザーを作成する必要があります。
Okta ユーザーは自動プロビジョニングのみを目的としています。そのため、これを別の組織部門(OU)に配置して、他のユーザー アカウントと分離しておくことをおすすめします。別の OU を使用すると、後で Okta ユーザーのシングル サインオンを無効にすることもできます。
新しい OU を作成するには、次の手順を実行します。
- 管理コンソールを開き、Cloud Identity または Google Workspace の登録時に作成した特権管理者ユーザーを使用してログインします。
- メニューで、[ディレクトリ] > [Organizational units] に移動します。
- [組織部門を作成] をクリックし、組織部門の名前と説明を入力します。
- 名前:
Automation
- 説明:
Automation users
- 名前:
- [作成] をクリックします。
Okta 用のユーザー アカウントを作成し、Automation
組織部門に配置します。
- メニューで [ディレクトリ] > [ユーザー] に移動して、[新しいユーザーを追加] をクリックしてユーザーを作成します。
適切な名前とメールアドレスを次のように入力します。
- 名:
Okta
- 姓:
Provisioning
メインのメールアドレス:
okta-provisioning
メールアドレスのプライマリ ドメインは保持します。
- 名:
[ユーザーのパスワード、組織部門、プロフィール写真を管理する] をクリックし、次の設定を構成します。
- [組織部門]: 以前に作成した
Automation
OU を選択します。 - [パスワード]: [パスワードを作成] を選択してパスワードを入力します。
- [次回ログイン時にパスワードの変更を要求する]: [無効]
- [組織部門]: 以前に作成した
[新しいユーザーの追加] をクリックします。
[完了] をクリックします。
Okta に権限を割り当てる
Okta が Cloud Identity アカウントまたは Google Workspace アカウントのユーザーとグループを作成、一覧表示、停止できるようにするには、okta-provisioning
ユーザーを特権管理者にする必要があります。
- 新しく作成したユーザーを一覧から見つけ、ユーザー名をクリックしてアカウント ページを開きます。
- [管理者のロールと権限] で、[ロールの割り当て] をクリックします。
- 特権管理者のロールを有効にします。
- [保存] をクリックします。
Okta プロビジョニングの構成
これで、Okta を Cloud Identity アカウントまたは Google Workspace アカウントに接続する準備が整いました。続いて、Okta カタログから Google Workspace アプリケーションを設定します。
Google Workspace アプリケーションは、ユーザー プロビジョニングとシングル サインオンの両方を処理できます。Cloud Identity を使用していて、Google Cloud に対するシングル サインオンを設定するだけの場合でも、このアプリケーションを使用してください。
アプリケーションを作成する
Google Workspace アプリケーションを設定する手順は次のとおりです。
- Okta の管理ダッシュボードを開き、特権管理者権限を持つユーザーとしてログインします。
- メニューで、[Applications] > [Applications] に移動します。
- [Browse app catalog] をクリックします。
Google Workspace
を検索し、Google Workspace アプリケーションを選択します。- [Add integration] をクリックします。
[General settings] ページで、以下の項目を構成します。
- Application label:
Google Cloud
- Your Google Apps company domain: Cloud Identity アカウントまたは Google Workspace アカウントで使用されているプライマリ ドメイン名。
Display the following links:
- [Account] を [enabled] に設定します。
- Google Workspace を使用している場合は、他のリンクを [enabled] に設定し、使用していない場合は、[disabled] に設定します。
Application Visibility: Google Workspace を使用している場合は [enabled] に設定し、使用していない場合は [disabled] に設定します。
Browser plugin auto-submit: [disabled] に設定します。
- Application label:
[Next] をクリックします。
[Sign-on options] ページで、以下のように構成します。
- Sign on methods: [SAML 2.0] を選択します。
- Default Relay State: 空白のままにします。
- Advanced Sign-on Settings > RPID: 空白のままにします。
Cloud Identity または Google Workspace のユーザーのメインのメールアドレスの入力方法を決定します。ユーザーのメインのメールアドレスには、Cloud Identity アカウントまたは Google Workspace アカウントのプライマリ ドメインか、いずれかのセカンダリ ドメインを使用する必要があります。
Okta ユーザー名
ユーザーの Okta ユーザー名をメインのメールアドレスとして使用するには、次の設定を使用します。
- Application username format: Okta username
- Update application username on: Create and update
メールアドレス
ユーザーの Okta ユーザー名をメインのメールアドレスとして使用するには、次の設定を使用します。
- Application username format: Email
- Update application username on: Create and update
[Done] をクリックします。
ユーザー プロビジョニングを構成する
このセクションでは、ユーザーとグループを自動的に Google Cloud にプロビジョニングするように Okta を構成します。
- Google Cloud アプリケーションの設定ページで [Provisioning] タブを開きます。
[Configure API Integration] をクリックして、以下のように構成します。
- Enable API integration: [enabled] に設定します。
- Import Groups: Okta にインポートする Cloud Identity または Google Workspace の既存のグループがない限り、[disabled] に設定します。
[Authenticate with Google Workspace] をクリックします。
前の手順で作成した
okta-provisioning@DOMAIN
ユーザーを使用してログインします。ここで、DOMAIN
は、Cloud Identity アカウントまたは Google Workspace アカウントのプライマリ ドメインです。Google 利用規約とプライバシー ポリシーを確認します。利用規約に同意する場合は、[理解しました] をクリックします。
[許可] をクリックして Cloud Identity API へのアクセスを確認します。
[保存] をクリックします。
Okta は Cloud Identity アカウントまたは Google Workspace アカウントに接続されていますが、プロビジョニングはまだ無効になっています。プロビジョニングを有効にするには、次の操作を行います。
- Google Cloud アプリケーションの設定ページで [Provisioning] タブを開きます。
[Edit] をクリックして、次の構成を行います。
- Create users: [enabled] に設定します。
- Update user attributes: [enabled] に設定します。
- Deactivate users: [enabled] に設定します。
- Sync password: [disabled] に設定します。
必要に応じて、[Go to profile editor] をクリックして属性のマッピングをカスタマイズします。
カスタム マッピングを使用する場合は、
userName
、nameGivenName
、nameFamilyName
をマッピングする必要があります。その他の属性マッピングはすべて省略可能です。[Save] をクリックします。
ユーザーの割り当てを構成する
このセクションでは、Cloud Identity または Google Workspace にプロビジョニングする Okta ユーザーを構成します。
- Google Cloud アプリケーションの設定ページで [Assignments] タブを開きます。
- [Assign] > [Assign to people] または [Assign] > [Assign to groups] をクリックします。
- ユーザーまたはグループを選択し、[Assign] をクリックします。
- 表示された割り当てダイアログで、デフォルト設定のままにして [Save and go back] をクリックします。
- [Done] をクリックします。
プロビジョニングするユーザーまたはグループごとに、このセクションの手順を繰り返します。すべてのユーザーを Cloud Identity または Google Workspace にプロビジョニングするには、[Everyone] グループを割り当てます。
グループの割り当てを構成する
必要に応じて、Okta で Cloud Identity または Google Workspace にグループをプロビジョニングできます。グループを個別に選択するのではなく、命名規則に基づいてグループをプロビジョニングするように Okta を構成することをおすすめします。
たとえば、Okta が google-cloud
で始まるすべてのグループをプロビジョニングできるようにするには、次のように操作します。
- Google Cloud アプリケーションの設定ページで、[Push groups] タブを開きます。
- [Push groups] > [Find groups by role] をクリックします。
[Push groups by rule] ページで、次のルールを構成します。
- Rule name: ロールの名前(例:
Google Cloud
)。 - Group name: starts with
google-cloud
- Rule name: ロールの名前(例:
[Create rule] をクリックします。
トラブルシューティング
ユーザーまたはグループのプロビジョニングのトラブルシューティングを行うには、Google Cloud アプリケーションの設定ページで [View logs] をクリックします。
Okta がユーザーのプロビジョニングに失敗した場合に再試行できるようにするには、次の操作を行います。
- [Dashboard] > [Tasks] に移動します。
- 失敗したタスクを見つけて、その詳細を開きます。
- 詳細ページで [Retry selected] をクリックします。
シングル サインオン用に Okta を構成する
ここまでの手順に沿って Okta のプロビジョニングを構成すると、関連するすべての Okta ユーザーが自動的に Cloud Identity または Google Workspace にプロビジョニングされるようになります。これらのユーザーがログインできるようにするには、シングル サインオンを構成します。
- Google Cloud アプリケーションの設定ページで [Sign on] タブを開きます。
- [SAML 2.0] > [More details] をクリックします。
- [Download] をクリックして署名証明書をダウンロードします。
- [Sign-on URL] と [Sign-out URL] をメモしておきます。これらの URL は、次のいずれかの手順で必要になります。
Okta をシングル サインオン用に準備したら、Cloud Identity または Google Workspace アカウントでシングル サインオンを有効にできます。
- 管理コンソールを開き、特権管理者ユーザーとしてログインします。
- メニューで [さらに表示] をクリックし、[セキュリティ] > [認証] > [サードパーティの IdP による SSO] に移動します。
[SSO プロファイルを追加] をクリックします。
[サードパーティの ID プロバイダで SSO を設定する] を [有効] に設定します。
次の設定を入力します。
- ログインページの URL: Okta の設定ページでメモしておいた [Sign-on URL] を入力します。
- ログアウト ページの URL: Okta の設定ページでメモしておいた [Sign-out URL] を入力します。
- パスワード変更用 URL:
https://ORGANIZATION.okta.com/enduser/settings
(ORGANIZATION
は Okta 組織の名前です)。
[認証の確認] で [証明書をアップロード] をクリックし、前にダウンロードしたトークン署名証明書を選択します。
[保存] をクリックします。
Automation
OU の SSO 設定を更新して、シングル サインオンを無効にします。
- [SSO プロファイルの割り当ての管理] で、[始める] をクリックします。
- [組織部門] を開き
Automation
OU を選択します。 - SSO プロファイルの割り当てを [組織向けのサードパーティの SSO プロファイル] から [なし] に変更します。
- [オーバーライド] をクリックします。
Google Cloud コンソールやその他の Google サービスをアプリ ダッシュボードに追加する
Google Cloud コンソールと、必要に応じてその他の Google サービスをユーザーの Okta アプリ ダッシュボードに追加するには、次の操作を行います。
- Okta 管理ダッシュボードで、[Applications] > [Applications] を選択します。
- [Browse app catalog] をクリックします。
Bookmark app
を検索して [Bookmark app] アプリケーションを選択します。- [Add integration] をクリックします。
[General settings] ページで、以下の項目を構成します。
- Application label:
Google Cloud console
- URL:
https://www.google.com/a/PRIMARY_DOMAIN/ServiceLogin?continue=https://console.cloud.google.com/
(PRIMARY_DOMAIN
は、Cloud Identity または Google Workspace アカウントで使用されているプライマリ ドメイン名に置き換えます)。
- Application label:
[Done] をクリックします。
アプリケーションのロゴを Google Cloud のロゴに変更します。
[Sign on] タブを開きます。
[User authentication] > [Edit] をクリックして、次のように構成します。
- Authentication policy: [Okta dashboard] に設定します。
[Save] をクリックします。
[Assignment] タブを開き、1 人以上のユーザーを割り当てます。割り当てられたユーザーには、ユーザー ダッシュボードに Google Cloud コンソールのリンクが表示されます。
必要に応じて、ユーザー ダッシュボードに含めるその他の Google サービスについて、上記の手順を繰り返します。次の表に、よく使用される Google サービスの URL とロゴを示します。
Google サービス | URL | Logo |
---|---|---|
Google Cloud コンソール | https://www.google.com/a/DOMAIN/ServiceLogin?continue=https://console.cloud.google.com |
|
Google ドキュメント | https://docs.google.com/a/DOMAIN |
|
Google スプレッドシート | https://www.google.com/a/DOMAIN/ServiceLogin?continue=https://sheets.google.com
|
|
Google サイト | https://www.google.com/a/DOMAIN/ServiceLogin?continue=https://slides.google.com |
|
Google ドライブ | https://drive.google.com/a/DOMAIN |
|
Gmail | https://mail.google.com/a/DOMAIN |
|
Google グループ | https://www.google.com/a/DOMAIN/ServiceLogin?continue=https://groups.google.com |
|
Keep | https://www.google.com/a/DOMAIN/ServiceLogin?continue=https://keep.google.com
|
|
Looker Studio | https://www.google.com/a/DOMAIN/ServiceLogin?continue=https://lookerstudio.google.com |
|
YouTube | https://www.google.com/a/DOMAIN/ServiceLogin?continue=https://www.youtube.com/
|
シングル サインオンのテスト
Okta と Cloud Identity または Google Workspace の両方でシングル サインオンの構成が完了したら、次の 2 つの方法で Google Cloud にアクセスできます。
- Okta ユーザー ダッシュボードのリストを使用する。
- https://console.cloud.google.com/ を開いて直接アクセスする。
2 番目の方法が意図したとおりに機能することを確認するには、次のテストを行います。
- Cloud Identity または Google Workspace にプロビジョニングされ、特権管理者権限が割り当てられていない Okta ユーザーを選択します。特権管理者権限を持つユーザーは常に Google 認証情報を使用してログインする必要があるため、シングル サインオンのテストには適していません。
- 新しいブラウザ ウィンドウを開き、https://console.cloud.google.com/ に移動します。
- 表示される Google ログインページで、ユーザーのメールアドレスを入力し、[次へ] をクリックします。
Okta にリダイレクトされ、別のログイン プロンプトが表示されます。ユーザーのメールアドレスを入力し、手順に沿って認証します。
認証に成功すると、Okta から Google ログインにリダイレクトされます。このユーザーを使用してログインするのは今回が初めてのため、Google 利用規約とプライバシー ポリシーに同意するよう求められます。
利用規約に同意する場合は、[理解しました] をクリックします。
Google Cloud コンソールにリダイレクトされ、設定を確認して Google Cloud 利用規約に同意するよう求められます。
利用規約に同意する場合は、[はい] を選択し、[同意して続行] をクリックします。
ページの左上にあるアバター アイコンをクリックしてから、[ログアウト] をクリックします。
正常にログアウトされると、Okta ページにリダイレクトされます。
特権管理者権限を持つユーザーはシングル サインオンから除外されるため、管理コンソールを使用して設定を確認または変更できます。
クリーンアップ
このチュートリアルで使用したリソースについて、Google Cloud アカウントに課金されないようにするには、リソースを含むプロジェクトを削除するか、プロジェクトを維持して個々のリソースを削除します。