このトピックでは、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 ユーザーへの権限付与」をご参照ください。
手順
Alibaba Cloud アカウント B で、バケットポリシーを使用して、Alibaba Cloud アカウント A の RAM ユーザーに
oss:PutObject権限を付与します。Alibaba Cloud アカウント B で OSS コンソールにログインします。
左側のナビゲーションウィンドウで、バケット をクリックします。 [バケット] ページで、暗号化する OSS リソースを格納するバケットの名前をクリックします。
左側のナビゲーションツリーで、 を選択します。
バケット承認ポリシー タブで GUI で追加 をクリックし、新規権限 をクリックします。
新規権限 パネルで、次の表で説明されているパラメーターを設定します。 次に、OK をクリックします。
パラメーター
説明
関連リソース
バケット全体 を選択します。
承認済みユーザー
[その他のアカウント] を選択し、Alibaba Cloud アカウント A の RAM ユーザーの ID を入力します。
許可された操作
[詳細設定] を選択します。
効果
許可する を選択します。
アクション
ドロップダウンリストから
oss:PutObjectを選択します。
Alibaba Cloud アカウント A の RAM ユーザーを使用して、Alibaba Cloud アカウント B のバケット内のオブジェクトを暗号化します。
OSS コンソールの使用
Alibaba Cloud アカウント A の RAM ユーザーとして Alibaba Cloud 管理コンソールにログインします。 詳細については、「RAM ユーザーとして Alibaba Cloud 管理コンソールにログインする」をご参照ください。
Alibaba Cloud アカウント A の RAM ユーザーとして OSS ファイルアップロードページにログインします。
ファイルアップロードページの URL は
https://oss.console.alibabacloud.com/bucket/{regionid}/{bucketname}/object/uploadです。 {regionid} をバケットのリージョンに、{bucketname} をバケットの名前に置き換えます。オブジェクトをアップロードし、オブジェクトの暗号化方式を [KMS] に設定します。 Alibaba Cloud アカウント A によって作成された CMK を指定します。
詳細については、「簡易アップロード」をご参照ください。
ossutil の使用
Alibaba Cloud アカウント A の RAM ユーザーのアクセス資格情報を設定します。
Alibaba Cloud アカウント B を使用して作成されたバケットのエンドポイントで
endpointを置き換えます。 Alibaba Cloud アカウント A に属する RAM ユーザーのアクセス資格情報でaccessKeyIDとaccessKeySecretを置き換えます。[Credentials] endpoint = oss-cn-hangzhou.aliyuncs.com accessKeyID = LTAI************* accessKeySecret = 67DL*******************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******