この項のスクリプトを使用してユーザーを作成し、アイデンティティ・ドメインに事前定義されている役割にそのユーザーを割り当てます。
アイデンティティ・ドメイン管理者の役割も持つサービス管理者として環境にサインインします。
グループとメンバーシップ情報を環境からエクスポートして、指定したスナップショット(例: 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} logoutinput.propertiesファイルのサンプル
createUsersAndAssignRolesスクリプトを実行するには、input.propertiesファイルを作成し、環境の情報でファイルを更新します。createUsersAndAssignRoles.ps1またはcreateUsersAndAssignRoles.shが格納されているディレクトリにファイルを保存します。
Windows
username=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に設定します。 |
スクリプトの実行
createUsersAndAssignRoles.ps1またはcreateUsersAndAssignRoles.shを作成します。HSS-Shared Services\resource\External Directory\Users.csvに追加します。HSS-Shared Services\resource\External Directory\Roles\内の適切な役割ファイルに追加します。input.propertiesファイルを作成して、createUsersAndAssignRolesスクリプトが配置されているディレクトリに保存します。このファイルのコンテンツは、オペレーティング・システムによって異なります。input.propertiesファイルのサンプルを参照してください。
このディレクトリの書込み権限があることを確認してください。Windowsの場合、スクリプトを実行できるよう、「管理者として実行」オプションを使用してPowerShellを開始する必要があります。
createUsersAndAssignRoles.ps1を実行します。./createUsersAndAssignRoles.shを実行します。