ユーザーの作成および事前定義済役割への割当て

この項のスクリプトを使用してユーザーを作成し、アイデンティティ・ドメインに事前定義されている役割にそのユーザーを割り当てます。

これらのスクリプトは、EPM自動化コマンドを使用して次のアクティビティを完了します:
  • アイデンティティ・ドメイン管理者の役割も持つサービス管理者として環境にサインインします。

  • グループとメンバーシップ情報を環境からエクスポートして、指定したスナップショット(例: example_snapshot.zip)を再生成します。このスナップショットを作成するために、「移行」を使用して「グループとメンバーシップ」アーティファクトをすでにエクスポート済であると仮定します。

  • スナップショット(example_snapshot.zip)をローカル・ディレクトリにダウンロードします。

  • スナップショット(example_snapshot.zip)を環境から削除します。

  • 環境からサインアウトします。

  • カスタム・コードを追加した操作を実行します。次の操作が含まれる場合があります:

    • example_snapshot.zipの内容を抽出します
    • 新規ユーザー情報を「名」、「姓」、「電子メール」、「ユーザー・ログイン」の書式でHSS-Shared Services\resource\External Directory\Users.csvに追加します。詳細は、『Oracle Cloudスタート・ガイド』ユーザー・アカウントのバッチのインポートを参照してください。
    • 新規ユーザー(「名」、「姓」、「電子メール」、「ユーザー・ログイン」の書式)の役割割当てに関する情報をHSS-Shared Services\resource\External Directory\Roles\内の適切な役割ファイルに追加します。たとえば、サービス管理者の役割への割当ては<service_name> Service Administrator.csvに追加する必要がありますが、参照者の役割への割当てはHSS-Shared Services\resource\External Directory\Roles\<service_name> Viewer.csvに追加する必要があります。詳細は、『Oracle Cloudスタート・ガイド』1つの役割の多数のユーザーへの割当てを参照してください。
    • HSS-Shared Servicesディレクトリおよびその内容を圧縮することで、更新されたファイルでスナップショットを再作成します。
  • アイデンティティ・ドメイン管理者の役割も保持するサービス管理者として環境にサインインします。

  • 変更されたexample_snapshot.zipを環境にアップロードします。

  • example_snapshot.zipを環境にインポートします。

  • アップロードされたexample_snapshot.zipを環境から削除します。

  • サインアウトします。

Windowsのサンプル・スクリプト

次のスクリプトをコピーして、createUsersAndAssignRoles.ps1という名前のファイルを作成します。それをローカル・ディレクトリに保存します。
$inputproperties = ConvertFrom-StringData(Get-Content ./input.properties -raw)
$username="$($inputproperties.username)"
$passwordfile="$($inputproperties.passwordfile)"
$serviceURL="$($inputproperties.serviceURL)"
$snapshotName="$($inputproperties.snapshotName)"
$userspassword="$($inputproperties.userspassword)"
$resetPassword="$($inputproperties.resetPassword)"

epmautomate login ${username} ${passwordfile} ${serviceURL}
epmautomate exportsnapshot ${snapshotName}
epmautomate downloadfile ${snapshotName}.zip
epmautomate deletefile ${snapshotName}.zip
epmautomate logout

# Add custom code to extract the contents of example_snapshot.zip
# Add custom code to append new user information to HSS-Shared Services\resource\External Directory\Users.csv
# Optional: Add custom code to append role information to the appropriate role file(s) in HSS-Shared Services\resource\External Directory\Roles\
# Add custom code to zip HSS-Shared Services and its contents as example_snapshot.zip

epmautomate login ${username} ${passwordfile} ${serviceURL}
epmautomate uploadfile ${snapshotName}.zip
epmautomate importsnapshot ${snapshotName} userPassword=${userspassword} resetPassword=${resetPassword}
epmautomate deletefile ${snapshotName}.zip
epmautomate logout

Linux/UNIXのサンプル・スクリプト

次のスクリプトをコピーして、createUsersAndAssignRoles.shという名前のファイルを作成します。それをローカル・ディレクトリに保存します。
#!/bin/bash

. ./input.properties
export JAVA_HOME=${javahome}
${epmautomatescript} login "${username}" "${passwordfile}" "${serviceURL}"
${epmautomatescript} exportsnapshot "${snapshotName}"
${epmautomatescript} downloadfile "${snapshotName}.zip"
${epmautomatescript} deletefile "${snapshotName}.zip"
${epmautomatescript} logout

# Add custom code to extract the contents of example_snapshot.zip
# Add custom code to append new user information to HSS-Shared Services\resource\External Directory\Users.csv
# Optional: Add custom code to append role information to the appropriate role file(s) in HSS-Shared Services\resource\External Directory\Roles\
# Add custom code to zip HSS-Shared Services and its contents as example_snapshot.zip

${epmautomatescript} login "${username}" "${passwordfile}" "${serviceURL}"
${epmautomatescript} uploadfile "${snapshotName}.zip"
${epmautomatescript} importsnapshot "${snapshotName}" "userPassword=${userspassword}" "resetPassword=${resetPassword}"
${epmautomatescript} deletefile "${snapshotName}.zip"
${epmautomatescript} logout

input.propertiesファイルのサンプル

createUsersAndAssignRolesスクリプトを実行するには、input.propertiesファイルを作成し、環境の情報でファイルを更新します。createUsersAndAssignRoles.ps1またはcreateUsersAndAssignRoles.shが格納されているディレクトリにファイルを保存します。

Windows

uusername=exampleAdmin
passwordfile=examplePassword.epw
serviceURL=exampleURL
snapshotName=SNAPSHOT_NAME
userspassword=TEMP_IDM_PASSWORD
resetPassword=true

Linux/UNIX

javahome=JAVA_HOME
epmautomatescript=EPM_AUTOMATE_LOCATION
username=exampleAdmin
passwordfile=examplePassword.epw
serviceURL=exampleURL
snapshotName=SNAPSHOT_NAME
userspassword=TEMP_IDM_PASSWORD
resetPassword=true

表3-2 input.propertiesのパラメータ

パラメータ 説明
javahome JAVA_HOMEの場所。Linux/UNIXの場合のみ。
epmautomatescript EPM自動化の実行可能ファイル(epmautomate.sh)の絶対パス。Linux/UNIXの場合のみ。
username アイデンティティ・ドメイン管理者の役割も保持するサービス管理者のユーザー名。
password サービス管理者のパスワードまたは暗号化されたパスワード・ファイルの名前と場所。
serviceURL スナップショットを生成する環境のURL。
snapshotName 生成するスナップショットの名前。このスナップショットを作成するために、「移行」を使用して「グループとメンバーシップ」アーティファクトをすでにエクスポート済であると仮定します。
userspassword 新規ユーザーの初期パスワード。
resetPassword 新規ユーザーが最初のログインの際にパスワードをリセットする必要があるかどうか。新規ユーザーの初回ログイン時にパスワードを強制的に変更する場合は、この値をtrueに設定します。

スクリプトの実行

  1. 前述の項のスクリプトをコピーして、createUsersAndAssignRoles.ps1またはcreateUsersAndAssignRoles.shを作成します。
  2. カスタム・コードを追加して、次の操作を実行します:
    • スナップショットの内容を抽出します
    • 新規ユーザー情報をHSS-Shared Services\resource\External Directory\Users.csvに追加します。
    • オプションで、新規ユーザー(「名」、「姓」、「電子メール」、「ユーザー・ログイン」の書式)の役割割当てに関する情報をHSS-Shared Services\resource\External Directory\Roles\内の適切な役割ファイルに追加します。
    • 更新されたファイルを使用してスナップショットを再作成します。
  3. input.propertiesファイルを作成して、createUsersAndAssignRolesスクリプトが配置されているディレクトリに保存します。このファイルのコンテンツは、オペレーティング・システムによって異なります。input.propertiesファイルのサンプルを参照してください。

    このディレクトリの書込み権限があることを確認してください。Windowsの場合、スクリプトを実行できるよう、「管理者として実行」オプションを使用してPowerShellを開始する必要があります。

  4. スクリプトを起動します。
    • Windows PowerShell: createUsersAndAssignRoles.ps1を実行します。
    • Linux/UNIX: ./createUsersAndAssignRoles.shを実行します。