Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Google Workspace 外部連携モジュール

UCIDM では Google Workspace に対して ID 連携できます。

Google Workspace 外部連携設定手順

事前準備

外部連携先の Google Workspace をご用意下さい。また、UCIDM 稼働サーバーから外部連携先 Google Workspace への以下の接続情報をご準備ください。

  • Google の Client Email
  • Google の秘密鍵
  • Google の Subject (主に管理者のメールアドレスを指定)

コンテナの設定

Google Workspace 外部連携モジュールはコンテナとして稼働させます。次のように compose.yml に設定します。entrypoint では次の設定ができます。

  • -verbose: デバッグログを出力
  • -jsonl: JSON 形式でログを出力
  consumer-google:
    depends_on:
      rabbitmq:
        condition: service_healthy
    container_name: consumer-google
    image: docker.io/osstech/ucidm-consumer:latest
    logging: *default-logging
    ports:
      - 7099:7099
    volumes:
      - type: bind
        source: ./server-data
        target: /ucidm
        bind:
          create_host_path: false
    entrypoint:
      - ./bin/app-main
      - -jsonl
    environment:
      TZ: "${TZ}"
      DESTINATION_ID: "google-001"
      MONGO_USER: "${MONGO_USER}"
      MONGO_PASSWORD: "${MONGO_PASSWORD}"
      MONGO_DATABASE: "${MONGO_DATABASE}"
      MONGO_HOSTS: "${MONGO_HOSTS}"
      RABBITMQ_USER: "${RABBITMQ_USER}"
      RABBITMQ_PASSWORD: "${RABBITMQ_PASSWORD}"
      RABBITMQ_HOST: "${RABBITMQ_HOST}"
      MONGO_REPLICA_SET: "${MONGO_REPLICA_SET}"
      GOOGLE_CLIENT_EMAIL: "${GOOGLE_CLIENT_EMAIL}"
      GOOGLE_PRIVATE_KEY: "${GOOGLE_PRIVATE_KEY}"
      GOOGLE_SUBJECT: "${GOOGLE_SUBJECT}"
    restart: "always"

ここで参照する環境変数は ucidm.env に設定します。

環境変数の設定

環境変数既定値説明
TZ任意タイムゾーン情報
DESTINATION_ID任意外部連携先 ID 管理画面で作成した外部連携先 ID を指定
MONGO_USER任意接続する MongoDB のユーザ名
MONGO_PASSWORD任意接続する MongoDB のパスワード
MONGO_DATABASE任意ucidm接続する MongoDB のデータベース
MONGO_HOSTS任意接続する MongoDB のホスト
MONGO_REPLICA_SET任意接続する MongoDB のレプリカセットの名前
RABBITMQ_USER任意接続する RabbitMQ のユーザ名
RABBITMQ_PASSWORD任意接続する RabbitMQ のパスワード
RABBITMQ_HOST任意接続する RabbitMQ のホスト
GOOGLE_CLIENT_EMAIL任意Google Workspace の Client Email
GOOGLE_PRIVATE_KEY任意Google Workspace の秘密鍵
GOOGLE_SUBJECT任意Google Workspace の Subject (主に管理者のメールアドレスを指定)
ENABLE_SCRIPT_PASSWORDtrue または falsefalseユーザーパスワード更新時に外部連携の
前処理/後処理スクリプトにパスワードの値を連携するかどうか

Google Workspace 外部連携設定

管理画面にて Google Workspace の外部連携設定が行えます。ホーム画面の「外部連携設定」を選択し、外部連携設定一覧画面に遷移します。外部連携設定一覧画面で、登録ボタンを押下することで新規外部連携設定画面が表示されます。

この新規外部連携設定画面の各タブで詳細内容を設定します。設定が完了したら「登録」ボタンを押下することで外部連携設定が作成されます。

外部連携設定作成後は、ルーティング設定 にてこの外部連携設定を適用するユーザーおよびグループを指定して下さい。

外部連携主要情報

Google Workspace 外部連携の主要情報を指定します。

  • 連携 ID
    • 一意の連携 ID を指定します
  • 外部連携先 ID
    • 上記コンテナの DESTINATION_ID 環境変数で設定した値を指定します
  • 外部連携先 タイプ
    • Google

動作設定

管理画面にて Google Workspace の動作設定ができます。

設定項目と内容は次になります。

  • ドメイン名
    • Google Workspace のドメイン名を指定します
  • ドライランモード
    • 接続の取得やエントリの検索は行いますが、実際にエントリの追加/変更/削除は行わないモードとなります
    • 主にテスト時の動作確認等に使うことを想定しています
実施しない操作の設定
  • ユーザー追加/更新を行わない
    • Google Workspace に対してユーザー追加/更新を行わない場合は、この項目をオン(true)にしてください
  • ユーザー削除を行わない
    • Google Workspace に対してユーザー削除を行わない場合は、この項目をオン(true)にしてください
  • ユーザーパスワード更新を行わない
    • Google Workspace に対してユーザーパスワード更新を行わない場合は、この項目をオン(true)にしてください
  • グループ追加/更新を行わない
    • Google Workspace に対してグループ追加/更新を行わない場合は、この項目をオン(true)にしてください
  • グループ削除を行わない
    • Google Workspace に対してグループ削除を行わない場合は、この項目をオン(true)にしてください
  • グループメンバー追加を行わない
    • Google Workspace に対してグループメンバー追加を行わない場合は、この項目をオン(true)にしてください
  • グループメンバー削除を行わない
    • Google Workspace に対してグループメンバー削除を行わない場合は、この項目をオン(true)にしてください

マッピング

Google Workspace 外部連携の以下マッピング設定を行います。

  • 属性マッピング

次でマッピング設定について説明します。

属性マッピング

次の 属性マッピング設定 を参考にしてください。

  • Google Workspace では階層構造を持つ属性があります。
    • 例えば、name 内の givenName に対して属性値をマッピングする場合は、「name.givenName」に対してマッピングをする必要があります。
  • Google Workspace では階層構造に加えて、配列を持つ属性があります。
    • 例えば、emails 内の 最初の配列要素における、address に対して属性値をマッピングする場合は、「emails.0.address」に対してマッピングをする必要があります。
    • 配列の要素番号は、0, 1, 2, … の形で 0 から始める番号で指定する必要があります。

以下は Google Workspace 外部連携のユーザーマッピング設定の一例です。

連携先の属性名連携元の属性名ビルトイン関数名テンプレート文字列固定値
name.familyNamesn
name.givenNamegivenName
hashFunctioncrypt
orgUnitPath/
suspendedfalse
changePasswordAtNextLogintrue

以下は Google Workspace 外部連携のグループマッピング設定の一例です。

連携先の属性名連携元の属性名ビルトイン関数名テンプレート文字列固定値
descriptiondescription

また、以下の属性は Google Workspace 外部連携モジュール独自のマッピングになるため、合わせてご参照ください。

ユーザ属性

primaryEmail 属性

本属性については、連携されてきた primaryID の値を使用し、${primaryID}@${ドメイン} の値が自動でセットされるので、マッピング設定は必要ありません。

hashFunction 属性

本属性のマッピング設定をする場合は、以下のいずれかの値が連携されるよう設定してください。

  • crypt
  • SHA-1
  • MD5

suspended 属性

ユーザの有効化/無効化を制御するための属性となります。この属性に対して、true/false が設定されるようマッピングを行うことで、ユーザの有効化/無効化のステータスを制御することができます。

ここで、有効化の場合は false、無効化の場合は true が割り当てられる必要があることにご注意ください。必要に応じて、マッピング設定の 事前定義済みのビルトイン関数invertBooleanValue をご使用ください。

グループ属性

email 属性

本属性については、連携されてきた primaryID の値を使用し、${primaryID}@${ドメイン} の値が自動でセットされるので、マッピング設定は必要ありません。

前処理・後処理スクリプト設定

UCIDM では、外部連携処理の前後で任意のシェルスクリプトを実行することができます。

次の 外部連携の前処理/後処理で実行するスクリプトの配置 を参考に、スクリプトファイルを配置後、外部連携の前処理/後処理で実行するスクリプトの設定 を参考に、実行したいスクリプトファイルを指定してください。

Google Workspace 外部連携モジュールの留意事項

  • 更新操作直後に Google 管理コンソールにてユーザー/グループを閲覧すると更新前の状態が表示される場合があります
Last updated on 2026-03-17 09:59 +0900 (main@0b63750)