この操作では、バケットの暗号化ルールを設定できます。
説明 バケットの暗号化ルールを設定できるのは、バケット所有者または許可されたRAMユーザーのみです。 それ以外の場合、OSSは403エラーを返します。 バケット暗号化の詳細については、「サーバー側暗号化」をご参照ください。
リクエストの構造
PUT /? 暗号化HTTP/1.1
日付: GMT日付
Content-Length: ContentLength
Content-Type: application/xml
ホスト: BucketName.oss.aliyuncs.com
権限付与: SignatureValue
<? xml version="1.0" encoding="UTF-8"? >
<ServerSideEncryptionRule>
<ApplyServerSideEncryptionByDefault>
<SSEAlgorithm>AES256</SSEAlgorithm>
<KMSMasterKeyID></KMSMasterKeyID>
</ApplyServerSideEncryptionByDefault>
</ServerSideEncryptionRule>
リクエスト要素
要素 | データ型 | 必須 | 説明 |
ServerSideEncryptionRule | Container | 必須 | サーバー側の暗号化ルールを格納するコンテナー。 子ノード: ApplyServerSideEncryptionByDefault |
ApplyServerSideEncryptionByDefault | Container | 必須 | 既定のサーバー側暗号化方式を格納するコンテナー。 子ノード: SSEAlgorithmおよびKMSMasterKeyID |
SSEAlgorithm | String | 必須 | デフォルトのサーバー側暗号化方法。 有効な値: KMS、AES256. CMKを使用してデータを暗号化または復号化する場合、API操作の呼び出しに対して課金されます。 料金の詳細については、「KMS料金」をご参照ください。 クロスリージョンレプリケーションでは、宛先バケットに既定のサーバー側暗号化方式が設定されており、レプリケーションルールでReplicaCMKIDが設定されている場合:
詳細については、「サーバー側暗号化によるクロスリージョンレプリケーションの使用」をご参照ください。 |
KMSDataEncryption | String | 任意 | オブジェクトの暗号化に使用されるアルゴリズム。 この要素が指定されていない場合、オブジェクトはAES256を使用して暗号化されます。 この要素は、SSEAlgorithmの値がKMSに設定されている場合にのみ有効です。 有効値: SM4。 |
KMSMasterKeyID | String | 任意 | SSEAlgorithmがKMSに設定され、指定されたCMKが暗号化に使用される場合に指定する必要があるCMK ID。 それ以外の場合は、この要素をnullに設定する必要があります。 |
例
- リクエストの例
- 暗号化方法をSSE-KMSに設定する
次のサンプルリクエストを送信して、oss-exampleという名前のバケットの暗号化メソッドをSSE-KMSするように設定できます。
PUT /? 暗号化HTTP/1.1 日付: 11月5日木曜日11:09:13 GMT 2020 Content-Length: ContentLength Content-Type: application/xml ホスト: oss-example.oss-cn-hangzhou.aliyuncs.com 権限付与: OSS qn6qrrqxo2oawuk53otf ****:ceOEyZavKY4QcjoUWYSpYbJ3 **** <? xml version="1.0" encoding="UTF-8"? > <ServerSideEncryptionRule> <ApplyServerSideEncryptionByDefault> <SSEAlgorithm>KMS</SSEAlgorithm> <KMSMasterKeyID>9468da86-3509-4f8d-a61e-6eab1eac ****</KMSMasterKeyID> </ApplyServerSideEncryptionByDefault> </ServerSideEncryptionRule>
- 暗号化方法をSSE-KMSに設定する
- HTTP/1.1 200のサンプル応答
2020OK x-oss-request-id: 5C1B138A109F4E405B2D **** 日付: 11月5日木曜日11:09:13 GMT
SDK
次のプログラミング言語のOSS SDKを使用して、PutBucketEncryption操作を呼び出すことができます。
エラーコード
エラーコード | HTTPステータスコード | 説明 |
InvalidEncryptionAlgorithmError | 400 | SSEAlgorithmの値がKMSまたはAES256でない場合に返されるエラー。 次のエラーメッセージが返されます。指定した暗号化要求は無効です。 サポートされている値: AES256/KMS 。 |
InvalidArgument | 400 | SSEAlgorithmの値がAES256であるが、KMSMasterKeyIDが指定されている場合に返されるエラー。 次のエラーメッセージが返されます。デフォルトのsseアルゴリズムがKMSでない場合、KMSMasterKeyIDは適用されません 。 |