オブジェクト・ストレージ・オブジェクトの再暗号化

オブジェクト・ストレージ・バケット内の異なるマスター暗号化キーを持つオブジェクトのデータ暗号化キーを再暗号化します。

オブジェクトを暗号化するデータ暗号化キーは、バケットに割り当てられた最新バージョンのマスター暗号化キーを使用してオブジェクトのデータ暗号化キーを再暗号化することで再暗号化できます。この再暗号化は、Oracle管理キーであるか、管理するボールト内のキーであるかに関係なく可能です。ボールト内の異なるキーまたは異なるSSE-Cキーを使用して、オブジェクトのデータ暗号化キーを再暗号化することもできます。SSE-Cキーを使用する場合は、オブジェクトの復号化および後続の再暗号化プロセス中に必要に応じてSSE-Cキーを指定する必要があります。

オブジェクトを再暗号化するには、OBJECT_READおよびOBJECT_OVERWRITE権限が必要です。SSE-Cキーで暗号化したオブジェクトを再暗号化するには、必要に応じて復号化および再暗号化中に使用するために、CLIを使用してSSE-Cキーをオブジェクト・ストレージに提供する必要があります。

エラーを受け取った場合は、適切な権限があることを確認します。オブジェクトにアクセスできる場合は、オブジェクトが存在し、最近削除されていないことを確認します。権限があり、オブジェクトが存在する場合は、SSE-Cキーでオブジェクトが暗号化されているかどうかも確認します。

詳細は、オブジェクト・ストレージ・データの暗号化を参照してください。

    1. ナビゲーション・メニューを開き、「ストレージ」をクリックします。「Object Storage & Archive Storage」で、「Buckets」をクリックします。
    2. 「リスト範囲」の下のリストからコンパートメントを選択します。そのコンパートメント内のすべてのバケットが表形式でリストされます。
    3. オブジェクトを再暗号化するバケットをクリックします。バケットの「詳細」ページが表示されます。
    4. 「リソース」の下の「オブジェクト」をクリックします。「オブジェクト」リストが表示されます。すべてのフォルダおよびオブジェクトが表形式でリストされます。
    5. オブジェクト名の横にある「アクション」メニュー(アクション・メニュー)をクリックし、「再暗号化」を選択します。「オブジェクトの再暗号化」ダイアログ・ボックスが表示されます。
    6. 次のタスクのいずれかを、バケットに割り当てられたキーがOracle管理キーか、ユーザーが管理するボールト内のキーかに応じて実行します:
      • Oracle管理キーで暗号化されたバケットの場合、「バケットに割り当てられたキーを使用」をクリックすると、そのキーの最新バージョンでオブジェクトを再暗号化できます。または、「顧客管理キーの使用」をクリックし、アクセスできるコンパートメントおよびボールトからキーを選択することで、ボールト内のキーでオブジェクトを再暗号化できます。

      • 顧客管理キーで暗号化されたバケットの場合、「バケットに割り当てられたキーを使用」をクリックすると、そのキーの最新バージョンでオブジェクトを再暗号化できます。または、「別の顧客管理キーの使用」をクリックし、アクセスできるコンパートメントおよびボールトから別のキーを選択することで、別のVaultキーでオブジェクトを再暗号化できます。

    7. 「再暗号化」をクリックします。
  • バケットに割り当てられたキーの最新バージョンでオブジェクトのデータ暗号化キーを再暗号化するには、oci os object reencryptコマンドと必要なパラメータを使用します:

    oci os object reencrypt --bucket-name bucket_name --name object_name

    例:

    oci os object reencrypt --bucket-name MyBucket --name MyFile.txt

    オブジェクトのデータ暗号化キーは、追加の情報が返されることなく再暗号化されます。

    SSE-Cキーを使用した暗号化

    SSE-Cキーを使用してオブジェクトのデータ暗号化キーを再暗号化できます。

    oci os object reencrypt --bucket-name bucket_name --name object_name --encryption-key-file file_containing_base64-encoded_AES-256_key

    例:

    oci os object reencrypt --bucket-name MyBucket --name MyFile.txt --encryption-key-file MySSE-CKey

    オブジェクトのデータ暗号化キーがSSE-Cキーで現在暗号化されている場合は、source-encryption-key-fileパラメータを含めて、最初にオブジェクトを復号化するために、AES-256ソース暗号化キーのbase64エンコード文字列を含むファイルの名前も指定します。

    oci os object reencrypt --bucket-name bucket_name --name object_name --source-encryption-key-file file_containing_base64-encoded_AES-256_key

    例:

    oci os object reencrypt --bucket-name MyBucket --name MyFile.txt --source-encryption-key-file MySSE-CKey

    オブジェクトがSSE-Cキーで現在暗号化されており、オブジェクトのデータ暗号化キーを別のSSE-Cキーで暗号化する場合は、各キーのファイル名を指定します。

    oci os object reencrypt --bucket-name bucket_name --name object_name --source-encryption-key-file file_containing_base64-encoded_AES-256_key_currently_assigned --encryption-key-file file_containing_base64-encoded_AES-256_key_desired

    例:

    oci os object reencrypt --bucket-name MyBucket --name MyFile.txt --source-encryption-key-file MySSE-CKey --encryption-key-file MyNewSSE-CKey

    Vaultキーを使用した暗号化

    特定のVaultキーでオブジェクトのデータ暗号化キーを再暗号化するには、kms-key-idパラメータを含めます。

    oci os object reencrypt --bucket-name bucket_name --name object_name --kms-key-id kms_key_OCID

    例:

    oci os object reencrypt --bucket-name MyBucket --name MyFile.txt --kms-key-id ocid1.key.region1.sea.exampleaaacu2..exampleuniqueID

    SSE-CキーとVaultキーの両方を使用した暗号化

    キーがSSE-Cキーで暗号化され、特定のVaultキーでオブジェクトのデータ暗号化キーを再暗号化する場合は、最初にオブジェクトを復号化するために、AES-256ソース暗号化キーのbase64エンコード文字列を含むファイルの名前を指定するsource-encryption-key-fileパラメータを含める必要があります。

    oci os object reencrypt --bucket-name bucket_name --name object_name --source-encryption-key-file file_containing_base64-encoded_AES-256_key --kms-key-id kms_key_OCID

    例:

    oci os object reencrypt --bucket-name MyBucket --name MyFile.txt --source-encryption-key-file MySSE-CKey --kms-key-id ocid1.key.region1.sea.exampleaaacu2..exampleuniqueID

    CLIコマンドのパラメータおよび値の完全なリストは、CLIコマンド・リファレンスを参照してください。

  • ReencryptObject操作を実行して、バケットに割り当てられたキーの最新のキー・バージョンでオブジェクトのデータ暗号化キーを再暗号化します。

    オブジェクト・ストレージは、APIで使用するURLを作成する際に、オブジェクト・ストレージ・ネームスペース文字列とバケット名をオブジェクト名の先頭に付加します:

    /n/object_storage_namespace/b/bucket/o/object_name

    オブジェクト名は、/o/の後のすべてになります。これには、階層レベルおよび接頭辞文字列を含めることができます。