UiPath Documentation
orchestrator
2023.10
false
Orchestrator 安装指南
重要 :
新发布内容的本地化可能需要 1-2 周的时间才能完成。

Identity Server 脚本

运行 Publish-IdentityServer.ps1 脚本,以对 Identity Server 进行初始部署或更新。

发布到身份服务器

下表介绍了可与 Publish-IdentityServer.ps1 脚本一起使用的所有参数。

参数

描述

-action

Mandatory. Indicates the type of scenario you want to start.

可用的选项如下:

  • Deploy - 指定它为全新安装。
  • Update - 指定要更新 Identity Server 实例。

-azureAccountApplicationId

Mandatory. The Azure service principal ID.

Please note that the used service principal needs to be assigned the Contributor role to the app service at the subscription scope.

-azureAccountPassword

Mandatory. The Azure token password for the service principal ID.

-azureSubscriptionId

Mandatory. The Azure subscription ID for the App Service that hosts Orchestrator.

-azureAccountTenantId

Mandatory. The Azure tenant ID.

-orchestratorUrl

必需。Orchestrator 实例的 URL。

-identityServerUrl

必填。Identity Server 的 URL。

Important: The URL must contain the Identity Server address + the suffix /identity in lowercase.

示例:https://[identity_server]/identity

-resourceCatalogUrl

必填。资源的 URL

目录。

-orchDetails

此参数是包含以下值的哈希表:

  • resourceGroupName - 必填。包含 Orchestrator 应用程序服务的 Azure 资源组名称。
  • appServiceName - 必填。Orchestrator Azure 应用程序服务名称。
  • targetSlot - 必填。Azure 设置的目标应用程序服务槽。

-identityServerDetails

此参数是包含以下值的哈希表:

  • resourceGroupName - 必填。包含 Identity Server 应用程序服务的 Azure 资源组名称。
  • appServiceName - 必填。Identity Server Azure 应用程序服务名称。
  • targetSlot - 必填。Azure 设置的目标应用程序服务槽。

-package

必填。指示 UiPath.IdentityServer.Web.zip 存档的完整路径或相对路径。

-cliPackage

必填。指示 UiPath.IdentityServer.Migrator.Cli.zip 存档的完整路径或相对路径。

-productionSlotName

可选。 只有当身份服务器应用程序服务部署槽不同于 Azure 设置的默认生产应用程序服务槽时,才能使用它。

-stopApplicationBeforePublish

可选。如果存在,它会在部署之前停止应用程序,并在部署完成后启动应用程序。

-unattended

可选。 如果存在,则部署将继续,无需任何用户确认。

-tmpDirectory

可选。启用下载和解压缩所需文件的目录的规范。

-noAzureAuthentication

Optional. Allows you to publish to the Azure App Service by relying on your own user identity, without having to create a service principal.

If this parameter is used, the UseServicePrincipal parameter set (which includes items such as the Azure application ID, password, subscription ID, and tenant ID) are no longer necessary.

Publish-IdentityServer.ps1 脚本用于身份服务器的初始部署或更新。该脚本假定网页应用程序已配置 DefaultConnection 数据库连接字符串。

.\Publish-IdentityServer.ps1 `
    -action Deploy `
    -orchestratorUrl "<orchestrator_address>" `
    -identityServerUrl "https://<identity_server_url>/identity" ` // must be in lowercase
    -resourceCatalogUrl "<resource_catalog_address>" `
    -orchDetails @{ resourceGroupName = "<resourcegroup_name>"; appServiceName = "<appservice_name>";  targetSlot = "Production" } `
    -identityServerDetails @{ resourceGroupName = "<resourcegroup_name>"; appServiceName = "<appservice_name>"; targetSlot = "Production" } `
    -azureSubscriptionId "<subscription_id>" `
    -azureAccountTenantId "<azure_tenant_id>" `
    -azureAccountApplicationId "<azure_application_id>" `
    -azureAccountPassword "<azure_account_password>" `
    -package "UiPath.IdentityServer.Web.zip" `
    -cliPackage "UiPath.IdentityServer.Migrator.Cli.zip" `
    -stopApplicationBeforePublish `
    -unattended
.\Publish-IdentityServer.ps1 `
    -action Deploy `
    -orchestratorUrl "<orchestrator_address>" `
    -identityServerUrl "https://<identity_server_url>/identity" ` // must be in lowercase
    -resourceCatalogUrl "<resource_catalog_address>" `
    -orchDetails @{ resourceGroupName = "<resourcegroup_name>"; appServiceName = "<appservice_name>";  targetSlot = "Production" } `
    -identityServerDetails @{ resourceGroupName = "<resourcegroup_name>"; appServiceName = "<appservice_name>"; targetSlot = "Production" } `
    -azureSubscriptionId "<subscription_id>" `
    -azureAccountTenantId "<azure_tenant_id>" `
    -azureAccountApplicationId "<azure_application_id>" `
    -azureAccountPassword "<azure_account_password>" `
    -package "UiPath.IdentityServer.Web.zip" `
    -cliPackage "UiPath.IdentityServer.Migrator.Cli.zip" `
    -stopApplicationBeforePublish `
    -unattended
重要提示:

运行上述脚本后,请确保执行下面列出的额外步骤,以成功进行初始部署。

发布身份服务器后,执行以下步骤:

  1. 转到 Azure 门户。
  2. 选择您的身份服务器应用程序服务。
  3. 在“证书”菜单中,转到“自带证书”。
  4. 上传具备有效密码的 .pfx 私钥证书。
    备注:

    此证书用于对访问令牌和 ID 令牌进行签名。

  5. 在“配置”菜单下,按照“应用程序设置”列中写入的内容准确添加以下应用程序设置:

应用程序设置

描述


      AppSettings__IdentityServerAddress
     

      AppSettings__IdentityServerAddress
     

https://[identity_server]/identity

身份服务器的公共 URL。

重要提示:URL 必须包含 Identity Server 的地址 + 后缀

     /identity
    

     /identity
    
小写。


      AppSettings__SigningCredentialSettings__StoreLocation__Location
     

      AppSettings__SigningCredentialSettings__StoreLocation__Location
     

当前用户

这必须指向当前用户


      AppSettings__SigningCredentialSettings__StoreLocation__Name
     

      AppSettings__SigningCredentialSettings__StoreLocation__Name
     

XXXXXXXXXXXXXXXXXXXXXXXXXXXX

之前上传的证书的指纹。


      AppSettings__SigningCredentialSettings__StoreLocation__NameType
     

      AppSettings__SigningCredentialSettings__StoreLocation__NameType
     


      Thumbprint
     

      Thumbprint
     

Enter

     Thumbprint
    

     Thumbprint
    
作为上一字段的类型。


      AppSettings__LoadBalancerSettings__RedisConnectionString
     

      AppSettings__LoadBalancerSettings__RedisConnectionString
     


      XXXXXXXXXXXX:XXXX,password=XXXXXX
     

      XXXXXXXXXXXX:XXXX,password=XXXXXX
     

The connection string needed to set up your Redis server, which contains the URL of the server, the password, and the port.

You can also enable SSL encrypted connections between the Orchestrator nodes and the Redis service.


      AppSettings__LoadBalancerSettings__SlidingExpirationTimeInSeconds
     

      AppSettings__LoadBalancerSettings__SlidingExpirationTimeInSeconds
     

秒数

The sliding expiration time of an item inside the cache.

This expiration time applies to both Redis Cache and InMemory Cache.


      AppSettings__RedisSettings__UseRedisStoreCache
     

      AppSettings__RedisSettings__UseRedisStoreCache
     


     true
    

     true
    
/

     false
    

     false
    
将其值设置为

     true
    

     true
    
to enable Redis caching of OAuth client data.

This helps prevent performance issues when using Interactive Sign In to connect a large number of robots in a short amount of time. This cache uses the same Redis connection string specified in the


AppSettings__LoadBalancerSettings

AppSettings__LoadBalancerSettings
注意:如果您使用外部应用程序功能,则不建议这样做,因为此设置将缓存客户端,并且不会反映对外部应用程序的更新。


      AppSettings__RedisSettings__UseRedisStoreClientCache
     

      AppSettings__RedisSettings__UseRedisStoreClientCache
     


     true
    

     true
    
/

     false
    

     false
    

Set its value to true to enable Redis caching for first-party clients (UiPath applications) or third-party clients (external applications).

If you have a large-scale deployment, it is recommended to enable this flag.


      App__Saml2ValidCertificateOnly
     

      App__Saml2ValidCertificateOnly
     


     true
    

     true
    
/

     false
    

     false
    
对于通过 Azure 网页应用进行的 Orchestrator 部署,此参数必须设置为

     false
    

     false
    

This is because SAML2 requires certificates to be added to its trust store, but Azure web apps do not allow this action. Setting the value to


false

false
意味着绕过证书检查。


      WEBSITE_LOAD_CERTIFICATES
     

      WEBSITE_LOAD_CERTIFICATES
     

XXXXXXXXXXXXXXXXXXXXXXXXXXXX

之前上传的证书的指纹值。


      WEBSITE_LOAD_USER_PROFILE
     

      WEBSITE_LOAD_USER_PROFILE
     

1

用户配置文件。

     -azureUSGovernmentLogin
    

     -azureUSGovernmentLogin
    
可选。此参数仅用于美国政府部署。  
6.

保存更改。

Microsoft Azure 文档中查找更多详细信息。

替换私钥证书

当您将私钥证书替换为新证书时,请确保按照以下步骤操作:

  1. AppSettings__SigningCredentialSettings__StoreLocation__NameWEBSITE_LOAD_CERTIFICATES 参数的值替换为新证书的指纹。
  2. 重新启动身份应用程序服务。
  3. 重新启动 Orchestrator 应用程序服务。

迁移到身份服务器

下表介绍了可与 MigrateTo-IdentityServer.ps1一起使用的所有参数。

参数

描述

-cliPackage

Mandatory .

指示 UiPath.IdentityServer.Migrator.Cli.zip 存档的完整路径或相对路径。

-azureDetails

此参数是包含以下值的哈希表:

  • azureAccountApplicationId - Mandatory. The Azure service principal ID.

    Please note that the used service principal needs to be assigned the Contributor role to the app service at the subscription scope.

  • azureSubscriptionId - 必填。托管 Orchestrator 的应用程序服务的 Azure 订阅 ID。
  • azureAccountTenantId - 必填。Azure 租户 ID。
  • azureAccountPassword - 必填。服务主体 ID 的 Azure 令牌密码。

-orchDetails

此参数是包含以下值的哈希表:

  • resourceGroupName - 必填。包含 Orchestrator 应用程序服务的 Azure 资源组名称。
  • appServiceName - 必填。Orchestrator Azure 应用程序服务名称。
  • targetSlot - 必填。Azure 设置的目标应用程序服务槽。

-identityServerDetails

此参数是包含以下值的哈希表:

  • resourceGroupName - 必填。包含 Identity Server 应用程序服务的 Azure 资源组名称。
  • appServiceName - 必填。Identity Server Azure 应用程序服务名称。
  • targetSlot - 必填。Azure 设置的目标应用程序服务槽。

-identityServerUrl

必填。Identity Server 的公共地址。

Important: The URL must contain the address of Identity Server + the suffix /identity in lowercase.

示例:https://[identity_server]/identity

-orchestratorUrl

必填。Orchestrator 的公共地址。

-tmpDirectory

可选。启用下载和解压缩所需文件的目录的规范。

-hostAdminPassword

仅对全新部署为必需,当-action is set to Deploy .

Specify a custom password for the host administrator. Please note that passwords have to be least 8 characters long, and must have at least one lowercase character and at least one digit.

-isHostPassOneTime

Optional. Enables you to enforce a password reset on the first login for the host administrator.

If this parameter is omitted, the host admin password is not a one-time password.

-defaultTenantAdminPassword

仅对全新部署为必需,当-action is set to Deploy .

Specify a custom password for the default tenant administrator. Please note that passwords have to be least 8 characters long, and must have at least one lowercase character and at least one digit.

-isDefaultTenantPassOneTime

Optional. Enables you to enforce a password reset on the first login for the default tenant administrator.

If this parameter is omitted, the tenant admin password is not a one-time password.

-noAzureAuthentication

Optional. Allows you to publish to the Azure App Service by relying on your own user identity, without having to create a service principal.

If this parameter is used, the UseServicePrincipal parameter set (which includes items such as the Azure application ID, password, subscription ID, and tenant ID) are no longer necessary.

MigrateTo-IdentityServer.ps1 脚本用于将用户数据从 Orchestrator 迁移到 Identity Server,并为两者设置好配置。它将 Orchestrator 的身份授权设置到 Identity Server,并在 Identity Server 中为 Orchestrator 创建客户端配置。

该脚本假定 Orchestrator 和身份服务器已发布。

.\MigrateTo-IdentityServer.ps1 `
    -cliPackage "UiPath.IdentityServer.Migrator.Cli.zip" `
    -azureDetails @{azureSubscriptionId = "<subscription_id>"; azureAccountTenantId = "<azure_tenant_id>"; azureAccountApplicationId = "<azure_application_id>"; azureAccountPassword = "<azure_account_password>" } `
    -orchDetails @{ resourceGroupName = "<resourcegroup_name>"; appServiceName = "<appservice_name>";  targetSlot = "Production" } `
    -identityServerDetails @{ resourceGroupName = "<resourcegroup_name>"; appServiceName = "<appservice_name>"; targetSlot = "Production" } `
    -identityServerUrl "https://<identity_server_url>/identity" ` // must be in lowercase
    -orchestratorUrl "https://<OrchestratorURL>" `
    -hostAdminPassword "12345qwert" `
    -defaultTenantAdminPassword "12345qwert"
.\MigrateTo-IdentityServer.ps1 `
    -cliPackage "UiPath.IdentityServer.Migrator.Cli.zip" `
    -azureDetails @{azureSubscriptionId = "<subscription_id>"; azureAccountTenantId = "<azure_tenant_id>"; azureAccountApplicationId = "<azure_application_id>"; azureAccountPassword = "<azure_account_password>" } `
    -orchDetails @{ resourceGroupName = "<resourcegroup_name>"; appServiceName = "<appservice_name>";  targetSlot = "Production" } `
    -identityServerDetails @{ resourceGroupName = "<resourcegroup_name>"; appServiceName = "<appservice_name>"; targetSlot = "Production" } `
    -identityServerUrl "https://<identity_server_url>/identity" ` // must be in lowercase
    -orchestratorUrl "https://<OrchestratorURL>" `
    -hostAdminPassword "12345qwert" `
    -defaultTenantAdminPassword "12345qwert"
  • 发布到身份服务器
  • 替换私钥证书
  • 迁移到身份服务器

此页面有帮助吗?

连接

需要帮助? 支持

想要了解详细内容? UiPath Academy

有问题? UiPath 论坛

保持更新