# Cloud Serviceを使用したGoogle Workplaceのユーザーとチームのプロビジョニング

## 概要 <a href="#overview" id="overview"></a>

Google Cloud Functionを使用してGoogle WorkspaceからKeeperにユーザーを自動的にプロビジョニングする方法について解説します。これには、ユーザー、グループ、ユーザー割り当てのプロビジョニングが含まれます。ユーザーとチームのプロビジョニングには、ライフサイクル管理のためのいくつかの機能が備わっています。

* どのGoogleグループやユーザーをKeeperにプロビジョニングするかを指定できます。
* Keeperに割り当てられたGoogleグループはKeeperチームとして作成されます。
* Keeperチームをボルト内の共有フォルダに割り当てられます。
* グループに追加された新しいユーザーは自動的にKeeperに招待されます。
* グループとユーザーの割り当ては同期のたびに適用されます。
* ユーザーのプロビジョニングが解除されると、Keeperカウントが自動的にロックされます。

本ページの設定手順で、Google Workspaceアカウントからユーザーとグループをプロビジョニングします。設定には以下のリソースにアクセスする必要があります。

* ​[Google Cloud](https://console.cloud.google.com/)​
* ​[Google Workspace](https://admin.google.com/)​
* ​[Keeper管理コンソール](https://keepersecurity.com/console)​
* ​[Keeperボルト](https://keepersecurity.com/vault)​
* ​[Keeperシークレットマネージャー](/keeperpam/jp/secrets-manager/overview.md)​

この実装ではKeeperシークレットマネージャーを使用して、最小限の権限でGoogleとKeeperを最も安全に統合します。Keeperシークレットマネージャーをご使用でない場合は、Keeperカスタマーサクセス チームにお問い合わせください。

### 手順 1. Google Cloudプロジェクトの作成 <a href="#step-1-create-a-google-cloud-project" id="step-1-create-a-google-cloud-project"></a>

[Google Cloud](https://console.cloud.google.com/)にログインし、プロジェクトを作成するか既存のプロジェクトを選択します。プロジェクト名は「Keeper SCIM Push」など任意の名前にします。

<figure><img src="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MB_i6vKdtG6Z2n6zWgJ%2Fuploads%2F31leaYy06OVz8FNbARid%2FScreenshot%202024-02-07%20at%2011.37.18%E2%80%AFAM.png?alt=media&#x26;token=6a3dfdf3-e4e6-4427-bd73-d7e8b6ab3709" alt=""><figcaption><p>新しいGoogle Cloudプロジェクトを作成</p></figcaption></figure>

### 手順 2. Admin SDK APIを有効にする <a href="#step-2-enable-the-admin-sdk-api" id="step-2-enable-the-admin-sdk-api"></a>

* `APIs & Services`で、\[`+ ENABLE APIS AND SERVICES`] (APIとサービスを有効にする) をクリックします。
* `Search for APIs & Services`で、`Admin SDK API`を入力します。
* \[`ENABLE`] (有効にする) をクリックします。

<figure><img src="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MB_i6vKdtG6Z2n6zWgJ%2Fuploads%2FVNem1JA55splCc8DUg3X%2FScreenshot%202024-02-07%20at%2011.38.29%E2%80%AFAM.png?alt=media&#x26;token=d1af8419-9bd3-4717-8adf-5b3d8e6d8e3f" alt=""><figcaption><p>APIとサービスを有効にする</p></figcaption></figure>

<figure><img src="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MB_i6vKdtG6Z2n6zWgJ%2Fuploads%2F876VAD9eQdoUR8wbgN0h%2FScreenshot%202024-02-07%20at%2011.38.56%E2%80%AFAM.png?alt=media&#x26;token=6c24b467-3152-4511-aff6-8fb0e52685e1" alt=""><figcaption><p>Admin SDK APIを有効にする</p></figcaption></figure>

### 手順 3. サービスアカウントを作成

ここで作成したサービスアカウントは、Google Workspaceのユーザーとグループの情報にアクセスするために使用されます。

* `IAM and Admin`メニューで、`Service accounts` (サービスアカウント)を選択します。
* `keeper-scim`というサービスアカウント名で\[`+ CREATE SERVICE ACCOUNT`]をクリックします。

<figure><img src="https://1914737032-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Mfd2v-YT48Ljtykb8qm%2Fuploads%2FOm1stVWxr9veFvPTSnYN%2FScreenshot%202024-02-07%20at%2011.40.32%E2%80%AFAM.png?alt=media&#x26;token=98c865ed-e8ba-4426-9521-3f6be89586b4" alt=""><figcaption><p>Create Service Account</p></figcaption></figure>

新規作成のサービスアカウントの場合、`Actions`の3つの点をクリックして\[`Manage keys`] (キーの管理) を選択します。

<figure><img src="https://1914737032-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Mfd2v-YT48Ljtykb8qm%2Fuploads%2FsPEIS89nQ1QnlCtiNB0n%2FScreenshot%202024-02-07%20at%2011.41.37%E2%80%AFAM.png?alt=media&#x26;token=6a921122-a300-4819-917d-aac4c2dd5a8b" alt=""><figcaption><p>キーとcredentials.jsonの作成</p></figcaption></figure>

\[`ADD KEYS`] (鍵を追加) から\[`Create new Key`] (新しい鍵を作成) をクリックし、鍵のタイプとして\[JSON]を選択してから\[`CREATE`] (作成) をクリックします。

サービスアカウントの認証情報が含まれたJSONファイルがコンピュータにダウンロードされます。

<figure><img src="https://1914737032-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Mfd2v-YT48Ljtykb8qm%2Fuploads%2FBQx0iT0osuztVreWvakX%2FScreenshot%202024-02-07%20at%2011.41.47%E2%80%AFAM.png?alt=media&#x26;token=bd9f29c6-6d1b-4e00-ae7e-1ed903b93901" alt=""><figcaption><p>新しい鍵を作成</p></figcaption></figure>

<figure><img src="https://1914737032-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Mfd2v-YT48Ljtykb8qm%2Fuploads%2FaYMsV8OuSFx00gzC9wrz%2FScreenshot%202024-02-07%20at%2011.41.58%E2%80%AFAM.png?alt=media&#x26;token=80c0e7f5-a83a-4b6f-8b39-95cffad0c337" alt=""><figcaption><p>JSON形式を選択</p></figcaption></figure>

ファイル名を`credentials.json`に変更し、上のセットアップ手順で作成したKeeper設定レコードに添付ファイルとして追加します。

<figure><img src="https://1914737032-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Mfd2v-YT48Ljtykb8qm%2Fuploads%2FWdZPRrsZVibtgfsK6oly%2FScreenshot%202024-02-07%20at%2011.42.54%E2%80%AFAM.png?alt=media&#x26;token=a66b11f0-f843-4c9f-9de8-06728b206cb3" alt=""><figcaption><p>credentials.jsonとして保存</p></figcaption></figure>

### 手順 4. Client IDをコピー

サービスアカウントへと移動し、\[`DETAILS`]タブから\[`Advanced Settings`]へ進みます。

\[`Domain-wide delegation`]で`Client ID`をコピーします。次の手順でこのClient IDにGoogle Workspace Directoryへのアクセスを付与します。

<figure><img src="https://1914737032-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Mfd2v-YT48Ljtykb8qm%2Fuploads%2FBoZ2gZyGwQUh8323tP8R%2FScreenshot%202024-02-07%20at%204.54.19%E2%80%AFPM.png?alt=media&#x26;token=79d32cb8-63f7-4620-9f0d-b9110bedc40d" alt=""><figcaption><p>Client IDをコピー</p></figcaption></figure>

### 手順 5. Google Workspaceでサービスアカウントを承認

Google Workspace Panel (<https://admin.google.com>)で以下を行います。

* \[`Security`] (セキュリティ) > \[`API controls`] (API制御) へ進みます。
* `Domain wide delegation`の下の\[`MANAGE DOMAIN WIDE DELEGATION`]をクリックします。
* `API Clients`で\[`Add new`]をクリックします。
* 前の手順でコピーした`Client ID`を貼り付けます。

以下のテキストを`OAuth scopes (comma-delimited)`に貼り付けます。

{% code overflow="wrap" %}

```
https://www.googleapis.com/auth/admin.directory.group.readonly,https://www.googleapis.com/auth/admin.directory.group.member.readonly,https://www.googleapis.com/auth/admin.directory.user.readonly
```

{% endcode %}

<figure><img src="https://1914737032-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Mfd2v-YT48Ljtykb8qm%2Fuploads%2FyXOkX9R4RgE1oCFzgSJf%2Fimage.png?alt=media&#x26;token=e3d7e64e-44a5-4f05-9215-0a74c26a3773" alt=""><figcaption><p>新しいClient IDを追加</p></figcaption></figure>

\[`AUTHORIZE`] (承認) をクリックします。これらのスコープにより、サービスアカウントにGoogle Workspaceディレクトリユーザー、グループ、メンバーシップへの読み取り専用アクセスが付与されます。

### 手順 6. Primary Emailを取得

* Google Workspace (<https://admin.google.com>) で\[`Account`] (アカウント) > \[`Account settings`] (アカウント設定) へ進みます。
* 次の手順で使うため、`Primary admin`メールアドレス (右上) をクリップボードにコピーします。

<figure><img src="https://1914737032-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Mfd2v-YT48Ljtykb8qm%2Fuploads%2F0vwJSm4ZowmAIAyYWlc1%2Fimage.png?alt=media&#x26;token=505f9eef-88d1-47e6-b9bb-8439985ee62f" alt=""><figcaption><p>Primary adminのメールアドレスを取得</p></figcaption></figure>

### 手順 7. Keeperボルトで共有フォルダを作成

Keeperボルトで、新しい共有フォルダを作成します。このフォルダーには「Google SCIM Push」などの任意の名前を付けます。ユーザー権限とレコード権限については、任意の権限を選択します。

<figure><img src="https://1914737032-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Mfd2v-YT48Ljtykb8qm%2Fuploads%2FInTaxY5OwMM7W0LbKor8%2Fimage.png?alt=media&#x26;token=aad9016c-3a51-4582-90d3-2f23289bb1ff" alt=""><figcaption><p>新しい共有フォルダを作成</p></figcaption></figure>

### STEP 8. シークレットマネージャを作成

ボルトで[Keeperシークレットマネージャー](/keeperpam/jp/secrets-manager/overview.md)を有効にしてから、左側のメニューから\[シークレットマネージャー]をクリックし、\[アプリケーションの作成]を選択します。

<figure><img src="https://1914737032-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Mfd2v-YT48Ljtykb8qm%2Fuploads%2Frm067Fvg75tWiOFDf1nF%2Fimage.png?alt=media&#x26;token=a6136d08-a7d9-4f2b-88ae-5e5dcc6caca0" alt=""><figcaption><p>アプリケーションの作成</p></figcaption></figure>

アプリケーションに「Google SCIM Push」などの名前を付けて、\[アクセストークンの作成]をクリックします。 このトークンは破棄され、このシナリオでは使用されません。

<figure><img src="https://1914737032-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Mfd2v-YT48Ljtykb8qm%2Fuploads%2FJrMDoKwzt5sKXrW4e0AQ%2Fimage.png?alt=media&#x26;token=e1e221da-638d-4194-a29f-66da1fc34692" alt=""><figcaption><p>アクセストークンの生成</p></figcaption></figure>

次に、一覧から「Google SCIM Push」を選択し、\[編集]、\[デバイスの追加]の順にクリックします。

<figure><img src="https://1914737032-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Mfd2v-YT48Ljtykb8qm%2Fuploads%2F1DvC7uH3TanMTKOxRg0K%2Fimage.png?alt=media&#x26;token=6b8aec8f-01e6-421f-847d-6388f338960b" alt=""><figcaption><p>アプリケーションを編集</p></figcaption></figure>

<figure><img src="https://1914737032-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Mfd2v-YT48Ljtykb8qm%2Fuploads%2FeQPW4eRQLW1DgmdBsq5P%2Fimage.png?alt=media&#x26;token=8836f467-0a8d-4c90-82a6-a467320d639d" alt=""><figcaption><p>デバイスの追加</p></figcaption></figure>

設定タイプにはBase64を選択してコンピュータにダウンロードします。

<figure><img src="https://1914737032-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Mfd2v-YT48Ljtykb8qm%2Fuploads%2FgHT1Tjr7kmmPnmBIdy8T%2Fimage.png?alt=media&#x26;token=e7876eef-0546-4425-b1b2-028c56ce0bcc" alt=""><figcaption></figcaption></figure>

ファイルをconfig.base64としてコンピュータに保存します。

<figure><img src="https://1914737032-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Mfd2v-YT48Ljtykb8qm%2Fuploads%2FKcllIYbEVK3RKARyj4Y1%2Fimage.png?alt=media&#x26;token=d8a15e85-dc41-4b68-9223-e6cb8528c2bb" alt=""><figcaption><p>config.base64を保存</p></figcaption></figure>

### 手順 9. SCIMプロビジョニングメソッドを作成

Keeper管理コンソールから、Google Workspaceノード&#x306E;**\[プロビジョニング]**&#x30BF;ブに移動し、**\[メソッドを追加]**&#x3092;クリックします。

<figure><img src="https://1914737032-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Mfd2v-YT48Ljtykb8qm%2Fuploads%2FTOUK0LCNqRK3D8tHnrRn%2Fimage.png?alt=media&#x26;token=4cf66bf3-85e5-48b2-9475-45f38ec7f830" alt=""><figcaption></figcaption></figure>

SCIMを選択して\[次へ]をクリックします。

<figure><img src="https://1914737032-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Mfd2v-YT48Ljtykb8qm%2Fuploads%2FLmRQTOf7i73clUwzOJvU%2Fimage.png?alt=media&#x26;token=61f98f36-1bd3-4119-b5bc-d6164afb4f63" alt=""><figcaption><p>KeeperでのSCIM設定</p></figcaption></figure>

\[プロビジョニングトークンを作成]をクリックします。

<figure><img src="https://1914737032-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Mfd2v-YT48Ljtykb8qm%2Fuploads%2FgmPUn2jeHkLJfja8C38I%2Fimage.png?alt=media&#x26;token=01746824-faf6-45e5-8786-d72453139c56" alt=""><figcaption><p>プロビジョニングトークンの作成</p></figcaption></figure>

URLとトークンが表示されるので、**URLとトークンをファイルに一時的に保存してから、\[保存] をクリックします。**

<figure><img src="https://1914737032-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Mfd2v-YT48Ljtykb8qm%2Fuploads%2FtSzvPVZPecZ3BNtZF1fd%2Fimage.png?alt=media&#x26;token=05191cc7-3be7-4b92-835d-d9a4cbd775b8" alt=""><figcaption><p>SCIM URLとトークンを保存</p></figcaption></figure>

{% hint style="warning" %}
URLとトークンを必ず保存してから\[保存] をクリックするようにします。 これらのパラメータは次の手順で必要となります。
{% endhint %}

### 手順 10. 共有フォルダでKeeperレコードを作成

手順7で作成した共有フォルダ内に、以下のフィールドを含むレコードを作成します。

<table><thead><tr><th width="209">フィールド</th><th>値</th></tr></thead><tbody><tr><td><strong>ログイン</strong></td><td>Google Workspace admin email</td></tr><tr><td><strong>パスワード</strong></td><td>手順9で生成したSCIMトークン</td></tr><tr><td><strong>ウェブサイトアドレス</strong></td><td>手順9で生成したSCIM URL</td></tr><tr><td><strong>credentials.json</strong></td><td>手順3のGoogle Serviceアカウント認証情報の添付ファイル</td></tr><tr><td><strong>SCIM Group</strong></td><td>プロビジョニングされるすべてのグループのリストを含む複数行のカスタムテキストフィールド。名前はグループメールかグループ名のいずれかとなります。</td></tr></tbody></table>

指定したグループとそのユーザーがKeeperにプロビジョニングされます。

<figure><img src="https://1914737032-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Mfd2v-YT48Ljtykb8qm%2Fuploads%2F7rS8BJ7OUwoO3agR4pz5%2Fimage.png?alt=media&#x26;token=7e068f72-a8c5-415b-9408-2a2d1bd7f6aa" alt=""><figcaption><p>Keeperボルトのレコード</p></figcaption></figure>

{% hint style="info" %}
グループのリストには、グループのメールアドレスかグループ名のいずれかを指定できます。Keeperがいずれかの値を照合し、関連するすべてのユーザーとグループをプロビジョニングします。
{% endhint %}

この時点で、Keeper側の設定は完了となります。残りの手順はGoogle CloudコンソールでのCloud Functionの設定となります。

### 手順 11. Google Cloud Functionを作成

Google Cloudコンソールから`Cloud Functions`を開き、\[関数を作成]をクリックします。

<figure><img src="https://1914737032-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Mfd2v-YT48Ljtykb8qm%2Fuploads%2FprS04IC30dwnDlqAmPcZ%2Fimage.png?alt=media&#x26;token=c36f19b7-1ea5-4736-bf6f-7c8fcd812681" alt=""><figcaption><p>Functionの作成</p></figcaption></figure>

#### **Basics:**

* Environment (環境) に`2nd gen` (第2世代) を選択します。
* Function name (関数名) は「`keeper-scim-push`」にします。
* Region (地域) には任意の地域を選択してメモしておきます。
* TriggerのTrigger typeををHTTPSにします。
* Authentication (認証) を「`Require authentication`」 (認証が必要) にします。

#### **Advanced -> Runtime:**

* Memory allocated (メモリの割り当て) : 256MiB
* CPU: 0.333
* Timeout (タイムアウト) : 120秒
* Concurrency (同時実行) のコンテナあたりの最大リクエスト数: 1
* Autoscaling (自動スケーリング) のインスタンスの最小数 : 0
* Autoscaling (自動スケーリング) のインスタンスの最大数 : 1
* Runtime service account (ランタイムサービスアカウント) : 選択
* Runtime service account (ランタイムサービスアカウント) で, 「`Default compute service account`」を選択

{% hint style="info" %}
Default compute service accountがまだ存在しない場合は、一時的に別のアカウントを選択し保存してから戻ってサービスアカウントを編集します。
{% endhint %}

以下は設定例です。

<figure><img src="https://1914737032-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Mfd2v-YT48Ljtykb8qm%2Fuploads%2FOnNogqbvxpBVyN9NbZeY%2Fimage.png?alt=media&#x26;token=e48c2576-41e9-4f7d-8fa6-735c29bff1b4" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1914737032-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Mfd2v-YT48Ljtykb8qm%2Fuploads%2FJ8B9p5nCWSZ85L9Ocx18%2Fimage.png?alt=media&#x26;token=f246ae36-586d-43eb-8304-d6e8057658fd" alt=""><figcaption><p>ランタイムの設定</p></figcaption></figure>

#### **Runtime environment variables (ランタイム環境変数)**

変数を2つ作成します。

* Name 1を`KSM_CONFIG_BASE64`、Value 1を手順8で生成したKSM設定ファイルの内容に設定します。
* Name 2を`KSM_RECORD_UID`、Value 2を手順10でボルトで作成したレコードUIDに設定します。

{% hint style="info" %}
Keeperボルトのレコードで情報アイコンをクリックすると、レコードUIDを確認できます。レコードUIDをクリックして値をコピーします。
{% endhint %}

<figure><img src="https://1914737032-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Mfd2v-YT48Ljtykb8qm%2Fuploads%2FH4WQkohayKneDYEfOU9j%2Fimage.png?alt=media&#x26;token=98c295f6-577a-40c2-b4a8-c67ce8340d92" alt=""><figcaption></figcaption></figure>

\[CONNECTIONS] (接続) をクリックし、\[Allow internal traffic only] (内部トラフィックのみ) を選択します。

<figure><img src="https://1914737032-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Mfd2v-YT48Ljtykb8qm%2Fuploads%2FIF3OSdtoUBpY6CGKlJFN%2Fimage.png?alt=media&#x26;token=9b04c382-aa30-46d8-a3f5-6d17c474a67d" alt=""><figcaption><p>[Allow internal traffic only] (内部トラフィックのみ)</p></figcaption></figure>

下へスクロールし&#x3066;**\[`NEXT`]** (次へ) をクリックし、Cloud Function Sourceをアップロードします。

<figure><img src="https://1914737032-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Mfd2v-YT48Ljtykb8qm%2Fuploads%2FQWLEzlleSLhb4gG6FNVr%2Fimage.png?alt=media&#x26;token=c302ea99-5d56-4b20-86e1-4c1fb06eedb9" alt=""><figcaption><p>NEXTをクリック</p></figcaption></figure>

### 手順 12. Cloud Function Sourceをアップロード

* Keeper Google SCIM Pushのリリースページへ移動します。\
  <https://github.com/Keeper-Security/ksm-google-scim/releases>
* **`source.zip`**&#x30D5;ァイルをダウンロードしてコンピュータに保存します。

<figure><img src="https://1914737032-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Mfd2v-YT48Ljtykb8qm%2Fuploads%2FL2MHnTfAO2Gc8XgrtpBB%2Fimage.png?alt=media&#x26;token=16b86bec-bdc9-4718-b0a5-5fab786e44e4" alt=""><figcaption><p>Cloud Function Code Source</p></figcaption></figure>

* Runtime (ランタイム) は「`Go 1.21`」にします。
* Source code (ソースコード) には`Zip Upload`を選択します。
* Entry point (エントリーポイント) には`GcpScimSyncHttp`を入力します。
* Zip upload (Zipアップロード) のDestination bucketには、デフォルトバケット許可 (非公開) を用いて任意の名前のバケットを作成します。
* Zip file (Zipファイル) : 前の手順で保存した`source.zip`を アップロードします。

**\[`DEPLOY`]** (デプロイ) をクリックしてクラウド関数を作成します。 数分後、関数が作成され、パブリッシュされます。

この関数はプライベートであり、認証を必要とするため、次の手順ではCloud Schedulerを作成します。

### 手順 13. Cloud Function URLをコピー

Cloud Function画面で、以下に見られるようにURLをコピーします。

<figure><img src="https://1914737032-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Mfd2v-YT48Ljtykb8qm%2Fuploads%2Fxt5AmNj2iEI4SiREzbMY%2Fimage.png?alt=media&#x26;token=d137ba71-a7eb-48ef-860b-425ca76c912e" alt=""><figcaption></figcaption></figure>

### 手順 14. Cloud Schedulerを作成

Google Cloudコンソールで、Cloud Schedulerを検索して開きます。

<figure><img src="https://1914737032-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Mfd2v-YT48Ljtykb8qm%2Fuploads%2FcPyHnM4fVEjdFmbcygxd%2Fimage.png?alt=media&#x26;token=678c71e5-4f64-438e-b7c1-cbd4d58e4cd4" alt=""><figcaption><p>Cloudスケジューラ</p></figcaption></figure>

* \[`SCHEDULE A JOB`] (ジョブをスケジュール) をクリックします。

#### 以下のようにスケジュールを定義します。

* 「Keeper SCIM Push for Google Workspace」など、任意の名前を付けます。
* 1時間に1回実行の場合`0 * * * *`など、頻度を設定します。
* ロケーションに応じてタイムゾーンを設定します。
* Target type (ターゲットタイプ) を`HTTP`にします。
* URLを手順13でコピーしたCloud Function URLに設定します。
* HTTP method (HTTPメソッド) を`GET`に設定します。
* Auth Header (Authヘッダ) を`Add OIDC token`に設定します。
* Serviceアカウントを`Default compute service account`に設定します。
* \[`CONTINUE`] (続行) 、\[`CREATE`] (作成) の順にクリックします。

### 手順 15. Schedulerをテスト

Scheduler Jobs画面にジョブが表示されます。強制的に実行するには、右側のオーバーフロー メニューをクリックし、\[`Force run`] (強制実行) を選択します。

即座にCloud Functionが実行されます。

<figure><img src="https://1914737032-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Mfd2v-YT48Ljtykb8qm%2Fuploads%2FiuarjVaEMbfHhm1bAKQi%2Fimage.png?alt=media&#x26;token=160bf6c7-0e87-4310-a136-d3045c87b6a6" alt=""><figcaption></figcaption></figure>

成功すると、\[Status of last execution] (最後の実行のステータス) に\[Success] (成功) と表示されます。

<figure><img src="https://1914737032-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Mfd2v-YT48Ljtykb8qm%2Fuploads%2F1Z9gtY6dqXVRwaoK7U4f%2Fimage.png?alt=media&#x26;token=0ad25b71-a6da-40ad-9669-3fca1c3e1942" alt=""><figcaption><p>スケジューラSuccess</p></figcaption></figure>

Keeperが同期情報を受信したことを確認するには、Keeper管理コンソールにログインします。保留中および招待状態のユーザー、チーム、チーム割り当てのリストが表示されます。

<figure><img src="https://1914737032-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Mfd2v-YT48Ljtykb8qm%2Fuploads%2FCUhNtqZAmBeCdIg8WDSQ%2Fimage.png?alt=media&#x26;token=f40878bc-1a08-4848-bc76-657d94ad6e93" alt=""><figcaption></figcaption></figure>

### 手順 16. ローカルファイルを削除

プロセスが正常に動作すると、この過程で作成されたすべてのローカルファイルとシークレットを削除します。

{% hint style="warning" %}
重要: 以下のような、コンピュータにあるローカルファイルや一時ファイルをすべて削除します。

* config.base64ファイル
* credentials.jsonファイル
* SCIMトークン
* その他スクリーンショットやローカルファイル
  {% endhint %}

### 破壊操作

デフォルトでは、Keeper管理コンソール内の管理されていないチームとチーム割り当てが同期処理中に削除されることはありません。ただし、管理されていないチームもチーム割り当てもすべて削除される同期方法をご希望の場合は、Keeperレコードにカスタムフィールドを作成して特定の値を入力します。

<table><thead><tr><th width="257">Destructiveフィールドの値</th><th>説明</th></tr></thead><tbody><tr><td>-1</td><td>同期中Keeper側では何も削除されません</td></tr><tr><td>0 (デフォルト)</td><td>同期中、SCIM で制御されているグループとメンバーシップのみが削除されます (デフォルト設定)</td></tr><tr><td>1</td><td>同期中、手動で作成されたグループやメンバーシップとSCIMで制御されたグループやメンバーシップが削除されます。</td></tr></tbody></table>

### デバッグログ

Keeperレコードを変更することで、Google Cloud Functionログに詳細なログを作成できます。

| Verboseフィールドの値 | 説明      |
| -------------- | ------- |
| 0 (デフォルト)      | ログなし    |
| 1              | 詳細ログが有効 |

<figure><img src="https://1914737032-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Mfd2v-YT48Ljtykb8qm%2Fuploads%2FncpuIJiAeWzvBQiwdTiJ%2Fimage.png?alt=media&#x26;token=baafc5fe-4801-4e5f-bfd8-0cbc5ccc7478" alt=""><figcaption></figcaption></figure>

### 同期について

* Keeperは、Cloud Functionプロビジョニングを実行する際に、グループ名またはグループのメールアドレスに対して厳密な文字列照合を実行します。グループ名とグループメールアドレスでは大文字と小文字が区別されます。
* 招待状態のユーザーは、ユーザーがボルトを作成し、Keeper管理者が管理コンソールにログインするまで、割り当てられたチームに追加されされることはありません。 ユーザーのチームへの参加も、チームの別のメンバーがボルトにログインする際に行われます。管理コンソールから\[同期]をクリックすることでもチーム参加が行われます。
* チームの作成などの一部の操作は、Keeper管理コンソールへのログイン時、または[Keeper Automator](/sso-connect-cloud/jp/device-approvals/automator.md)の実行時にのみ発生します。これは、暗号化キーを生成する必要があるためです。
* 大規模なデプロイの場合、[Keeper Automator](/sso-connect-cloud/jp/device-approvals/automator.md)を設定して、デバイスの承認、ユーザーの承認、チームの承認のプロセスを自動化することを推奨します。
* 新しいグループを追加する場合は、Keeperボルトのレコード内のリストにグループを追加します ([手順10](#id-10-forudadekeeperwo)参照)。Keeperがターゲットを識別する際にはグループのメールアドレスまたはグループ名のいずれかを照会します。
* Google Workspaceでネストされたグループは、Keeperと同期する際にフラット化されます。 ネストされたグループのユーザーは、Keeper側の親グループに追加されます。

### Cloud Function Sourceの更新

Cloud Functionの新しいバージョンが作成される際のコードのアップデートは簡単です。

* Githubリポジトリのksm-google-scimの[リリースページ](https://github.com/Keeper-Security/ksm-google-scim/releases)から新しい`source.zip`ファイルをダウンロードします。
* Google CloudのCloud Functionsの箇所へ移動します。
* Cloud Functionの詳細をクリックし、\[`EDIT`]をクリックしします。
* Codeをクリックします。
* Source codeで、\[ZIP Upload]を選択します。
* コンピュータに保存したsource.zipファイルを選択します。
* \[`DEPLOY`] (デプロイ) をクリックします。
* 新しい関数がデプロイされるまで数分間待ちます。
* Cloud Schedulerへ移動します。
* \[Actions] > \[Force Run]をクリックします。


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.keeper.io/sso-connect-cloud/jp/identity-provider-setup/g-suite-keeper/google-workspace-user-and-group-provisioning-with-cloud-function.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
