配置 Windchill 文件电子仓库以使用 Azure Blob
本部分将介绍 Windchill 和 Azure 门户所需的配置,以便在 Azure 虚拟机 (VM) 中运行 Windchill 时允许使用 Azure Blob。
|
• 不支持在本地运行 Windchill 的情况下连接到 Azure Blob。
• 更新或升级现有 Windchill 版本后,必须重新执行本部分中所述的配置。
|
Azure 门户配置
需要在 Azure 门户中执行的配置包括添加所需的组件以及设置访问控制。必须在 Azure 门户上为 Windchill 配置权限和设置访问才能成功使用 Azure Blob。
Windchill 支持两种身份验证配置机制:
• MSI - 此为首选选项,可在使用 MSI 启用 AZURE VM 时使用。
• SECURITY_CREDENTIALS - 如果 MSI 选项无法使用,则可以使用此回退机制。在此选项中,Windchill 会安全地存储凭据并使用这些凭据与 Azure 进行通信。
事前准备
为 Windchill 配置 Azure Blob 前,在 Azure 门户上创建以下实体:
• 存储帐户 - Account kind 必须是 Standard (general purpose v2)。
• 已启用托管服务标识 (MSI) 的 Azure VM。
• Key Vault 密钥 - 此实体为可选实体,如果您打算使用 Key Vault 加密,则必须创建此实体。
为 MSI 用户帐户添加策略
必须为您的存储帐户中启用了 MSI 的 Azure VM 赋予“存储 Blob 数据参与创作者”角色。请执行以下步骤来添加该角色:
1. 登录到 Azure 门户。
2. 导航至您的存储帐户。
3. 转至 Access Control(IAM)。
4. 单击 Add。
5. 选择 Storage Blob Data Contributor,并分配对 MSI 配置的 Azure VM 的访问权限。
|
如果您希望能够跨存储帐户进行复制,则分配 Storage Account Contributor 而不是 Storage Blob Data Contributor。如果您的电子仓库具有多个存储帐户,则会发生这种情况,就像使用远程文件服务器进行内容复制的情况一样。
|
6. 单击 Save。您的 Azure VM 未启用 MSI。
在 Azure Blob 中设置 Key Vault 加密
要启用 Key Vault 加密,必须在 Azure 门户中执行下列步骤:
1. 创建 Key Vault 并生成密钥
2. 创建应用程序
3. 将应用程序链接到密钥
创建 Key Vault 并生成密钥
要创建 Key Vault 并生成密钥,请在 Azure 门户中执行下列步骤:
1. 在操控板中单击 + Create a resource。
2. 在 New 窗口中,搜索 Key Vault。
3. 单击 Create。输入 Name、Subscription、Resource Group 和 Location,然后单击 Create。
4. 成功生成 Key Vault,并显示“概述”页面。请注意此页面中的 DNS Name。
|
KeyVaultKeyIDURL 是 DNS Name 和 Key Name 的组合。例如,如果 Key Name 为 KeyVaultKey,DNS Name 为 https://contentkeyvault.vault.azure.net/,那么 KeyVaultKeyIDURL 即为 https://contentkeyvault.vault.azure.net/keys/KeyVaultKey。Windchill 中的自定义 Java 程序需要 KeyVaultKeyIDURL。
|
5. 单击 > 。
6. 输入 Name。
7. 选择 Key Type 作为 RSA。
8. 选择 RSA Key Size,然后单击 Create。
9. 即会成功创建 Key。
|
密钥的 VALUE 即为 Windchill 中自定义 Java 程序使用的 AuthKey。请确保将其记下,因为以后无法检索。
|
创建应用程序
要创建新的应用程序,请在 Azure 门户中执行下列步骤:
1. 在操控板中单击 > > 。
2. 输入 Name、Application Type 和 Sign-on URL,然后单击 Create。
3. 即会成功创建应用程序。
|
Application ID 即为 Windchill 中的自定义 Java 程序所需的 AppId。
|
将应用程序链接到密钥
要链接应用程序与密钥,请在 Azure 门户中执行下列步骤:
1. 从操控板打开 > > > 。
2. 搜索应用程序名称,然后单击 Select。
3. 在 Key permissions 中,选择 Select all,然后单击 OK。
4. 应用程序和密钥即会成功链接在一起,这样就完成了 Azure Blob 中 Key Vault 加密的设置。
配置访问控制 - 要点
• 如果您选择使用“帐户名称”和“密钥”进行身份验证,则 Windchill 具有对存储帐户的管理访问权限。
• 如果您选择使用 MSI 并分配 Storage Blob Data Contributor 角色,则 Windchill 具有对存储帐户的管理访问权限。
• 如果分配 Storage Blob Data Reader 角色,则 Windchill 将获得对存储帐户的只读访问权限。
Windchill 配置
您可以使用命令行工具将 Windchill 配置为使用 Azure Blob。
事前准备
此命令行工具由配置字段组成。按 ENTER 键跳过特定配置。命令行工具将显示现有配置。配置将自动广播到所有已注册的文件服务器,即副本站点。可以使用 SECURITY_CREDENTIALS 作为身份验证策略来配置多个 Azure Blob Storage 帐户。
在 Windchill shell 中运行以下命令以配置 Azure Blob:
windchill com.ptc.windchill.objectstorage.azureblob.tools.BlobConfigurationTool configure -u <username> -p <password>。
执行下列步骤以配置该帐户:
1. Authentication Strategy: (SECURITY_CREDENTIALS/MSI)? [SECURITY_CREDENTIALS] - 默认值为 SECURITY_CREDENTIALS。如果选择 MSI 选项,则步骤 2 和步骤 3 不适用。
2. 是否要添加或更新 Azure Blob Storage 帐户?(y/n) - 键入 y 以添加或更新存储帐户
◦ Azure Storage Account Name - 输入要配置的帐户名称。
◦ Azure Storage Account Key - 键入 Azure 帐户的访问密钥 ID。
◦ 是否要添加或更新 Azure Blob Storage 帐户?(y/n) - 键入 n 以转到下一步
3. 是否要移除现有的 Azure Blob Storage 帐户?(y/n) - 键入 y 以移除现有的存储帐户
◦ Azure Storage Account Name - 输入要移除的帐户名称。
◦ 是否要移除现有的 Azure Blob Storage 帐户?(y/n) - 键入 n 以转到下一步
4. Blob Encryption Configurator Delegate Name - 键入要选择加密类型的委派名称。加密类型用于加密 Azure Blob 上存储的内容。
5. SSEKeyVaultKeyProvider Delegate Name - 键入要选择 KMS 密钥 ID 的委派名称。KMS 密钥 ID 用于加密 Azure Blob 上存储的内容。
6. CSESecKeyGenerator Delegate Name - 键入要管理秘密密钥的委派名称。由委派返回的密钥用于加密 Azure Blob 上存储的内容。
要验证配置,可以使用下列命令行工具生成报告:
windchill com.ptc.windchill.objectstorage.azureblob.tools.BlobConfigurationTool generateReport -u <username> -p <password>
|
如果更改与委派名称相关的配置,请重新启动主服务器和副本服务器,以使这些配置生效。
|
|
目前,Windchill 支持安全文件传输。您可以将 Azure Storage 帐户配置为仅接受来自安全连接的请求,方法是将 "Secure transfer required" 特性设置为 "Enabled"。您可以按照 此处所述,启用 "Secure transfer required" 特性。
|
装载到 Azure Blob Storage
事前准备
在 Azure 门户中的所需装载路径下创建一个文件夹。请执行以下步骤:
1. 登录到 Azure 门户,然后导航至 Blob。
2. 单击 Upload。
3. 选择示例文本文件,然后在 Advanced 选项卡的 Upload to folder 中指定所需的文件夹名称。
4. 单击 Upload。即会成功创建文件夹。请注意 Azure 门户的路径。
装载 Windchill 的根文件夹
在 Windchill 中装载根文件夹时,将 Mount Type 选为 Azure Blob Storage,且“装载路径”必须具有以下格式:
<StorageAccountName>/<ContainerName>/<PathtoDesiredFolder>
。例如,如果您的存储帐户名称为 StorageForUSA,容器名称为 Container-in-USA,路径为 VaultsForWindchill/RootFolderMountLocation ,则您必须将“装载路径”输入为:
StorageForUSA/Container-in-USA/VaultsForWindchill/RootFolderMountLocation