Compartilhar via


Criptografia da API de migração para OneDrive for Business e SharePoint Online

O uso da API de migração exige um contêiner de armazenamento temporário no Microsoft Azure. O Contêiner do Azure pode ser aberto apenas por usuários que tenha acesso à chave SAS. O objetivo desse recurso é permitir a passagem de conteúdo criptografado em repouso para a API, o que significa que, mesmo que um usuário mal-intencionado tenha acesso ao Contêiner, ele não poderá usar seu conteúdo.

O que é armazenado no contêiner de blobs do Azure?

A API de migração requer o Contêiner do Azure para passagem de conteúdo e também para geração de relatórios de fila e de log. Pode ser dividido como um resumo nos seguintes buckets:

Conteúdo

  • Arquivos
  • Manifesto
    • Metadata
    • Permissões
    • Itens da lista
    • Taxonomia
    • Logs (criados pelo SharePoint Online para relatar os resultados de migração)
  • Fila
    • Relatório em tempo real sobre o progresso

O que é o recurso de criptografia?

Quando usa o parâmetro de criptografia, os itens relacionados acima são criptografados em repouso e a chave deve ser preservada para ler os logs e o progresso em tempo real.

As principais vantagens incluem tornar o conteúdo inútil para um usuário mal-intencionado que poderia invadir o Contêiner do Azure.

Isso implica maior desempenho por menor custo. Esse recurso é opcional com o uso da API. Recomendamos usá-lo apenas para as informações mais confidenciais, pois ele reduz a velocidade da migração em uma pequena parte. A Microsoft destrói a chave quando o trabalho de migração é concluído e não há como recuperá-la se ela for perdida, nem mesmo com o suporte.

Como posso aproveitar o recurso de criptografia sendo desenvolvedor terceirizado?

Como chamar a API

O método para chamar o trabalho de migração tem um nome diferente e um parâmetro adicional na extremidade. O novo nome é: CreateMigrationJobEncrypted

O novo parâmetro é: EncryptionOption

No momento, ele tem suporte apenas para recebimento de uma chave de criptografia AES256CBC.

Exemplo:

    public Guid CreateMigrationJobEncrypted(
        Guid gWebId,
        string azureContainerSourceUri,
        string azureContainerManifestUri,
        string azureQueueReportUri,
        EncryptionOption AES256CBCKey)

Requisito extra

Na criptografia, cada arquivo deve ser criptografado e ter um IV atribuído a ele. O método de criptografia deve seguir o padrão AES-CBC de 256 bits. Uma IV exclusiva e criptograficamente aleatória deve ser gerada para cada arquivo, incluindo os manifestos no pacote, e deve ser armazenada como uma propriedade em cada arquivo. Use o método AesCryptoServiceProvider.GenerateIV para gerar uma IV aleatória exclusiva para cada arquivo.

  • Nome: [IV]
  • Valor: [Matriz de bytes base64encoded do IV]

Como ler a fila depois de criptografada

Quando usa a opção de criptografia, as mensagens na fila também são criptografadas.

É importante lembrar a ID do trabalho. Não será possível ler a mensagem novamente sem a chave específica usada para o trabalho.

Esse é o conteúdo JSON na mensagem da fila

{"Label": "Encrypted"},
{"JobId": "[JobId value]"},
{"IV": "[IV value in base64format]"},
{"Content": "[encrypted message in base64string]"}

Depois de descriptografar as mensagens, elas serão iguais às da API sem criptografia.

Observação

A Migração não está disponível para usuários de Office 365 operados pela 21Vianet na China. Ela também não está disponível para usuários do Office 365 com a nuvem alemã usando o data trustee, Telekom alemã. No entanto, há suporte para os usuários na Alemanha cujo local de dados não está no Data Center alemão.