4. 各バックエンドを利用するための準備¶
ここでは Unicorn ID Manager で各バックエンドを利用する前に 実施する必要のある作業について説明します。
ここでは、以下のバックエンドの事前準備の作業について記載しています。
- Windows Server の Active Directory
- Google G Suite (旧名 Google Apps)
- Azure Active Directory (Office365)
4.1. Windows Server の Active Directory¶
Windows Server の Active Directory をバックエンドにするためには、 Windows Server に 証明書サービス をインストールし、 インストール後に Windows Server の再起動が必要となります。
証明書サービス は PowerShell から以下のコマンドを 実行することでインストールできます。 証明書の有効期限等は運用ポリシーに合わせて任意の値を指定してください。
PS > Add-WindowsFeature ADCS-Cert-Authority -IncludeManagementTools
PS > Install-AdcsCertificationAuthority -CAType EnterpriseRootCA `
-ValidityPeriod Years -ValidityPeriodUnits 10 `
-HashAlgorithmName SHA256 `
-KeyLength 2048
4.2. Google G Suite¶
Google G Suite (旧名 Google Apps) を Unicorn IDM のバックエンド にするには、Google API コンソールでサービスアカウントを作成し、 Google 管理コンソールでサービスアカウントに対して API アクセスを 承認する必要があります。
以下に作業の概要を示します。
- Google API コンソールでサービスアカウントと API キーを作成する
- Google API コンソールを開く。
- 組織 (G Suite ドメイン) にプロジェクトを作成する。
- プロジェクトの Admin SDK の API を有効にする。
- プロジェクトにサービスアカウントと API キーを作成する。
- サービスアカウントのクライアント ID を控える。
- Google 管理コンソールでサービスアカウントに API アクセスを承認する
- Google 管理コンソールを開く。
- サービスアカウントのクライアント ID に対して API アクセスを承認する。
4.2.1. Google API コンソールでサービスアカウントと API キーを作成する¶
- Google API コンソール https://console.developers.google.com/ に
アクセスして、管理権限を持つ Google アカウントでログインする。
- ほかの Google アカウントでログイン済みの場合は、ページ 上部メニューバー右端のアイコンをクリックして別のアカウントを 選択するか、 ボタンを押して追加して ログインする。
- プロジェクトを作成する。名前、ID は任意。
- ページ上部メニューバーの組織 (G Suite ドメイン) 選択プルダウン メニュー (「Google APIs」ロゴの右横) をクリックし、 選択 ダイアログ中の ボタン (プロジェクトを作成) をクリックする。
- 新しいプロジェクト 画面の プロジェクト名 欄に 「G Suite」(例) と入力する。プロジェクト ID は一意なものが 自動で決定され プロジェクト ID は g-suite-<数字列> です と のように表示される。任意の ID を割り当てたい場合は、 その右横の をクリックして プロジェクト ID 欄に 「g-suite」(例) など他プロジェクトと重複しない ID を入力する。
- 最後に ボタンをクリックする。
- プロジェクトの Admin SDK API を有効にする。
- ページ上部メニューバーの組織 (G Suite ドメイン) 選択プルダウン メニューからプロジェクトを選択する。(すでに選択されているなら不要)
- ページ上部メニューバー左のハンバーガーメニュー (「Google APIs」ロゴの左横) から をクリックし、 よく使われる API 内の G Suite APIs 節の をクリックし、 をクリックする。
- プロジェクトにサービスアカウントを作成する。名前は任意。
- ページ上部メニューバーの組織 (G Suite ドメイン) 選択プルダウン メニューからプロジェクトを選択する。(すでに選択されているなら不要)
- ページ上部メニューバー左のハンバーガーメニューから をクリックし、 をクリックする。
- サービス アカウントの作成 ダイアログ中の サービス アカウント名 に「Unicorn IDM」(例) と入力し、 役割 を「役割を選択」のままにする。 サービス アカウント ID は一意なものが自動で決定されるが、 任意の ID を割り当てたい場合は「unicorn-idm」(例) など他サービス アカウントと重複しない ID を入力する。
- 同ダイアログ中の 新しい秘密鍵の提供 チェックボックスをオンにして、 キーのタイプ から「JSON」を選択する。
- 同ダイアログ中の G Suite ドメイン全体の委任を有効にする チェックボックスをオンにして、 同意画面のサービス名 欄に 「Unicorn IDM Service」(例) と入力する。
- 最後に ボタンをクリックする。
- アカウント作成が完了するとサービスアカウントの API キー (JSON キー) がダウンロードされるので、Unicorn IDM の設定ディレクトリ下に保存する。 このファイルには Google G Suite API の管理権限を持つサービス アカウントの秘密鍵が格納されているため、漏洩しないように注意が必要。 Unicorn ID Manager を実行するプロセス以外から参照できないようにする。
- サービスアカウントのクライアント ID を控える。
- IAM と管理 の サービスアカウント 画面のサービスアカウント 一覧右の オプション 欄の を クリックして、 クライアント ID 欄の値 (数字列) を参照する。
4.2.2. Google 管理コンソールでサービスアカウントに API アクセスを承認する¶
Google 管理コンソール http://admin.google.com/ にアクセスして、 管理権限を持つ Google アカウントでログインする。
ホーム画面もしくは ページ上部メニューバー左のハンバーガーメニュー から をクリックして、 認証 節の をクリックする。
クライアント名 欄に先に控えたサービスアカウントのクライアント ID を、 1 つ以上の API の範囲 欄に下記の内容を入力して ボタンを押す。
https://www.googleapis.com/auth/admin.directory.user,https://www.googleapis.com/auth/admin.directory.group,https://www.googleapis.com/auth/admin.directory.orgunit
4.3. Azure Active Directory (Office365)¶
Azure Active Directory (Azure AD) をバックエンドにするためには、 以下に示す手順を SKU の名前を取得 以外をすべて実施してください。
SKU の名前を取得 はユーザーにライセンスを付与する際に必要な情報を取得する ために必要です。
なお、ここではすでに Azure AD の 管理者アカウントが設定済みで、 かつ Azure AD の言語設定が日本語であることを前提とします。
4.3.1. アプリケーション ID の作成¶
- https://portal.azure.com/ にアクセス
- 左ペインの をクリック
- 左ペインの をクリック
- 画面上部の をクリック
- 下記の項目を入力し、画面下部の をクリック
- 名前 : unicornidmなど任意の名前を入力
- アプリケーションの種類 : 「Webアプリ/API」を選択
- サインオンURL : http://localhost などを入力
- 作成したアプリケーション名をクリック
- 指定した名前やアプリケーションの種類、ホームページが表示される
- 画面上部に表示されている 「アプリケーションID」の をクリックすると、
アプリケーションIDをコピー可能
- アプリケーションIDは、UnicornIDMのクライアントIDに設定
/opt/osstech/etc/unicornidm/unicornidm.confの azureバックエンドでのbind_userパラメータに設定
- 画面の をクリック後、 キー セクションにて下記を入力後、
画面上部にある アイコンをクリック
- キーの説明 : 任意の説明を入力
- 時間の選択 : 期限なし を選択
- 保存後、キーの値が表示されるため、コピーして任意のファイルにペーストして厳重に保存 (以降は表示されなくなります)
- 保存したキーの値を UnicornIDMのシークレットキーとして設定
/opt/osstech/etc/unicornidm/unicornidm.confの azureバックエンドでのbind_password_fileパラメータで指定しているファイルに記載
4.3.2. アプリケーション ID にロールを割り当て¶
Windows 端末にて PowerShell 用の Azure AD モジュールをインストール (http://msdn.microsoft.com/library/azure/jj151815.aspx からダウンロード)
PowerShell を開き、以下のコマンドを実行 (<APPNAME> は アプリケーション ID の作成 の 3. で作成した名前)
$APPNAME = "<APPNAME>" Import-Module MSOnline Connect-MsolService Add-MsolRoleMember -RoleName "User Account Administrator" -RoleMemberType ServicePrincipal -RoleMemberObjectId (Get-MsolServicePrincipal -SearchString $APPNAME).ObjectId
4.3.3. SKU の名前を取得¶
Windows 端末にて PowerShell 用の Azure AD モジュールをインストール (http://msdn.microsoft.com/library/azure/jj151815.aspx からダウンロード)
PowerShell を開きサブスクリプションごとに割り当てられている SKU の名前 を取得
Import-Module MSOnline Connect-MsolService Get-MsolAccountSku | Select-Object -Property SkuPartNumber
出力された情報のうち SkuPartNumber の列以下の情報を控える (たとえば、以下のような出力が得られます)
SkuPartNumber ------------- STANDARDPACK