企业管理 > 文件存储和复制 > 文件存储 > 使用外部文件电子仓库 > 配置 Windchill 文件电子仓库以使用 Azure Blob
  
配置 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 门户上创建以下实体:
存储帐户 -“帐户类型”必须为 Blob storage type
已启用托管服务标识 (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。输入 NameSubscriptionResource GroupLocation,然后单击 Create
4. 成功生成 Key Vault,并显示“概述”页面。请注意此页面中的 DNS Name
* 
KeyVaultKeyIDURLDNS NameKey Name 的组合。例如,如果 Key NameKeyVaultKeyDNS Namehttps://contentkeyvault.vault.azure.net/,那么 KeyVaultKeyIDURL 即为 https://contentkeyvault.vault.azure.net/keys/KeyVaultKeyWindchill 中的自定义 Java 程序需要 KeyVaultKeyIDURL
5. 单击 Keys > +Generate/Import
6. 输入 Name
7. 选择 Key Type 作为 RSA
8. 选择 RSA Key Size,然后单击 Create
9. 即会成功创建 Key
* 
密钥的 VALUE 即为 Windchill 中自定义 Java 程序使用的 AuthKey。请确保将其记下,因为以后无法检索。
创建应用程序
要创建新的应用程序,请在 Azure 门户中执行下列步骤:
1. 在操控板中单击 Azure Active Directory > App Registrations > +New application registration
2. 输入 NameApplication TypeSign-on URL,然后单击 Create
3. 即会成功创建应用程序。
* 
Application ID 即为 Windchill 中的自定义 Java 程序所需的 AppId
将应用程序链接到密钥
要链接应用程序与密钥,请在 Azure 门户中执行下列步骤:
1. 从操控板打开 Key Vault > Access policies > + Add New > Select Principal
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 键跳过特定配置。命令行工具将显示现有配置。配置将自动广播到所有已注册的文件服务器,即副本站点。
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. Azure Storage Account Name - 输入要配置的帐户名称。
3. Azure Storage Account Key - 键入 Azure 帐户的访问密钥 ID。
4. Blob Encryption Configurator Delegate Name - 键入要选择加密类型的委派名称。加密类型用于加密 Azure Blob 上存储的内容。
5. SSEKeyVaultKeyProvider Delegate Name - 键入要选择 KMS 密钥 ID 的委派名称。KMS 密钥 ID 用于加密 Azure Blob 上存储的内容。
6. CSESecKeyGenerator Delegate Name - 键入要管理秘密密钥的委派名称。由委派返回的密钥用于加密 Azure Blob 上存储的内容。
有关加密的详细信息,请参阅主题 Azure Blob 装载的加密自定义
要验证配置,可以使用下列命令行工具生成报告:
windchill com.ptc.windchill.objectstorage.azureblob.tools.BlobConfigurationTool generateReport -u <username> -p <password>
* 
如果更改与委派名称相关的配置,请重新启动主服务器和副本服务器,以使配置生效。
目前,Windchill 支持安全文件传输。您可以将 Azure Storage 帐户配置为仅接受来自安全连接的请求,方法是将 Secure transfer required 特性设置为启用状态。您可以按照此处所述内容,启用 "Secure transfer required" 特性。
强烈建议 Secure transfer required 保持启用状态,以确保实现与 Azure Blob Storage 的安全连接。
装载到 Azure Blob Storage
事前准备
在 Azure 门户中的所需装载路径下创建一个文件夹。请执行以下步骤:
1. 登录到 Azure 门户,然后导航至 Blob
2. 单击 上传
3. 选择示例文本文件,然后在 Advanced 选项卡的 Upload to folder 中指定所需的文件夹名称。
4. 单击 上传。即会成功创建文件夹。请注意 Azure 门户的路径。
装载 Windchill 的根文件夹
Windchill 中装载根文件夹时,将 Mount Type 选为 Azure Blob Storage,且“装载路径”必须具有以下格式:
<StorageAccountName>/<ContainerName>/<PathtoDesiredFolder>
。例如,如果您的存储帐户名称为 StorageForUSA,容器名称为 Container-in-USA,路径为 VaultsForWindchill/RootFolderMountLocation ,则您必须将“装载路径”输入为:
StorageForUSA/Container-in-USA/VaultsForWindchill/RootFolderMountLocation