すべてのプロダクト
Search
ドキュメントセンター

Object Storage Service:KMS を使用して Alibaba Cloud アカウント間で OSS リソースを暗号化するにはどうすればよいですか?

最終更新日:Nov 09, 2025

このトピックでは、Alibaba Cloud アカウント A を使用して、Alibaba Cloud アカウント B の Object Storage Service (OSS) リソースを Key Management Service (KMS) を使用して暗号化する方法について説明します。

前提条件

  • Alibaba Cloud アカウント B を使用してバケットが作成されていること。 詳細については、「バケットの作成」をご参照ください。

  • Alibaba Cloud アカウント B によって作成されたバケットが配置されているリージョンで、Alibaba Cloud アカウント A を使用してカスタマーマスターキー (CMK) が作成されていること。 詳細については、「CMK の作成」をご参照ください。

  • Alibaba Cloud アカウント A に属する Resource Access Management (RAM) ユーザーに AliyunKMSFullAccess 権限が付与されていること。 詳細については、「RAM ユーザーへの権限付与」をご参照ください。

手順

  1. Alibaba Cloud アカウント B で、バケットポリシーを使用して、Alibaba Cloud アカウント A の RAM ユーザーに oss:PutObject 権限を付与します。

    1. Alibaba Cloud アカウント B で OSS コンソールにログインします。

    2. 左側のナビゲーションウィンドウで、バケット をクリックします。 [バケット] ページで、暗号化する OSS リソースを格納するバケットの名前をクリックします。

    3. 左側のナビゲーションツリーで、権限管理 > バケット承認ポリシー を選択します。

    4. バケット承認ポリシー タブで GUI で追加 をクリックし、新規権限 をクリックします。

    5. 新規権限 パネルで、次の表で説明されているパラメーターを設定します。 次に、OK をクリックします。

      パラメーター

      説明

      関連リソース

      バケット全体 を選択します。

      承認済みユーザー

      [その他のアカウント] を選択し、Alibaba Cloud アカウント A の RAM ユーザーの ID を入力します。

      許可された操作

      [詳細設定] を選択します。

      効果

      許可する を選択します。

      アクション

      ドロップダウンリストから oss:PutObject を選択します。

  2. Alibaba Cloud アカウント A の RAM ユーザーを使用して、Alibaba Cloud アカウント B のバケット内のオブジェクトを暗号化します。

    OSS コンソールの使用

    1. Alibaba Cloud アカウント A の RAM ユーザーとして Alibaba Cloud 管理コンソールにログインします。 詳細については、「RAM ユーザーとして Alibaba Cloud 管理コンソールにログインする」をご参照ください。

    2. Alibaba Cloud アカウント A の RAM ユーザーとして OSS ファイルアップロードページにログインします。

      ファイルアップロードページの URL は https://oss.console.alibabacloud.com/bucket/{regionid}/{bucketname}/object/upload です。 {regionid} をバケットのリージョンに、{bucketname} をバケットの名前に置き換えます。

    3. オブジェクトをアップロードし、オブジェクトの暗号化方式を [KMS] に設定します。 Alibaba Cloud アカウント A によって作成された CMK を指定します。

      詳細については、「簡易アップロード」をご参照ください。

    ossutil の使用

    1. Alibaba Cloud アカウント A の RAM ユーザーのアクセス資格情報を設定します。

      Alibaba Cloud アカウント B を使用して作成されたバケットのエンドポイントで endpoint を置き換えます。 Alibaba Cloud アカウント A に属する RAM ユーザーのアクセス資格情報で accessKeyIDaccessKeySecret を置き換えます。

      [Credentials]
      endpoint = oss-cn-hangzhou.aliyuncs.com
      accessKeyID = LTAI*************
      accessKeySecret = 67DL*******************
    2. Alibaba Cloud アカウント A の RAM ユーザーとして次のコマンドを実行し、examplefile.txt オブジェクトを Alibaba Cloud アカウント B の examplebucket バケットにアップロードします。 暗号化方式を KMS に、暗号化アルゴリズムを AES256 に、暗号鍵を Alibaba Cloud アカウント A によって作成された CMK に設定します。

      ossutil api put-object --bucket examplebucket --key examplefile.txt  --server-side-encryption KMS --server-side-data-encryption AES256 --server-side-encryption-key-id 7bd6e2fe-cd0e-483e-acb0-f4b9e1******

      Alibaba Cloud アカウント A の RAM ユーザーがリソースをアップロードし、指定された CMK が SM4 暗号化アルゴリズムを使用する場合、x-oss-server-side-data-encryption ヘッダーでアルゴリズムを指定する必要があります。 以下に例を示します。

      ossutil api put-object --bucket examplebucket --key examplefile.txt  --server-side-encryption KMS --server-side-data-encryption SM4 --server-side-encryption-key-id 7bd6e2fe-cd0e-483e-acb0-f4b9e1******