사용자 생성 및 사전 정의된 역할에 사용자 지정

이 섹션의 스크립트를 사용하여 사용자를 생성하고 ID 도메인의 사전 정의된 역할에 지정합니다.

이러한 스크립트는 EPM Automate 명령을 사용하여 다음 활동을 완료합니다.
  • ID 도메인 관리자 역할을 가진 서비스 관리자로 환경에 로그인합니다.

  • 환경에서 그룹 및 멤버십 정보를 익스포트하여 지정하는 스냅샷(예: 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 시작하기에서 하나의 역할을 여러 사용자에게 지정을 참조하십시오.
    • HSS-Shared Services 디렉토리 및 해당 콘텐츠를 압축하여 업데이트된 파일로 스냅샷 재생성.
  • ID 도메인 관리자 역할도 있는 서비스 관리자로 환경에 로그인합니다.

  • 수정한 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 Automate 실행 파일의 절대 경로(epmautomate.sh)입니다. Linux/UNIX에만 해당합니다.
username ID 도메인 관리자 역할도 가진 서비스 관리자의 사용자 이름입니다.
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를 실행합니다.