Advertisement

More Related Content

Similar to Azure Cosmos DB Always Encrypted(20)

Advertisement

Recently uploaded(20)

Advertisement

Azure Cosmos DB Always Encrypted

  1. Azure Cosmos DB Always Encrypted 雑談会議2021Azure関連臨時LT大会
  2. 自己紹介 足利 惟 @yuiashikaga • 所属 • 株式会社 pnop • コミュニティ • Japan Azure User Group • devblogラジオ • アワード • Microsoft MVP for Microsoft Azure (2016-)
  3. Always Encrypted って? • 秘匿情報(クレカ番号など)の保護機能 • クライアントサイドで暗号化/複合化される • サーバー側でもデータ保存時に暗号化を実施してるよ • 暗号化/複合化の制御は Key Vault で管理してるキーで行う • アクセスポリシーで制御可能 • Build 2021 でプレビュー発表 • たぶん SQL Database の Always Encrypted と考え方一緒
  4. はじめかた • まずはプレビュー申請を行う • https://ncv.microsoft.com/poTcF52I6N
  5. はじめかた • Azure Key Vault をセットアップ • Keyを作成 • Azure ADにアプリケーション登録 & シークレット作成 • Azure PaaSからのアクセスなら Managed IDでよい • Key Vault アクセスポリシー追加 • プリンシパルの選択では上記で登録したアプリを選択
  6. 暗号化キーについて • データ暗号化キー (DEK) • データを暗号化するのに必要 • Azure Cosmos DB サービスに保存 • データベース単位で定義 ⇒ 複数のコンテナー間で共有可能 • Azure Cosmos DB SDK を使用してクライアントサイドで作成 • カスタマーマネージドキー (CMK) • DEK は、Cosmos DB に保存する際にこのキーでラップ • CMK では、DEK のラップとラップ解除を行うことにより、対応する DEK で暗号化したデータへのアクセスを効果的に制御 • CMK の管理は Azure Key Vault で行う
  7. はじめかた • データ暗号化キー(DEK)を作成する
  8. はじめかた • 暗号化ポリシーを使用してコンテナーを作成する
  9. 暗号化の種類 • 決定論的暗号化 (Deterministic) • 同一の値は同じ暗号化値 • 暗号化された情報を推論されやすい • 暗号化される種類が少ない場合は不向き(True/Falseとか) • クエリのフィルターに対応 • ランダム暗号化 (Randomized) • 同一の値でも違う暗号化値 • 安全性は高いが、クエリでフィルターかけられない
  10. データの格納 & 読み込み
  11. 結果
  12. データの読み込み(通常)
  13. 注意点 • パフォーマンス • データの暗号化・複合化を行うためRUが多めに消費される • 読み取り:5%増加 • 書き込み:6%増加 • 運用 • CMKのローテーションなどを考慮する必要がある
  14. まとめ • 通信経路も含めて常に暗号化した状態でデータのやり取りが行 える Always Encrypted を活用して、秘匿性の高いデータを安 全に扱おう
Advertisement