この文書は、Creative Cloudエンタープライズ版をご契約いただいたETLAカスタマーの皆様がEnterprise Dashboardでユーザーを追加、削除、編集などに利用するAPI(Application Programming Interface)の動作について簡単に説明したものです。

Adobe User Mangement APIを試される皆様はAPIやプログラミングの知識に精通した方を推奨します。

Adobe User Management SDKとは

Adobe User Management API(UMAPI)は、Enterprise Dashboadのシステム管理者が利用します。

  • Python(プログラミング言語)や Postman(APIをコールできるクライアントソフトウェア)を利用します。
  • ユーザーの追加、更新、削除ができます。
  • 登録するユーザーのIDタイプを設定できます。
  • ユーザーの情報や割り当てられた製品プランを収集することができます。
  • ユーザーを製品プランのグループへ追加または削除ができます。
  • UMAPIはまとまった数のユーザーを一度に取り扱うことができます。
  • 製品プランのグループの作成、編集及び削除はできません。

環境の構築:

Mac OS X 10.11とPython 2.7.11を例として説明します。

A. Enterprise Dashboardのシステム管理者になります。

システム管理者に依頼し、UMAPIをご担当される方をシステム管理者として登録します。参考情報:管理者として招待を受けるには | Enterprise Dashboard | Creative Cloud エンタープライズ版 

B. Webページ「Adobe User Management API」 をよく読みます。

https://www.adobe.io/products/usermanagement/docs/#/articles/gettingstarted/index.html

次の情報があります。

GETTING STARTED(はじめに), SETUP API KEY(APIキーの設定), CREATE CERTIFICATE(証明書の作成), CREATE JWT(Jason Web Tokenの作成), CREATE APPS(アプリの作成), TEST MODE(テストモード), THROTTLING(制限), SAMPLES(サンプル), API REFERENCES(参考)

C. 証明書を作成します。

  1. Terminalを起動します。
  2. 証明書の名前を決めます。
    例:my_first_certificate_20160119.crt
  3. 以下のコマンドに証明書の名前を入力します。openssl req -x509 -sha256 -nodes -days 365 -newkey rsa:2048 -keyout private.key -out <証明書の名前>
  4. コマンドをTerminalに入力します。入力後にリターンキーを押します。
    例:openssl req -x509 -sha256 -nodes -days 365 -newkey rsa:2048 -keyout private.key -out my_first_certificate_20160119.crt
  5. Country Name (2 letter code) [AU]: が表示されます。JPと入力し、リターンキーを押します。
  6. State or Province Name (full name) [Some-State]:と表示されます。都道府県名を入力し、リターンキーを押します。
    例:Tokyo
  7. Locality Name (eg, city) []:と表示されます。市町村区名を入力し、リターンキーを押します。例:SHINAGAWA-KU
  8. Organization Name (eg, company) [Internet Widgits Pty Ltd]:と表示されます。会社名を入力し、リターンキーを押します。
    例:Adobe Systems Inc.
  9. Organizational Unit Name (eg, section) []:と表示されます。部署名を入力し、リターンキーを押します。
    例:TECHNICAL SUPPORT
  10. Common Name (e.g. server FQDN or YOUR name) []:と表示されます。ホームページを入力し、リターンキーを押します。
    例:adobe.com
  11. Email Address []:と表示されます。メールアドレスを入力し、リターンキーを押します。
    例:asjts+umapi@adobetest.com
  12. 証明書(.crt)とprivate.keyがユーザーフォルダーに作成されます。

D. APIキーを作成します。

APIを利用するためのキー情報を作成します。

  1. システム管理者が設定されたAdobe IDでWebページ「Adobe User Management API」でサインインします。 

  2. 「+ NEW API KEY」ボタンを押します。

    • Organizationには会社名などの組織名が表示されます。
    • Api Key Nameはこのキーの名前です。わかりやすい名前にします。
    • Descriptionは入力を省くことができますが、できるだけ説明を加えます。例:2016年1月20日にIT管理部のアドビ太郎が作成。
    • Certificate (Public Key)には証明書(例:my_first_certificate_20160119.crt)を選択します。

    設定が終わりましたら「CREATE ENTERPRISE KEY」ボタンを押します。

  3. APIキーが作成されます。APIキーはclient_idヘッダー(アクセス リクエスト)およびx-api-keyヘッダー(ユーザー管理)で利用します。

    注意:

    Client Secretが表示されるのは今回だけです。安全な場所に保管してください。

E. 開発環境を構築するためのツールをインストールします。

3つのツールをインストールします。

  • Homebrew(OS X 用パッケージマネージャー)
  • Xcode(Apple社が提要する開発ツール)
  • コマンドライン・デベロッパ・ツール
  1. Homebrewのホームページでインストール用のコマンドをコピーし、Terminalへペーストします。そしてリターンキーを押して、実行します。

  2. Terminalおよびダイアログの表示される指示に従って操作します(パスワードの入力、Xcodeのインストール、コマンドライン・デベロッパ・ツールのインストール)。

  3. Terminalに[xcode-select: note: install requested for command line developer tools Press any key when th installation has completed.]と表示された場合にはXcodeのインストールが完了するまで待ちます。完了後にどのキーでもよいので押します。

F. Homebrewを利用したPython環境の再構築します。

よりPythonを簡単に利用できるようにするためにはシンボリックリンクなどの問題を解決する必要があります。Homebrewを利用することで環境を再構築します。

  1. 下記のコマンドを入力し、リターンキーを押します。
    • brew install python
  2. 再構築が完了するとSummaryが表示されます。
     例: /usr/local/Cellar/python/2.7.11: 4,869 files, 65.5M

G. Pytonのライブラリーをインストールします。

3つのPytonパッケージをインストールします。

  • pyjwt
  • cryptography
  • requests
  1. Terminalに下記のコマンドを入力し、リターンキーを押します。
    • pip install pyjwt
       
  2. 下記が表示されます。
    • Collecting pyjwt
    • Downloading PyJWT-1.4.0-py2.py3-none-any.whl
    • Installing collected packages: pyjwt
    • Successfully installed pyjwt-1.4.0
       
  3. Terminalに下記のコマンドを入力し、リターンキーを押します。
    • pip install cryptography
       
  4. 下記が表示されます。
    • Successfully installed cffi-1.5.0 cryptography-1.2.1 enum34-1.1.2 idna-2.0 ipaddress-1.0.16 pyasn1-0.1.9 pycparser-2.14 six-1.10.0

  5. Terminalに下記のコマンドを入力し、リターンキーを押します。
    • pip install requests
       
  6. 下記が表示されます。
    • Installing collected packages: requests
    • Successfully installed requests-2.9.1

H. サンプルファイルをダウンロードします。

サンプルファイルをダウンロードし、解凍します。内容はAdobe User Management APIページのUser Management Walkthroughで確認できます。 

ダウンロード

* Scripts.zip
サンプルファイルが含まれています。AddGroupsProducts.py、CreateJWT.py 、CreateUser_type1.py 、CreateUser_type2.py 、CreateUser_type3.py 、ExchangeToken.py 、GroupInformation.py 、JWTExchange.py 、MultipleOperations_RemoveFromOrg.py 、MultipleOperations_type2.py 、MultipleUsers_RemoveFromOrg.py 、MultipleUsers_type2.py 、RemoveFromOrg.py 、RemoveGroups.py 、UpdateUser.py 、UserInformation.py 、UserInformationByGroup.py 、usermanagement.conf

アクセス用設定ファイルの作成:

Pythonを利用してUMAPIにアクセスするためにはパッケージのロード、JWT(Jason Web Token)の生成、AT(Access Token)の生成が必要です。JWTの有効期間は24時間です。毎回の生成を簡単にするためにusermanagement.confを作成します。

A. usermanagement.confの作成

説明:

domain = my domain ドメインクレーム済みのドメインまたはよく使うメールのドメイン(例:company.co.jp)を入力します。

org_id = my organization id 会社または組織に与えられたIDを入力します。D. APIキーを作成しますを参照。またはAPI KEYで確認。

client_secret = my api client secret Client Secretを入力します。D. APIキーを作成しますを参照。またはAPI KEYで確認。Client Secretは一度しか表示されません。無くした場合にはAPIキーの作成をもう一度行います。

tech_acct = my api client technical account UMAPI用アカウントを入力します。D. APIキーを作成しますを参照。またはAPI KEYで確認。Technical Account Idと表示されています。


priv_key_filename = my private key filename

D. 証明書を作成しますで作成されたキーの名前を入力します。例:private.key

B. Jason Web TokenとAccess Tokenの生成

パッケージのロード、JWT(Jason Web Token)とTAT(the Access Token)の作成を行います。

  1. 設定済みのusermanagement.configが入っているフォルダー(Automated Script)にumsdkclient.pyとprivate.keyをコピーしておきます。

  2. Terminalを起動します。

  3. ディレクトリーをAutomated Scriptフォルダーに変更します。

    例:cd /Users/userName/Desktop/Automated\ Script 

  4. 設定済みのPythonファイル「umsdkclient.py」を実行します。Terminalに下記を入力し、リターンキーを押します。

    • python umsdkclient.py
  5. JSON WebToken(JWT)とthe Access Token(tAT)が作成されます。

    注意:

    JWTとtATのには有効期間があります。それぞれ24時間です。

C. usermanagement.confの作成

User Management APIにアクセスするための設定を保存したファイル「usermanagement.conf」を作成します。このファイルを保存することでAPIへのアクセスが簡単になります。

  1. Scriptフォルダーにある「usermanagement.conf」ファイルをAutomated Scriptフォルダーへコピーします。

  2. usermanagement.confをテキストエディタで開き編集します。編集項目は下記となっています。

    • domain
    • org_id
    • api_key
    • client_secret
    • tech_acct
    • priv_key_filename
    • jwt_token
    • access_token
    1. jwt_tokenとaccess_token以外の項目は手順A(usermanagement.configの生成)で入力したものと同じです。usermangement.configからコピーします。
    2. jwt_tokenとaccess_tokenは手順B(Jason Web TokenとAccess Tokenの生成)でTerminalに表示されています。コピーします。
  3. 保存し、テキストエディタを終了します。

User Management APIの利用:

ScritptフォルダーにはサンプルとなるPythonファイルが幾つか含まれています。それぞれの利用方法についてはUser Management APIのSampleタブを参考にしてください。Sample / Query = https://www.adobe.io/products/usermanagement/docs/#/articles/samples/SampleQuery.html

参考例としてUserInformation.pyを利用してEnterprise Dashboardに登録されているユーザーの一覧を取得します。

注意:

一度に取得できるユーザー数は200に制限されています。Pythonファイルを開くとパラメーター(# method parameters)に page = 0 とあります。これは最初の200名分となります。例えばユーザー数が1,000名の場合にはpage = 1と書き換えて次の200名、page = 2と書き換えて次の200名という風に取得します。最後はpage = 4となります。

  1. Automated ScriptフォルダーにScriptフォルダーにあるUserInformation.pyをコピーします。これはprivate.keyやusermanegement.confと同じフォルダーにまとめる必要があるからです。

  2. Terminalを起動して、Automated Scriptフォルダーへディレクトリーチェンジします。

    • コマンドの例:cd /Users/userName/Desktop/Automated\ Script 
  3. UserInformation.pyを実行します。下記のコマンドをTerminalへ入力し、リターンキーをを押します。

    • python UserInformation.py
  4. 200名分のユーザーの一覧が取得されます。下記は1名分の情報です。

    • {"email":"addon+complete2GB@domainXX.us","lastname":"orgUS2","firstname":"addon+complete2GB","country":"US","status":"active","type":"enterpriseID","groups":["golive - Complete 2GB - Complete plan"]}
    • email = メールアドレス
    • lastname = 名字
    • firstname = 氏名
    • country = 国
    • status = 有効・無効
    • type = IDタイプ(Adobe ID, Enterprise ID, Federated ID)
    • groups = 製品プランのグループ名(ニックネーム)

エラーについて

Pythonファイルを実行しても期待した結果が得られずにエラーが表示されることがあります。エラーを解決するにはUser Error Cnstantsを参考にしてください。

User Error Constants = https://www.adobe.io/products/usermanagement/docs/#/api/ErrorRef.html

アドビ サポートのご利用について

User Management APIについてのお問い合わせは下記のようになっております。

  • 弊社担当部署:デベロッパーサポート
  • 問い合わせ方法:Enterprise Dashboardのサポートスナップイン
  • 言語:英語
  • 問い合わせができる方:Enterprise Dashboardのシステム管理者

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

法律上の注意   |   プライバシーポリシー