【IBM Security Verify 】Google Workspace へ ユーザープロビジョニングする

# はじめに
前回の記事 [Google Workspace と SAML認証の設定方法](https://qiita.com/fitz/items/7e277a2d7e085bb23eb2)に続き、SCIMでユーザープロビジョニングする設定方法をご紹介いたします。

Google Workspace/Google Cloud Platformともに初めて操作しましたが、おおよそ手順通りで設定できました。
IBM Security Verifyのマニュアルにプロビジョニング構成のガイドがあります。
[Google Workspace に対するプロビジョニングの構成](https://www.ibm.com/docs/ja/security-verify?topic=endpoints-configuring-provisioning-google-workspace)

各環境の設定についてわけてご紹介します。

- 1.Google Cloud Platform (GCP) Console設定
- 2.Google Workspace 管理コンソール
- 3.Security Verify のアプリケーション設定
- 4.アカウント同期とユーザープロビジョニング
- 5.動作確認

# 1.Google Cloud Platform (GCP) Console設定

- 管理ユーザーとして Google Cloud Platform (GCP) Console にログインします。
https://console.cloud.google.com


- 次のいずれかの手順を実行します。
    - GCP Console を使用したことがない場合、使用条件に同意して「プロジェクトを作成」をクリックします。
    - GCP Console を使用したことがある場合、画面上部の最新のプロジェクト名の横にある下矢印をクリックして、プロジェクト・リストを開きます。 次に、「新しいプロジェクト」をクリックします。

今回用意したトライアル環境で、GCPのトップページからプロジェクトを作成しようとしましたが、組織なしとなり、画面上部のメニューからはプロジェクト作成できませんでした。
![qiita (1).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/0082057b-e41f-aaf5-111d-05936d6d164c.png)
![qiita (2).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/58e0f1f1-304d-86f8-df16-23ff81ad3ec5.png)

- 代わりに、リソースの管理メニューからプロジェクトを作成しました。
https://console.cloud.google.com/cloud-resource-manager


- 「プロジェクト名」にわかりやすい名前を入力して「作成」をクリックします。
![qiita (3).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/85ec1ec8-e105-befb-1bdc-2ea64eef0239.png)

![qiita (4).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/5e63b6db-7fc8-0753-a450-753106551f2e.png)



- 新規プロジェクトを選択して、ナビゲーション・メニューをクリックします。
![qiita (5).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/9644930b-e5d0-aa57-d185-bedf1088cfb0.png)


- 「API とサービス」 > 「ライブラリ」に移動します。
![qiita (6).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/974a0c46-344b-8d78-cc75-192ba015d65f.png)


- 「Admin SDK」を検索し、検索結果から「Admin SDK」オプションを選択します。
![qiita (7).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/70e91be1-e608-81da-c9b1-d9a668417cbf.png)


- 「有効にする」をクリックします。
![qiita (8).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/13596a6b-d31d-6269-0351-74ed8ae45680.png)
![qiita (9).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/0a2ee183-f99b-9ae4-8abc-e8f3b4f02f98.png)

- 「IAM と管理」 > 「サービス アカウント」に移動します。
![qiita (10).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/919483f4-cb17-3dfe-1c86-5e61aac559ea.png)

- 「サービス アカウントを作成」をクリックし、次の設定を指定し、「完了」をクリックします。
    サービス・アカウント名
    サービス・アカウント ID
![qiita (11).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/571919e9-7a7e-bfbd-fad4-0f29c7394b10.png)
![qiita (12).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/24895edd-af67-20cc-f0e3-01db5b2aaf66.png)


- ナビゲーション・メニューをクリックし、「API とサービス」 > 「認証情報」に移動します。
「サービス アカウント」をクリックし、ご使用のサービス・アカウントを選択します。
![qiita (13).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/b08bb341-1a7e-acb0-029e-f61fb91151f3.png)
![qiita (14).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/8d63c5e7-71b1-508f-c0e5-e2b02efced62.png)


- 「キー」タブの「鍵を追加」メニューで「新しい鍵を作成」を選択します。
![qiita (15).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/69c421f7-4b23-ac6a-75d8-d14ac17ce9eb.png)

- 「JSON」ラジオ・ボタンを選択して、「作成」をクリックします。
![qiita (16).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/665fa8d7-60ed-0a17-49c7-efb59417ff97.png)
![qiita (17).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/8a6c7541-449c-8460-0c4c-7c0e528e0bd1.png)

- ダウンロードしたJSONファイルから、Verify でプロビジョニングを構成するために必要な以下のパラメーターを書き留めます。
![qiita (18).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/367f5ee6-24c9-6045-9a13-46dc60350293.png)

    - サービス・アカウント E メール
        - サービス・アカウントの private key ファイルの client_email 値を使用します。
    - アカウント E メール
        - 少なくとも「ユーザー管理者」役割と「グループの管理者」役割を持つ Google Workspace アカウントのユーザー名。役割のスコープは、All organization unit であることを確認してください。
    - 秘密鍵
        - サービス・アカウントの private key ファイルの private_key 値を使用します。

# 2.Google Workspace 管理コンソール

- Google Workspace 管理コンソールに移動します。
https://admin.google.com


- ナビゲーション・メニューをクリックし、「セキュリティ」 > 「API の制御」に移動します。
「ドメイン全体の委任」で「ドメイン全体の委任を管理」をクリックします。
![qiita (19).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/220121b2-3fdc-5876-3005-95dabbf77bd8.png)

- 「新しく追加」をクリックし、次の詳細を追加します。
![qiita (20).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/5bef267c-39f1-39d4-ca96-f0164fca84a4.png)

- クライアント IDを指定します。
    - サービス・アカウントのクライアント ID を指定します。 サービス・アカウントの private key ファイルの client_id 値を使用します。
![qiita (21).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/46be9591-f435-409b-87f1-f77601e773d3.png)

- OAuthのスコープを4つ設定して、「承認」をクリックします。
    - ユーザー OAuth スコープ
        - https://www.googleapis.com/auth/admin.directory.user
    - グループ OAuth スコープ
        - https://www.googleapis.com/auth/admin.directory.group
    - 役割 OAuth スコープ
        - https://www.googleapis.com/auth/admin.directory.rolemanagement
    - 組織単位 OAuth スコープ
        - https://www.googleapis.com/auth/admin.directory.orgunit
![qiita (22).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/736d6531-ed05-3651-15bd-cd1845387c13.png)

- APIクライアントが登録されたことを確認します。
![qiita (23).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/a1a971af-d3c3-07ab-4b06-bed7fe039623.png)

- Verify でアカウント同期を構成するには、Google Workspace アカウントの「顧客 ID」が必要です。
ダッシュボードのアカウント設定メニューをクリックし、「顧客 ID」を書き留めます。
![qiita (24).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/7c3cf795-bba1-a195-1a2e-bcdc78c3f7f7.png)
![qiita (25).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/98f6d367-8feb-e9d0-9453-f9764039bdd1.png)


# 3.Security Verify のアプリケーション設定

- アカウント・ライフサイクルタブを設定します。
    - アカウントのプロビジョン：有効
    - アカウントのプロビジョン解除：有効
![qiita (26).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/da8c1ff5-1a7a-8f22-ff30-8e85ae27c1b9.png)


- Google側で取得した値を設定します。
    - ドメイン：自動設定
    - カスタマーID（顧客ID）
    - サービス・アカウント E メール
    - アカウントEメール
    - 秘密鍵

![qiita (27).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/7a9685e9-7750-094f-e433-d6b2f6220474.png)

- 設定が完了したら接続のテストを実施します。
    - 接続テストが正常に終了しました。と表示されることを確認します。エラーとなる場合は設定値を見直します。
![qiita (28).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/25423f9d-e692-e9bd-13ad-3734d3e47050.png)


- 属性マッピングの変更が必要でしたら見直しします。(今回は、デフォルトのまま進みました）
![qiita (29).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/b66c8864-cdfb-b025-47ce-25268cb61cbc.png)

なお、 IBM® Security Verify がサポートしている Google Workspace 属性については、以下のマニュアルに記載されています。
[Google Workspace でサポートされる属性とエラー処理](https://www.ibm.com/docs/ja/security-verify?topic=workspace-google-supported-attributes-error-handling)

# 4.アカウント同期とユーザープロビジョニング

- Google Workspace上のユーザー･グループデータを同期するため、アカウント同期を行います。
登録したアプリケーションのメニューでアカウントを選択します。
![qiita (30).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/a200b42e-551a-ea15-e361-547d68015db8.png)

-　アカウント同期の開始ボタンをクリックします。
![qiita (31).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/99a60e58-ac63-101c-e0bd-7ab355070b2a.png)
![qiita (32).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/69c221a9-7e1c-e458-8aaa-84dc25c47264.png)

- アカウント同期のステータスは、アプリケーション-アカウント同期から確認できます。
    -  アカウント同期の結果が警告になっています。Google Workspace上に1つ以上グループを登録しておく必要がありました。グループ登録した後にアカウント同期すると警告が解消されました。
![qiita (33).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/731dc4c4-896e-7d3f-7837-52438f66d1f6.png)

- アカウント同期を行うと、Google Workspace上のグループがアクセス許可として同期されます。
![qiita (34).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/ae4d2324-49cb-3843-cce3-dd1c2f546ec9.png)


- アクセス許可の Basic accessにプロビジョニングしたいユーザーを追加します。
    - Microsoft365のようにSaaSアプリケーションによっては、ライセンス情報がアクセス許可として同期され、対象のアクセス許可に対してユーザーを割り当てすることでユーザープロビジョニング/ライセンスの割り当てされるものがあります。
![qiita (36).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/74d60714-4dc9-aa76-fe14-02bb817340a2.png)

- ユーザー追加すると、Google Workspace上にユーザープロビジョニングが行われます。アプリケーション-プロビジョニング結果で、ユーザープロビジョニングが正常に行われたかどうか確認できます。
![qiita (35).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/002b8c4d-111e-8107-2ed1-3ee486fcdc58.png)


# 5.動作確認
- プロビジョニングしたユーザーで、Gmailが利用できることを確認します。
    - https://mail.google.com/a/<domain>

- Security Verifyの画面にリダイレクトされるため、ログインします。
![qiita (38).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/7967efe6-adc2-2b4e-32c6-74e306891cc5.png)

- 本人確認、および、同意画面を経て、Gmailが開くことを確認します。
![qiita (39).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/653a0a23-6f64-543b-8022-547a281b3a11.png)
![qiita (40).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/1e05aa91-31fa-dfd8-3e1b-2e4bed397273.png)
![qiita (41).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/684b64e2-ce3a-9c07-26a7-a3afb041cdff.png)
![qiita (42).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/f72842bc-be01-4a12-6918-91a9937d269c.png)

- Google Workspaceの管理コンソール上でもプロビジョニングしたユーザーが存在していることを確認します。
![qiita (43).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/84fa770d-e79e-1494-0f55-c737cf28704e.png)



# 最後に
今回は、IBM Security VerifyからGoogle Workspaceへユーザープロビジョニングする機能についてご紹介いたしました。
次回は、IBM Security Verifyのアカウント同期機能についてご紹介予定です。