Azure 雲端的基礎架構部署是使用 terraform 組態定義的。可採用兩種不同的方法在 Azure 上部署基礎架構。您可以根據自己的要求,選擇使用 Configuration Generator 或組態樣板來部署基礎架構。
執行以下步驟,以使用 OpenText Identity Manager Configuration Generator 產生組態檔案。
重要:必須有一部已安裝並執行 Docker 的機器才能執行以下步驟。
建立共用磁碟區。如需詳細資訊,請參閱管理容器磁碟區資料。
將您網域的證書複製到共用磁碟區。
執行以下指令載入 Docker 影像:
docker load --input docker-images/IDM_4100_idm_conf_generator.tar.gz
導覽至解壓縮位置,並執行以下指令來部署 Configuration Generator 容器:
docker run --rm -it --name=idm_conf_generator -v /data:/config idm_conf_generator:idm-4.10.0-533
下表提供了關於新提示的資訊:
附註:如需所有現有提示的資訊,請參閱瞭解組態參數一節。
|
提示 |
描述 |
|---|---|
|
是否要在 Azure 上部署 OpenText Identity Manager 容器?對於次要伺服器部署,請選取「n」並繼續產生靜默內容檔案 (y/n)? |
指定您是否要部署 OpenText Identity Manager 容器。
|
|
指定 Kubernetes 部署的名稱空間。 |
輸入 Kubernetes 部署的名稱空間。例如 idm。 |
|
是否要建立新的 Azure PostgreSQL 伺服器例項? |
指定您是否要建立新的 Azure PostgreSQL 伺服器例項。
|
|
輸入用於存取 OpenText Identity Manager Web 應用程式的完全合格網域名稱 (FQDN)。 |
指定 FQDN 以存取 Opentext Identity Manager Web 應用程式。例如 identitymanager.eastus.cloudapp.azure.com。 附註:OpenText Identity Manager Web 應用程式包括 Identity Applications、Identity Reporting、SSPR、OSP 以及 OpenText Identity Console。 |
|
輸入 TLS 證書檔案。 |
指定 PEM 格式的 TLS 證書檔案,其中包含上面指定之網域的主體別名和通用名稱。例如 /config/tls.crt。 |
|
輸入 TLS 證書的私密金鑰檔案。 |
指定 TLS 證書的私密金鑰檔案。例如 /config/tls.key。 |
|
輸入要在 Azure 上為 OpenText Identity Manager 引擎部署的例項 (Pod 複製本) 數目。 |
指定要在 Azure 上為 OpenText Identity Manager 引擎部署的例項 (Pod 複製本) 數目。例如,5。 |
|
輸入要在 Azure 上為 OSP 部署的例項 (Pod 複製本) 數目。 |
指定要在 Azure 上為 OSP 部署的例項 (Pod 複製本) 數目。例如,5。 |
|
輸入要在 Azure 上為 Identity Applications 部署的例項 (Pod 複製本) 數目。 |
指定要在 Azure 上為 Identity Applications 部署的例項 (Pod 複製本) 數目。例如,5。 |
|
輸入 Azure 服務主體 ID。 |
指定在「規劃部署」一章的「步驟 5」中產生的 Azure 服務主體 ID。 |
|
輸入 Azure 服務密碼。 |
指定在「規劃部署」一章的「步驟 5」中產生的 Azure 服務密碼。 |
|
輸入您的服務主體的租用戶 ID。 |
指定在「規劃部署」一章的「步驟 5」中產生的租用戶 ID。 |
|
輸入現有的 Azure 容器登錄伺服器名稱。 |
指定 Azure 容器登錄伺服器名稱。請參閱步驟 3.c。 |
|
輸入 Azure 容器登錄使用者名稱。 |
指定 Azure 容器登錄使用者名稱。請參閱步驟 3.c。 |
|
輸入 Azure 容器登錄使用者密碼。 |
指定 Azure 容器登錄密碼。請參閱步驟 3.c。 |
|
依原樣輸入上面顯示的相應 Azure 帳戶 ID (不包括雙引號)。 |
指定在上述步驟中產生的 Azure 帳戶 ID。 |
|
輸入 Azure 資源群組名稱。 |
指定 Azure 資源群組名稱。例如 idvault-rg。 |
|
輸入 Azure 資源群組位置。 |
指定資源群組位置。例如 eastus。 |
回答所有提示後,OpenText Identity Manager Configuration Generator 將執行以下動作:
如果 Azure 中沒有可用的資源群組,則會建立一個資源群組。
將在資源群組下建立一個金鑰保存庫和儲存帳戶。
所有敏感性資訊將推入金鑰保存庫。
附註:若要存取 Azure 金鑰保存庫中的敏感性資訊,請參閱《Quickstart: Azure Key Vault》(快速入門:Azure 金鑰保存庫)。
將在共用磁碟區下建立 IDM_4.10_Cloud_Deployment_files.zip 檔案,其中包括 Terraform 檔案和 Helm 圖表。
登入 Azure 入口網站。
附註:將使用初始登入帳戶自動對 Azure Cloud Shell 進行驗證。如果您需要使用其他帳戶,請執行 az login 指令並登入 Azure-CLI。
執行以下步驟,將 IDM_4.10_Cloud_Deployment_files.zip 檔案上傳至 Azure Cloud Shell。
按一下
。
在終端機視窗中按一下
。
選取要上傳至 Azure 的 zip 檔案。
執行以下指令以解壓縮 zip 檔案的內容:
unzip IDM_4.10_Cloud_Deployment_files.zip
導覽至 IDM_4.10_Cloud_Deployment_files 目錄。
在 values.yaml 檔案中進行以下變更:
|
區段 |
欄位 |
描述 |
|---|---|---|
|
OpenText Identity Manager Web 應用程式的 TLS 組態 |
kubernetesSecret |
將值指定為 false。 |
|
azurekeyVault |
將值指定為 true。 入口 TLS 證書將做為 kubernetes 機密進行管理。 |
|
|
敏感性資料的機密管理員 |
kubernetesSecret |
將值指定為 false。 |
|
azurekeyVault |
將值指定為 true。 Azure 金鑰保存庫用做機密管理員。 |
|
|
AWS Secret Manager 用做機密管理員 |
awsSecretManager |
將值指定為 false。 |
(選擇性) 檢閱 terraform.tfvars 和 values.yaml。
(選擇性) 執行以下指令建立儲存帳戶金鑰:
ACCOUNT_KEY=$(az storage account keys list --resource-group $AZURE_RESOURCE_GROUP_NAME --account-name $AZURE_STORAGE_ACCOUNT_FOR_TFSTATE --query '[0].value' -o tsv)
例如:
ACCOUNT_KEY=$(az storage account keys list --resource-group idvault-rg --account-name stract10226600913781 --query '[0].value' -o tsv)
(選擇性) 執行以下指令:
export ARM_ACCESS_KEY=$ACCOUNT_KEY
執行以下指令,以下載基礎架構部署所需的所有必要外掛程式。
terraform init
執行以下指令以根據輸入規劃和瞭解部署。
terraform plan
執行以下指令以建立輸入中定義的基礎架構。
terraform apply --auto-approve
(選擇性) 執行以下指令以識別 Azure 帳戶特定的資訊,例如儲存帳戶名稱、金鑰保存庫名稱和資料庫管理員詳細資料。
terraform output
成功執行 Terraform 指令後,執行Azure Kubernetes Service 上的 OpenText Identity Manager 容器部署中所述的步驟以完成 Azure 上的 OpenText Identity Manager 容器部署。
執行以下步驟以更新虛擬機器中的組態樣板。
導覽至 Identity_Manager_4.10.0_Containers.tar.gz 檔案解壓縮到的目錄。
導覽至 Identity_Manager_4.10.0_Containers/terraform/ 目錄,並執行以下指令來解壓縮 zip 檔案的內容。
unzip IDM_4.10.0_Azure_Terraform_Configuration.zip
移至 IDM_Azure_Terraform_Configuration 資料夾,並更新 terraform.tfvars 檔案中的以下欄位。
表 28-1
|
欄位 |
描述 |
|---|---|
|
resource_group_name |
指定 Azure 資源群組名稱。例如 idvault-rg。 |
|
resource_group_location |
指定資源群組位置。例如 eastus。 |
|
resource_group_exists |
指定您是否想要知道現有資源群組存在與否。例如 true。 |
|
keyvault_name |
指定唯一的金鑰保存庫名稱。 |
|
keyvault_exists |
指定您是否想要知道現有金鑰保存庫存在與否。例如 true。 |
|
image_registry_server |
指定 Azure 容器登錄伺服器名稱。 |
|
image_registry_server_username |
指定 Azure 容器登錄使用者名稱。 |
|
image_registry_server_password |
指定 Azure 容器登錄密碼。 |
|
aks_kubernetes_namespace |
輸入 Kubernetes 部署的名稱空間。例如 idm。 |
|
azure_postgres_server_name |
指定 Azure PostgreSQL 伺服器名稱。例如 idmpgserver。 |
附註:產生 terraform.tfvars 檔案時會預先填入所有剩餘欄位。
執行以下指令並登入 Azure-CLI。
az login
執行以下步驟,以將 terraform 狀態檔案儲存在 Azure 儲存帳戶中:
執行以下指令以在 Azure 中建立儲存帳戶。
az storage account create --name "${AZURE_STORAGE_ACCOUNT_FOR_TFSTATE}" --resource-group "${AZURE_RESOURCE_GROUP_NAME}" --location "${AZURE_RESOURCE_GROUP_LOCATION}" --sku Standard_LRS --encryption-services blob
例如:
az storage account create --name stract10226600913781 --resource-group idvault-rg --location eastus --sku Standard_LRS --encryption-services blob
執行以下指令建立 Azure 儲存容器:
az storage container create -n terraform-state --account-name "${AZURE_STORAGE_ACCOUNT_FOR_TFSTATE}"
例如:
az storage container create -n terraform-state --account-name stract10226600913781
導覽至 Identity_Manager_4.10.0_Containers/terraform/IDM_Azure_Terraform_Configuration/ 目錄,移至 main.tf 檔案,並更新 backend "azurerm" 欄位下的以下詳細資料。
|
欄位 |
描述 |
|---|---|
|
resource_group_name |
指定 Azure 資源群組名稱。例如 idvault-rg。 |
|
storage_account_name |
指定 Azure 儲存帳戶名稱。例如 stract89671501132193。 |
|
container_name |
表示 Azure 容器名稱。此欄位是自動產生的。 |
|
key |
表示 Azure 金鑰名稱。此欄位是自動產生的。 |
檢閱 terraform.tfvars 和 main.tf 檔案中已修改的詳細資料,然後將已更新的 IDM_4.10.0_Azure_Terraform_Configuration.zip 檔案上傳至 Azure Cloud Shell。
執行以下指令,以下載基礎架構部署所需的所有必要外掛程式。
terraform init
執行以下指令以根據輸入規劃和瞭解部署。
terraform plan
執行以下指令以建立輸入中定義的基礎架構。
terraform apply --auto-approve
(選擇性) 執行以下指令以識別 Azure 帳戶特定的資訊,例如儲存帳戶名稱、金鑰保存庫名稱和資料庫管理員詳細資料。
terraform output
執行以下指令,以在金鑰保存庫中建立機密值。
az keyvault secret set --name idm-common-password --vault-name <key vault name> --value "novell@123"
附註:您可以根據自己的要求,使用 Values.yaml 檔案指定多個機密值。
導覽至在其中產生了 TLS 證書的目錄,執行以下指令以將證書和金鑰輸出為 .pfx 格式。
openssl pkcs12 -export -out tls.pfx -inkey tls.key -in tls.crt -passout pass:''
附註:tls.pfx 檔案將在金鑰保存庫中用於驗證機密值和金鑰。
在 Azure Cloud Shell 中上傳 tls.pfx 檔案,並執行以下指令以將該檔案輸入金鑰保存庫。
az keyvault certificate import --vault-name <key vault name> -n "ingress-tls-cert" -f tls.pfx
例如:
az keyvault certificate import --vault-name idmkv20220712 -n "ingress-tls-cert" -f tls.pfx
導覽至 Identity_Manager_4.10.0_Containers/helm_charts/ 目錄並更新 value.yaml 檔案中的以下欄位。
表 28-2
|
區段 |
欄位 |
描述 |
|---|---|---|
|
OpenText Identity Manager Advanced Edition |
IS_ADVANCED_EDITION |
指定您是否要部署 OpenText Identity Manager Advanced Edition。(true/false) |
|
Azure PostgreSQL 伺服器例項 |
AZURE_POSTGRESQL_REQUIRED |
指定您是否要使用 Azure PostgreSQL 伺服器例項做為 Identity Applications 和 Identity Reporting 的資料庫伺服器。(y/n) |
|
OpenText Identity Manager Docker 影像的登入身分證明 |
登錄 |
指定 Azure 容器登錄伺服器名稱。 |
|
name |
指定包含登錄登入身分證明的 Kubernetes 機密名稱。 |
|
|
資料永續性 |
Identity Engine 的永續性儲存 volumeClaimTemplate:
|
指定 Identity Engine 使用的磁碟區宣告樣板的儲存類別名稱和儲存大小。 |
|
共用永續性儲存
dynamicClaim:
|
如果您要使用現有的永續性磁碟區宣告 (PVC),請輸入現有宣告的名稱。 否則,請指定儲存類別名稱和儲存大小進行 PVC 動態佈建。 |
|
|
密碼、金鑰和證書等敏感性資料的機密管理員 |
azureKeyVaultName: |
指定 Azure 金鑰保存庫的名稱。 |
|
azureKeyVaultTenantId |
指定 Azure 金鑰保存庫租用戶 ID。請參考步驟 10 的 terraform 輸出。 |
|
|
azureUserAssignedIdentityID |
指定 Azure 金鑰保存庫機密提供者使用之使用者定義受管理身分的用戶端 ID。可以執行以下 az cli 指令來擷取身分的用戶端 ID: az aks show -g <資源群組> -n <AKS 叢集名稱> --query addonProfiles.azureKeyvaultSecretsProvider.identity.clientId -o tsv |
|
|
入口組態 |
host |
指定用於存取 OpenText Identity Manager Web 應用程式的網域名稱。 |
|
azureKeyVaultCertificateName |
指定包含 TLS 證書和私密金鑰的 Azure 金鑰保存庫證書名稱。 |
|
|
Identity Engine 組態 |
部署 |
指定您是否要部署 Identity Engine。(true/false) |
|
replicaCount |
指定 Identity Engine 複製本 Pod 的數目。例如:「2」。 |
|
|
ID_VAULT_TREENAME |
指定 Identity Vault 樹狀結構名稱。 |
|
|
ID_VAULT_SERVER_CONTEXT |
指定 Identity Vault 伺服器網路位置。 |
|
|
ID_VAULT_DRIVER_SET |
指定 Identity Vault 預設驅動程式集名稱。 |
|
|
ID_VAULT_DEPLOY_CTX |
指定 Identity Vault 預設驅動程式集部署網路位置。 |
|
|
ID_VAULT_ADMIN_LDAP |
指定 Identity Vault 管理員 DN。 |
|
|
ID_VAULT_PASSWORD: secret |
指定包含 Identity Vault 管理員密碼的 Azure 金鑰保存庫機密。 |
|
|
ID_VAULT_RSA_KEYSIZE |
指定用於建立 RSA 證書管理中心金鑰和伺服器金鑰的金鑰大小。 |
|
|
ID_VAULT_EC_CURVE |
指定用於建立 EC 證書管理中心金鑰和伺服器金鑰的橢圓曲線演算法。 |
|
|
ID_VAULT_CA_LIFE |
指定用於建立預設伺服器證書的證書壽命。 |
|
|
資源申請和限制
|
指定 Identity Engine 資源申請和限制的 CPU 與記憶體值。如需更多詳細資料,請參閱 Resource Management for Pods and Containers (Pod 和容器的資源管理) |
|
|
One SSO Provider (OSP) 組態 |
部署 |
指定您是否要部署 OSP。(true/false) |
|
replicaCount |
指定 Identity Engine 複製本 Pod 的數目。例如:「2」。 |
|
|
OSP_CUSTOM_NAME |
指定 OSP 自訂登入畫面名稱。 |
|
|
SSO_SERVICE_PWD: secret |
指定包含 OSP 用戶端密碼的 Azure 金鑰保存庫機密。 |
|
|
資源申請和限制
|
指定 OSP 資源申請和限制的 CPU 與記憶體值。如需更多詳細資料,請參閱 Resource Management for Pods and Containers (Pod 和容器的資源管理) |
|
|
Identity Applications 組態 |
部署 |
指定您是否要部署 Identity Applications。(true/false) |
|
replicaCount |
指定 Identity Engine 複製本 Pod 的數目。例如:「2」。 |
|
|
UA_ADMIN |
指定 Identity Applications 管理員 DN |
|
|
UA_ADMIN_PWD: secret |
指定包含 Identity Applications 管理員密碼的 Azure 金鑰保存庫機密。 |
|
|
UA_WFE_DB_PLATFORM_OPTION |
指定 Identity Applications 和工作流程引擎資料庫平台。支援的值為:postgres、oracle 和 mssql |
|
|
UA_ORACLE_DATABASE_TYPE |
如果資料庫平台為 Oracle, 請指定資料庫的組態。(sid/服務) |
|
|
UA_WFE_DB_HOST |
指定 Identity Applications 和工作流程引擎資料庫伺服器主機。 |
|
|
UA_WFE_DB_PORT |
指定 Identity Applications 和工作流程引擎資料庫伺服器連接埠號碼。 |
|
|
UA_DATABASE_NAME |
指定 Identity Applications 資料庫名稱。 |
|
|
WFE_DATABASE_NAME |
指定工作流程引擎資料庫名稱。 |
|
|
UA_WFE_DATABASE_USER |
指定 Identity Applications 資料庫使用者名稱。 |
|
|
UA_WFE_DATABASE_PWD: secret |
指定包含 Identity Applications 資料庫使用者密碼的 Azure 金鑰保存庫機密。 |
|
|
資源申請和限制
|
指定 Identity Application 資源申請和限制的 CPU 與記憶體值。如需更多詳細資料,請參閱 Resource Management for Pods and Containers (Pod 和容器的資源管理) |
|
|
表單轉譯器組態 |
部署 |
指定您是否要部署表單轉譯器。(true/false) |
|
資源申請和限制
|
指定表單轉譯器資源申請和限制的 CPU 與記憶體值。如需更多詳細資料,請參閱 Resource Management for Pods and Containers (Pod 和容器的資源管理) |
|
|
ActiveMQ 組態 |
部署 |
指定您是否要部署 ActiveMQ。(true/false) |
|
資源申請和限制
|
指定表單轉譯器資源申請和限制的 CPU 與記憶體值。如需更多詳細資料,請參閱 Resource Management for Pods and Containers (Pod 和容器的資源管理) |
|
|
Identity Reporting 組態 |
部署 |
指定您是否要部署 Identity Reporting。(true/false) |
|
RPT_ADMIN |
指定 Identity Reporting 管理員 DN |
|
|
RPT_ADMIN_PWD: secret |
指定包含 Identity Reporting 管理員密碼的 Azure 金鑰保存庫機密。 |
|
|
RPT_DATABASE_PLATFORM_OPTION |
指定 Identity Reporting 資料庫平台。支援的值為:postgres、oracle 和 mssql |
|
|
RPT_ORACLE_DATABASE_TYPE |
如果資料庫平台為 Oracle, 請指定資料庫的組態。(sid/service) |
|
|
RPT_DATABASE_HOST |
指定 Identity Reporting 資料庫主機。 |
|
|
RPT_DATABASE_PORT |
指定 Identity Reporting 資料庫連接埠號碼。 |
|
|
RPT_DATABASE_NAME |
指定 Identity Reporting 資料庫名稱。 |
|
|
RPT_DATABASE_USER |
指定 Identity Reporting 資料庫使用者。 |
|
|
RPT_DATABASE_SHARE_PASSWORD: secret |
指定包含 Identity Reporting 資料庫帳戶密碼的 Azure 金鑰保存庫機密 |
|
|
資源申請和限制
|
指定表單轉譯器資源申請和限制的 CPU 與記憶體值。如需更多詳細資料,請參閱 Resource Management for Pods and Containers (Pod 和容器的資源管理) |
|
|
Self Service Password Reset (SSPR) 組態 |
部署 |
指定您是否要部署 SSPR。(true/false) |
|
CONFIGURATION_PWD: secret: |
指定要為管理員建立的用於設定 SSPR 的密碼。 |
|
|
資源申請和限制
|
指定 SSPR 資源申請和限制的 CPU 與記憶體值。如需更多詳細資料,請參閱 Resource Management for Pods and Containers (Pod 和容器的資源管理) |
|
|
OpenText Identity Console 組態 |
部署 |
指定您是否要部署 OpenText Identity Console。(true/false) |
|
ID_CONSOLE_USE_OSP |
不支援使用 One SSO Provider (OSP) 做為 OpenText Identity Console 的登入方法,因此預設值應為「n」。 |
|
|
資源申請和限制
|
指定 OpenText Identity Console 資源申請和限制的 CPU 與記憶體值。如需更多詳細資料,請參閱 Resource Management for Pods and Containers (Pod 和容器的資源管理) |
|
|
進階組態 |
DATA_CONTAINERS: DATA_CONTAINERS_LDIF ROOT_CONTAINER GROUP_ROOT_CONTAINER USER_CONTAINER ADMIN_CONTAINER |
指定用於建立資料容器的 LDIF 組態。 指定根容器、群組根容器、使用者容器和管理員容器的 DN |
|
Kubernetes 叢集網域: KUBE_SUB_DOMAIN |
指定 Kubernetes 叢集網域 |
|
|
OpenText Identity Manager Web 應用程式的 TLS 組態 |
kubernetesSecret |
將值指定為 false。 |
|
azurekeyVault |
將值指定為 true。 入口 TLS 證書將做為 kubernetes 機密進行管理。 |
|
|
敏感性資料的機密管理員 |
kubernetesSecret |
將值指定為 false。 |
|
azurekeyVault |
將值指定為 true。 Azure 金鑰保存庫用做機密管理員。 |
|
|
AWS Secret Manager 用做機密管理員 |
awsSecretManager |
將值指定為 false。 |
更新 terraform.tfvars 和 values.yaml 檔案後,按照Azure Kubernetes Service 上的 OpenText Identity Manager 容器部署中所述的步驟完成 Azure 上的 OpenText Identity Manager 容器部署。