本ドキュメントでは、User Sync ツールを実装してユーザー管理プロセスを自動化する方法について説明します。

User Sync ツールは、ユーザーとグループの情報を組織のエンタープライズディレクトリシステム(Active Directory やその他の LDAP システムなど)から Adobe Admin Console 内の組織のディレクトリに移すための、コマンドラインユーティリティです。User Sync ツールを実行すると、ツールでは、2 つのシステム間のユーザーおよびグループ情報の差異を探し、お使いのディレクトリの情報に Adobe のディレクトリを一致させるよう更新します。

このドキュメントでは、Active Directory システムを Adobe Admin Console を使用してインターフェイス接続するステップバイステップの手順を提供します。これは、小中高校教育機関および中小企業のセグメントで当社のお客様に最もよく利用されている組み合わせの 1 つです。User Sync ツールは柔軟性があり、大抵の LDAP およびディレクトリシステムとのインターフェイス接続に利用可能です。Active Directory 以外のディレクトリシステムをご使用の場合は、本ドキュメントにある手順をそのまま使用できないため、適宜変更を加える必要があります。詳しくは、セットアップと成功のガイドを参照してください。

はじめに

ご使用の LDAP システムに関して、以下の情報を収集します。不明な場合は、IT 管理者に問い合わせてください。

  • ドメインコントローラー名(または存在する場合、その固定 IP)とポート。
  • ツールが LDAP からユーザーを抽出するために使用するサービスアカウントのユーザー名とパスワード(読み取り専用アクセス)。
  • サーバーがユーザーを検索する基点となるベース DN。同期が必要なすべてのユーザーとグループを検出できる十分な幅が必要です。
  • 同期の一部であるグループ名。
  • Admin Console で作成する必要があるすべてのユーザーのメール/ユーザー名に最適な LDAP 属性。
  • (オプション)デフォルトのフィルターが要件を満たしていない場合、アドビと同期するユーザーのセットを選択するカスタム LDAP クエリが併せて必要になることがあります。
Active Directory

このキーペアは、JWT に署名し、access_token プロセスの取得にあたって JWT の正当性を証明するために使用します。このプロセスを円滑に進めるため、必要に応じてセキュリティ部門にお問い合わせください。

証明書に関する説明:

  • 公開証明書は、お客様独自の CA によって署名できます(必要に応じて CSR を作成します)。自己署名証明書を使用することもできます。
  • 秘密鍵は RSA: 2048 ビット以上である必要があります。
  • 公開証明書のファイル拡張子には、.crt 拡張子を使用します。
  • 署名には SHA-256 を使用します。
  • 公開鍵の有効期間:3 年間を推奨しますが、組織内のセキュリティポリシーに従ってください。

自己署名証明書を作成する

テストと設定には、openssl を使用した自己署名証明書を使用することもできます。Mac OS/Linux の場合は、openssl が標準で組み込まれていることがあります。Windows の場合は、openssl のサポート(Cygwin など)を別途追加します。
自己署名証明書を作成するには、次の手順を実行します。

  1. macOS/Linux の場合は、ターミナルを開きます。
    Windows の場合は、openssl をサポートするプログラム(Cygwin、cmd、など)を開きます。

  2. 以下のコマンドを実行します。

    openssl req -x509 -sha256 -nodes -days 1095 -newkey rsa:2048 -keyout private.key -out certificate_pub.crt
    電子証明書
  3. 秘密鍵の生成が完了すると、公開鍵の識別名を作成するための追加情報の入力を求めるメッセージが表示されます。デフォルト値をそのまま使用するか、別の適切な識別名を入力します。フィールドを空白のままにする場合は、"."(ドット)を入力します。

    電子証明書

公開鍵証明書ファイルと秘密鍵ファイルは、デフォルトで以下の場所に保存されます。

Windows: C:¥cygwin64¥home¥<your_user_name>

macOS: /Users/<your_user_name>

お使いのマシンへの User Sync のインストールをお考えの場合は、次の必要システム構成を満たしていることを確認してください。

  • インターネットアクセスと LDAP または AD などのディレクトリサービスがある。
  • 保護されセキュアな環境にある(管理者情報はここに保存されアクセスされます)。
  • いつでも使用可能で安定性があり、バックアップと復旧機能を装備。
  • User Sync から管理者へレポートを送信するための電子メールの送信が可能。
  • Windows マシンの場合は、64-bit プロセッサー対応。

上記を満たさない場合は、IT 部門に相談して、サーバーを特定してアクセスできるようにしてください。

組織用にドメインがクレームされており、製品プロファイルとユーザーグループが Adobe Admin Console に作成されていることを確認します。

サーバーのセットアップ

adobe.io の連携を設定するには、以下の操作を行います。

  1. Adobe I/O Console にログインし、ドロップダウンリストから組織を選択して、「New Integration(新規連携)」をクリックします。

    新しい連携
  2. 新規連携を作成ウィザードで、「Access an API(API にアクセス)」を選択して、「続行」をクリックします。

    Screenshot_3
  3. Adobe サービスで、「User Management AP」を選択して「続行」をクリックします。続いて表示される画面で、再度「続行」をクリックします。

    Untitled-2
  4. 連携の名前と内容を入力して、公開鍵証明書ファイルをアップロードします。「Create integration(連携を作成)」をクリックします。

    連携が作成されました。

    連携を作成
  5. 連携の内容を表示するには、「Continue to Integration Details(連携の詳細にアクセス)」をクリックします。

    連携の内容

連携の内容は、後で User Sync ファイルを設定するときに必要です。

  1. 必要な権限を持つユーザーがそのコンテンツにアクセスできるドライブ上の場所に、user_sync_tool という名前のフォルダーを作成します。

  2. GitHub にアクセスし、「Latest release(最新のリリース)」タグを見つけます。

    このリリース内で、「Assets(アセット)」を見つけて展開します。次に、以下を見つけてダウンロードします。

    • examples.zip ファイル
    • リスト内の User Sync ツールの .zip(使用する OS タイプと Python バージョンに応じて選択)

    注意:

    アーカイブの名前は、対応する OS タイプとビルドに使用された Python バージョンを示しています。例えば、user-sync-vX.Y-win64-py368.zip は、Python 3.6.8(64 ビット)でビルドされた Windows 版リリースです。
    システムにいずれの Python バージョンもインストールされていない場合は、可能な限り、ツールのビルドに使用されたバージョンをインストールしてください。

  3. examples.zip を展開し、config files/basic に移動して、ファイル connector-ldap.yml、connector-umapi.yml、user-sync-config.yml を user_sync_tool フォルダーにコピーします。

  4. もう 1 つの zip ファイルから user-sync.pex ファイルを抽出し、先ほど作成した user_sync_tool フォルダーに保存します。

  5. 公開証明書に付属している private.key を見つけて、同じ user_sync_tool フォルダーに移動します。この時点で、全ファイルのリストは次のようになります。

    • connector-ldap.yml
    • connector-umapi.yml
    • private.key
    • user-sync.pex
    • user-sync-config.yml

  1. 次は Python 3.6.8 をインストールします(Windows x86-64 実行可能インストーラーをダウンロードして実行します)。

  2. Add Python 3.6 to PATH(Python 3.6 を PATH に追加する)チェックボックスをオンにし、「Customize Installation(インストールをカスタマイズ)」を選択します。

    Python をインストール
  3. Optional Features(オプション機能)画面で「Next(次へ)」をクリックします。Advanced Options(詳細オプション)画面で、「Install for all users(すべてのユーザーにインストールする)」チェックボックスをオンにし、「Install(インストール)」をクリックします。

    Python をインストール
  4. インストール完了後、「disable path length limit(パスの長さ制限を無効にする)」オプションが表示された場合はそれをオンにした後、インストールウィンドウを閉じます。

  5. コマンドプロンプトを開き、以下のコマンドを実行します。

    python --version

    Python が PATH に正常に追加された場合は、上記のコマンドラインがバージョンを返し、そうでない場合はエラーを返します。

User Sync の設定

  1. 専用のテキストエディターで connector-ldap.yml ファイルを編集します。

  2. ユーザー名、パスワード、base_dn 値を入力します。

    ディレクトリアクセス設定ファイル
  3. search_page_size を「200」に設定します。

  4. ほとんどの場合、デフォルトのフィルターが適切です。ユーザーのセットを抽出するカスタム LDAP クエリが必要な場合は、all_users_filter 構成パラメーターを変更します。

  5. 残りの設定(コメントアウトされたものを除く)と、それらが指す LDAP 属性を確認します。必要に応じて変更してください。

    デプロイによっては、ユーザー名によるログインが設定されます(Admin Console で、対象ユーザーのユーザー名フィールドが電子メールタイプの値ではありません)。 

    この場合、次の行も有効にします(# 文字を削除します)。
    user_username_format: {sAMAccountName}

    sAMAccountName を使用する必要がない場合は、正しい属性に置き換えます。

  1. connector-umapi.yml ファイルを編集します。このファイルには、Adobe 組織へのアクセス情報が含まれています。

  2. 前のステップで作成した adobe.io の連携から以下の情報を入力します。

    • org_id
    • api_key
    • client_secret
    • tech_acct
  3. priv_key_path に、user_sync_tool フォルダー内にある秘密鍵の正確な名前が含まれていることを確認してください。
    秘密鍵が残りの UST ファイルと同じフォルダー内にある場合、priv_key_path にはファイルの名前のみを含めることができ。これは相対パスとして機能します。

    Adobe UMAP 証明書

ディレクトリで各ユーザーの国が表示されない場合、初期設定の国を設定することができます。

  1. user-sync-config.ym ファイルを編集します。

  2. 初期設定の国コード行から # を削除し、適切な国コードを入力します。例:

    default_country_code: US

    注意:

    国コードは Federated ID には必須ですが、Enterprise ID では推奨されています。Enterprise ID で国コードが入力されなかった場合、ユーザーは初回ログイン時に国を選択するメッセージが表示されます。

このセクションでは、LDAP のどのグループに対して、Admin Console 内のユーザーグループまたは PLC を対応させる必要があるかを定義します。

ここでの目標は、ツールに対してグループ/ユーザーのソースを指定して、Admin Console 側のグループ/PLC 内の同じメンバーとの対応付けを可能にすることです。

  1. user-sync-config.yml ファイルで、group mapping を編集します。

  2. アドビ製品プロファイルまたはユーザーグループへのマッピングが必要な各ディレクトリグループについては、groups セクションの後に項目を追加します。例:

    groups:
        - directory_group: LDAP_group_name_goes_here
          adobe_groups:
            - Adobe_group_name_goes_here
        - directory_group: LDAP_group_name_goes_here
          adobe_groups:
            - Adobe_group_name_goes_here

    注意:

    Adobe ユーザーグループまたは製品プロファイルを使用して、グループマッピングできます。製品名へはマッピングしません。また、1 つのディレクトリグループを複数の Adobe ユーザーグループまたは製品プロファイルにマッピングすることができます。

設定ミスなどの問題による意図しないアカウント削除を防ぐため、毎日の同期で予想されるアカウント削除数の制限を決めておくことができます。

  1. 制限を変更するには、user-sync-config.yml ファイルで max_adobe_only_users を見つけます。

  2. ユーザー設定の次回実行までに削除されるアカウントの数が、max_adobe_only_users の値より多いことが予想される場合は、値を大きくしてすべてのアカウント削除に対応します。

    注意:

    削除するアカウントの数が、max_adobe_only_users の値より多い場合、ツールはアカウント削除を一切処理しません。その制限に達したことを通知する重要エントリがログに表示されます。

    この制限は、作成アクションには影響しません。

状況によっては、一部のアカウントを同期から除外しなければならないことがあります。この場合、user-sync-config.yml ファイルを編集します。
ツールには、ID タイプ別、グループ名別、正規表現によるフィルターの 3 つの除外機能があります。
Admin Console で上記の基準の少なくとも 1 つに一致するアカウントが検出された場合、そのアカウントは(グループ、Org からの)削除アクションから保護されます。

Admin Console にシステム管理者用の Adobe ID を用意し、exclude_identity_types: adobeID を使って除外して、それらの Adobe ID を除外することをお勧めします

以下に例を示します。

adobe_users:
  exclude_identity_types:
    - adobeID           # Adobe ID、Enterprise ID、Federated ID のいずれか
  exclude_adobe_groups:
    - adobe_group_name  # そのメンバーは User Sync によって削除されません
    - other_group_name  # 複数のグループを除外できます。
  exclude_users:
    - ".*@example.com"
    - important_user@domain.com

User Sync では、ログの記録を標準出力に表示し、ログファイルにも書き出します。構成設定のログ出力セットでは、ログ情報を出力する場所と量の詳細を管理します。

  1. ファイルのログのオンとオフを切り替えるには、user-sync-config.yml ファイルで log_to_file の値を編集します。

  2. ログの設定を確認し、必要に応じて変更します。初期セットアップでは、以下の使用をお勧めします。
    log_to_file: True 
    file_log_level: debug

別の方法として、Windows サーバーを使用している場合は、User Sync ツール構成ウィザードを使用してユーザー同期を構成することもできます。

User Sync ツール構成ウィザードは、User Management API(Adobe.io)、Enterprise ディレクトリ(LDAP)、同期設定を使用して User Sync ツールを簡単に設定するのに役立つ GUI ツールです。コンテキストベースのヘルプと User Sync ツールのドキュメントへのリンクを提供しています。詳しくは、Adobe User Sync ツール構成ウィザードを参照してください。

デプロイと自動化

User Sync ツールがサーバーまたはマシンにセットアップされたので、求めている通りに機能するかどうかを確認できます。User Sync ツール実行中の一般的な問題のトラブルシューティングについては、一般的なエラーを解決するための説明を参照してください。

  1. コマンドプロンプトを開きます。
  2. 以下のコマンドを使用して、user_sync_tool フォルダーに移動します。

    cd path/to/user_sync_tool
  3. 設定が完了していることを確認するには、以下のコマンドを実行します。

    Windows の場合

    python user-sync.pex -v
    python user-sync.pex -h

    UNIX の場合

    ./user-sync –v
    ./user-sync –h

    ここで -v はバージョンを表示し、-h はコマンドライン args のヘルプを表示します。

  4. テストモードで、既存のアドビ側アカウントを除外し、構成ファイルで指定されているマッピングされたグループのみに同期を実行します。

    python user-sync.pex -t --users mapped --process-groups --adobe-only-user-action exclude

    上記のコマンドは、user-sync-config.yml で指定されたマップされたグループ内のユーザーのみを同期させます。ユーザーが Admin Console に存在しない場合は、ユーザーを作成し、そのユーザーをディレクトリグループからマップされたいずれかのグループに追加しようと試みます。

    テストモード(-t)で user-sync を実行すると、ユーザーの作成を試みるだけで、実際には実行しません。--adobe-only-user-action exclude オプションは、アドビ組織内で既存のユーザーアカウントが削除されるのを防止します。

  5. invocation_defaults sets は、ツールが実行するデフォルトの引数を設定しますが、コマンドラインでそれらを指定することでオーバーライドできます。テストモードで、構成ファイルで指定されているマッピングされたグループのみに同期を実行して、アドビ側では見つかるが LDAP 抽出には見つからない余分なアカウントを削除します。

    python user-sync.pex -t --users mapped --process-groups --adobe-only-user-action remove

    -t

    実際の同期ではなくシミュレーションを実行して、動作を確認します。

    --users-mapped

    LDAP から、all_user_filter の検出結果と、構成ファイルに指定された directory_group 名のメンバーの検出結果の両方に含まれているユーザーを抽出します。

    --process-groups

    アカウントが LDAP のマッピングされたグループのメンバーであるかどうかによって、アドビ側のユーザーグループまたは PLC でユーザーを追加または削除します。

    --adobe-only-user-action remove

    アドビ側で見つかったアカウントが、LDAP 抽出で見つからず、同期から除外されていない場合、ユーザーメニューから削除され、使用権限が取り消されます。

    コマンドパラメーターについて詳しくは、こちらを参照してください。

    その他の使用シナリオについては、こちらを参照してください。

すべてのテストが予期したとおりの結果になれば、本番(テストモードフラグなし)で実行する準備が完了します。

注意:

  • ここで紹介したコマンドラインは単なる例であり、ユースケースにすべて対応していない場合があります。
  • 最初の同期にかかる時間は、同期するアカウント数に応じて数秒から数時間の幅があります。概算で、1.5〜2 分ごとに約 250 人のユーザーが作成されます(タイムアウトを含む)。
  • UMAPI タイムアウト警告コード 429 メッセージが表示されることがあります。ツールが再試行メカニズムを処理します。

User Sync は手動で実行することも、1 日に 1 回〜数回自動的に実行する自動化を設定することもできます。

注意:

使用可能なログ分析とアラートシステムがある場合は、User Sync からのログをログ分析システムに送信するように準備してください。また、ログに表示されるすべてのエラーや重要なメッセージのアラートを設定します。

  1. 要約に関連するログエントリを表示するには、user_sync_tool フォルダーに、User Sync の起動でスキャンに送信されるバッチファイルを作成します。例えば、次のようなコンテンツで run_sync.bat ファイルを作成します。

    cd path/to/user-sync-folder
    python user-sync.pex --users file example.users-file.csv --process-groups | findstr /I "==== ----- WARNING ERROR CRITICAL Number" > temp.file.txt
    rem email the contents of temp.file.txt to the user sync administration
    your-mail-tool –send file temp.file.txt
  2. 電子メールコマンドラインツールを設定することもできます。

    Windows には標準の電子メールコマンドラインツールはありませんが、市販のツールが複数存在します。これらを使って、具体的なコマンドラインオプションを入力できます。

  3. Windows タスクスケジューラーを設定して、User Sync ツールを実行します。

    例えば、以下のコードでは、毎日午後 4:00 に User Sync ツールの実行が開始されます。

    C:\> schtasks /create /tn "Adobe User Sync" /tr path_to_bat_file/run_sync.bat /sc DAILY /st 16:00

本作品は Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License によってライセンス許可を受けています。  Twitter™ および Facebook の投稿には、Creative Commons の規約内容は適用されません。

リーガルノーティス   |   プライバシーポリシー