OneDrive for Business および SharePoint Online Migration API の暗号化
Migration API を使用するには、一時的な Azure Storage コンテナーが必要です。 この Azure コンテナーは、すでにコンテナーへの SAS キー アクセス権を持っているユーザーのみが開くことができます。 この機能の目的は、保存中の暗号化されたコンテンツを API に渡すことです。つまり、悪意のあるユーザーがコンテナーにアクセスできる場合でも、そのコンテンツを使用できなくなります。
Azure Blob コンテナーの内容
Migration API では、コンテンツの受け渡しのため、またログとキューのレポートのためにも、Azure コンテナーが必要です。 このコンテナーの内容は、大まかに次の項目に分けられます。
コンテンツ
- ファイル
- マニフェスト
- メタデータ
- アクセス許可
- リスト アイテム
- 分類
- ログ (移行結果をレポートするために SharePoint Online によって作成)
- キュー
- 進行状況に関するリアルタイムのレポート
暗号化機能とは何ですか?
暗号化パラメーターを使用すると、上記のすべてのものが暗号化して保存され、ログやリアル タイムの進行状況を読み取るにはキーを保持している必要があります。
主な利点は、悪意のあるユーザーが何とか Azure コンテナーに侵入しても、コンテンツを使用することはできないという点です。
この機能を使用すると、パフォーマンスが多少低下します。 API を使用する場合、この機能はオプションです。この機能により、移行の速度が多少遅くなるため、最も機密性の高い情報に対してのみ使用することをお勧めします。 移行ジョブが完了したら、Microsoft はキーを破棄します。紛失した場合、サポートでも復元することはできません。
サードパーティの開発者による暗号化機能の利用
API の呼び出し
移行ジョブを呼び出すメソッドには、最後に別名と追加のパラメーターが含まれます。 新しい名前は、CreateMigrationJobEncrypted
です。
新しいパラメーターは、EncryptionOption
です。
ここでは、AES256CBC 暗号化キーの受信のみをサポートします。
例:
public Guid CreateMigrationJobEncrypted(
Guid gWebId,
string azureContainerSourceUri,
string azureContainerManifestUri,
string azureQueueReportUri,
EncryptionOption AES256CBCKey)
追加要件
暗号化では、ファイルごとに暗号化し、各ファイルに IV を割り当てる必要があります。 暗号化方法は、AES CBC 256 標準に準拠する必要があります。 一意の暗号ランダム IV は、パッケージ内のマニフェストを含むすべてのファイルに対して生成する必要があり、各ファイルのプロパティとして格納する必要があります。 AesCryptoServiceProvider.GenerateIV メソッドを使用して、ファイルごとに一意のランダム IV を生成します。
- 名前: [IV]
- 値: [IV の Base64encoded バイト配列]
暗号化されたキューの読み取り
暗号化オプションを使用すると、キュー内のメッセージも暗号化されます。
ジョブ ID を覚えておくことが重要です。 ジョブに使用されている特定のキーがないと、後でメッセージを読み取ることができなくなります。
次に、キュー メッセージ内の JSON のコンテンツを示します。
{"Label": "Encrypted"},
{"JobId": "[JobId value]"},
{"IV": "[IV value in base64format]"},
{"Content": "[encrypted message in base64string]"}
メッセージを復号化すると、暗号化されていない API と同じになります。
注:
移行は、中国で 21Vianet が運営するOffice 365のユーザーには使用できません。 German Telekomのデータ トラスティを利用するドイツのクラウドを使う Office 365 のユーザーも利用できません。 ただし、ドイツのユーザーでも、そのデータがドイツのデータ センター以外の場所にある場合は、サポートされます。