- 入门指南
- 要求
- 最佳实践
- 安装
- 正在更新
- 身份服务器
- 对启动错误进行故障排除
Identity Server 脚本
Publish-IdentityServer.ps1
一起使用的所有参数。
参数 |
描述 |
---|---|
|
必需。指示要启动的场景类型。可选择以下选项:
|
|
必填。Azure 服务主体 ID。请注意,需要在订阅范围内为所用的服务主体分配应用程序服务的参与者角色。 |
|
必填。 服务主体 ID 的 Azure 令牌密码。 |
|
必填。 托管 Orchestrator 的应用程序服务的 Azure 订阅 ID。 |
|
必需。Azure 租户 ID。 |
|
必需。Orchestrator 实例的 URL。 |
|
必填。Identity Server 的 URL。 重要提示:URL 必须包含 Identity Server 地址和小写后缀
/identity 。示例:https://[identity_server]/identity |
|
此参数是包含以下值的哈希表:
|
|
此参数是包含以下值的哈希表:
|
|
必填。指示
UiPath.IdentityServer.Web.zip 存档的完整路径或相对路径。
|
|
必填。指示
UiPath.IdentityServer.Migrator.Cli.zip 存档的完整路径或相对路径。
|
|
可选。 只有当身份服务器应用程序服务部署槽不同于 Azure 设置的默认生产应用程序服务槽时,才能使用它。 |
|
可选。如果存在,它会在部署之前停止应用程序,并在部署完成后启动应用程序。 |
|
可选。 如果存在,则部署将继续,无需任何用户确认。 |
|
可选。启用下载和解压缩所需文件的目录的规范。 |
-azureUSGovernmentLogin | 可选。此参数仅用于美国政府部署。 |
Publish-IdentityServer.ps1
脚本用于身份服务器的初始部署或更新。该脚本假定网页应用程序已配置 DefaultConnection
数据库连接字符串。
.\Publish-IdentityServer.ps1 `
-action Deploy `
-orchestratorUrl "<orchestrator_address>" `
-identityServerUrl "https://<identity_server_URL>/identity" ` // must be in lowercase
-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
-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
发布身份服务器后,执行以下步骤:
- 转到 Azure 门户。
- 选择您的身份服务器应用程序服务。
- 在“证书”菜单中,转到“自带证书”。
-
上传具备有效密码的
.pfx
私钥证书。注意:此证书用于对访问令牌和 ID 令牌进行签名。 -
在“配置”菜单下,按照“应用程序设置”列中写入的内容准确添加以下应用程序设置:
应用程序设置
值
描述
AppSettings__IdentityServerAddress
https://[identity_server]/identity
身份服务器的公共 URL。
重要提示:URL 必须包含 Identity Server 的地址和小写后缀/identity
。AppSettings__SigningCredentialSettings__StoreLocation__Location
当前用户
这必须指向当前用户。
AppSettings__SigningCredentialSettings__StoreLocation__Name
XXXXXXXXXXXXXXXXXXXXXXXXXXXX
之前上传的证书的指纹。
AppSettings__SigningCredentialSettings__StoreLocation__NameType
Thumbprint
输入Thumbprint
作为上一字段的类型。AppSettings__LoadBalancerSettings__UseRedis
true
/false
输入true
,使用 Redis 作为数据库,在通过负载均衡器连接的所有计算机之间分发和缓存消息。这是多节点操作的强制性要求。AppSettings__LoadBalancerSettings__RedisConnectionString
XXXXXXXXXXXX:XXXX,password=XXXXXX
设置 Redis 服务器必需的连接字符串,包含服务器的 URL、密码和端口。您也可以在 Orchestrator 节点和 Redis 服务之间启用 SSL 加密连接。
注意:只有将AppSettings__LoadBalancerSettings__UseRedis
设置为 true 时,才能使用。AppSettings__LoadBalancerSettings__SlidingExpirationTimeInSeconds
秒数
缓存内项目的可调过期时间。此过期时间适用于 Redis 缓存和 InMemory 缓存
AppSettings__UseRedisStoreCache
true
/false
将其值设置为true
以启用 OAuth 客户端数据的 Redis 缓存。使用交互式登录在短时间内连接大量机器人时,这有助于防止出现性能问题。此缓存使用AppSettings__LoadBalancerSettings
中指定的相同 Redis 连接字符串。注意:如果您使用外部应用程序功能,则不建议这样做,因为此设置将缓存客户端,并且不会反映对外部应用程序的更新。App__Saml2ValidCertificateOnly
true/false
对于通过 Azure 网页应用进行的 Orchestrator 部署,此参数必须设置为false
。这是因为 SAML2 要求将证书添加到其信任存储中,但 Azure 网页应用不允许此操作。将该值设置为false
意味着绕过证书检查。WEBSITE_LOAD_CERTIFICATES
XXXXXXXXXXXXXXXXXXXXXXXXXXXX
之前上传的证书的指纹值。
WEBSITE_LOAD_USER_PROFILE
1
用户配置文件。
- 保存更改。
在 Microsoft Azure 文档中查找更多详细信息。
MigrateTo-IdentityServer.ps1
一起使用的所有参数。
参数 |
描述 |
---|---|
|
此参数是包含以下值的哈希表:
|
|
此参数是包含以下值的哈希表:
|
|
此参数是包含以下值的哈希表:
|
|
必填。Identity Server 的公共地址。 重要提示:URL 必须包含 Identity Server 的地址和小写后缀
/identity 。示例:
|
|
必填。Orchestrator 的公共地址。 |
|
可选。启用下载和解压缩所需文件的目录的规范。 |
|
当
-action 设置为 Deploy 时,仅对全新部署为必需 。 为主机管理员指定自定义密码。 请注意,密码长度必须至少为 8 个字符,并且必须包含至少一个小写字符和至少一个数字。
|
|
可选。使您能够在主机管理员首次登录时强制强制密码重置。如果省略此参数,则主机管理员密码不是一次性密码。 |
|
当将
-action 设置为 Deploy 时,仅全新部署为必需。为默认租户管理员设置自定义密码。请注意,密码必须至少 8 个字符长,并且必须至少有一个小写字符和至少一个数字。
|
|
可选。使您能够在默认租户管理员首次登录时强制执行密码重置。如果省略此参数,则租户管理员密码不是一次性密码。 |
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"