SharePoint 为 SharePoint 迁移 API 提供 Azure 容器和队列

概述

使用 SharePoint 迁移 API 的要求之一是使用 Azure 容器进行临时存储。 Azure 容器的成本现已免费;免费默认 Azure 容器现在是基本 SharePoint 产品/服务的一部分。 注册 SharePoint 的每个租户都可以免费获得此服务。

重要关键方面包括:

  • 容器和队列在每个请求中是唯一的,不能重复使用。 一旦将容器提供给客户,该容器就不会重复使用或共享。

  • 将自动删除容器和队列。 根据标准 SharePoint 合规性,Microsoft 将在 30 到 90 天内自动销毁容器。

  • 容器和队列位于客户的数据中心位置。 我们确保预配与 SharePoint 租户位于同一物理位置的容器。

  • 可以通过 SharePoint 以编程方式获取容器和队列。

加密过程

在迁移 API 能够从 SharePoint 提供的 Azure 容器接受迁移作业前,必须使用 AES CBC 256 标准对数据进行静态加密。

注意

如果不希望使用加密,仍然可以提供你自己的 Azure 帐户。

No one has direct access to the storage accounts or the containers. SharePoint 服务有权访问存储帐户;虽然部分工程师可以对其运行维护命令,但他们也无权直接访问帐户。 数据中心技术人员不了解数据在磁盘上的布局方式,并且无法随时访问用于装载磁盘的设备。 离开数据中心前,所有硬盘都将被物理销毁。 Physical security is also in place across all of our datacenters.

每个容器都专用于预期客户,并且不能重复使用。 数据在 30 到 90 天内存储在 Azure Blob 中的任何位置,之后数据将被删除。

删除数据后,文件将取消链接,稍后会从磁盘软删除。 多个服务器之间可能会共享帐户中和磁盘上的某个文件。 请对副本执行相同的流程,包括备份副本(异地复制数据(如果适用))。

注意

由于数据改动,在软删除后的某个时刻很有可能覆盖所有或部分文件。

容器密钥

默认密钥以编程方式生成,并且仅在三天内有效。 此密钥是访问容器的唯一途径。 它是随机生成且不重复使用的。 容器本身的生存时间比密钥长,因为容器在创建后 30-90 天内使用 SharePoint 标准方法进行清除。 SharePoint 永远不会存储密钥,尽管它们可能会找到容器。 容器位于共享 Microsoft 存储中,从技术上讲,在租户 (外部,但在) 区域中,并使用 API 密钥进行保护。

[!重要说明] 只有有密钥的用户可以访问。 订阅或租户中的其他用户不能访问。

如果你的密钥丢失或者其他人得到你的密钥,可以实施两种防御措施来保护你的密钥。 首先,容器只有读/写操作。 容器没有列表,这意味着需要知道容器中存储的文件的详细信息才能进行读写操作。 其次,在 CBC 模式下使用 AES 256 对文件进行静态加密。

如何使用容器

获取容器

public SPProvisionedMigrationContainersInfo ProvisionMigrationContainers()

注意

可以使用 SharePoint 客户端对象模型在 C# 中进行此调用。 请参阅 使用 SharePoint 客户端库代码完成基本操作

调用返回一个 对象,该对象包含两个字符串,其中包含用于访问两个所需容器的 SAS 令牌和一个用于AES256CBC加密的字节数组。 加密数据时必须使用此密钥。 一旦我们给你密钥,它就会被 Microsoft 遗忘。 需要保留它,然后再次传递它以进行 SubmitMigrationJob 调用。

  • Uri DataContainerUri

  • Uri MetadataContainerUri

  • byte[] EncryptionKey

获取队列

public SPProvisionedMigrationQueueInfo ProvisionMigrationQueue()

此方法返回一个字符串,其中包含用于访问 Azure 队列的 SAS 令牌。 队列可以跨多个迁移作业重复使用,因此不应像 SPProvisionedMigrationContainersInfo () 调用那样频繁地使用此调用。

  • Uri JobQueueUri