はじめに
Oracle Cloud Infrastructure(以下OCI)では、Object Storage を提供しています。Object Storage は、何も意識しないで作成すると Oracle 側で管理されている Key でデータの暗号化がされます。Key Management と連携することで、他のキーを使用して暗号化が出来、セキュリティの強化が出来ます。
さらに、ユーザー側で独自に作成した Key を Key Management に Import することで、Oracle 側が Key を生成していない状況を作れます。Oracle 側が Key を持っていないため、ユーザーでしかデータを復元できません。
今回の記事では、Object Storage から Key Management の Key を使用してデータを暗号化する方法を紹介します。
IAM Policyの設定
Object Storage などの他のサービスから、Key Management を利用するためには、IAM Policy の設定が必要です。サービス同士の連携で IAM Policy が必要なのは面白い概念ですね。
以下のような Policy を設定します。Object Storage の Region は、使用する Region に合わせて適宜変更してください。リージョン名はこちらに一覧で書かれています。
Allow service blockstorage, objectstorage-ap-tokyo-1, objectstorage-ap-osaka-1, FssOc1Prod, oke to use keys in tenancy
Bucket の作成
Object Storage で Bucket を作成するときに、Key を指定します。もちろん、作成後でも Key の変更が可能です。
Create Bucket を押します
適当にパラメータを入力します。ENCRYPT USING CUSTOMER-MANAGED KEYS を選択して、 Key Management 上の Key を指定しています。
これで、指定した Key でデータが暗号化された Bucket が出来ました。
別のキーを割り当てて、再暗号化
Key Managent 上で別の Key を生成して、Object Storage に紐づけができます。別の Key で再度暗号化することで、Key の漏洩に対してセキュリティを高める効果があります。
再暗号化をするために、最低でも1個以上の Object をアップロードが必要です。適当にアップロードしたあとに、Encryption Key を Edit します。
新しい Key2 を指定します。
新しい Key で再度暗号化をするには、Re-encrypt を押します
Re-encrypt
Work Request の画面で、再暗号化の進捗を確認できます。
Completed になっていることを確認できます
参考URL