PutBucketOverwriteConfig 操作を呼び出して、バケットの上書き保護を設定します。これにより、指定されたオブジェクトが上書きされるのを防ぎます。
注意事項
forbid のみを設定すると、すべての場合で上書きが禁止されます。この設定はリスクが高いため、注意が必要です。
PutBucketOverwriteConfig 操作には上書きセマンティクスがあります。たとえば、バケットに Rule1 という名前の上書き保護ルールが設定されていて、Rule2 という別のルールを追加する場合は、次の手順を実行する必要があります:
GetBucketOverwriteConfig 操作を呼び出して、Rule1 を含む現在の構成を取得します。
取得した構成に Rule2 を追加します。
PutBucketOverwriteConfig 操作を呼び出して、Rule1 と Rule2 の両方を含む新しい構成をアップロードします。
GetBucketOverwriteConfig が 404 エラーを返した場合、バケットに上書き保護は設定されていません。その場合、PutBucketOverwriteConfig を直接呼び出して新しいルールを設定できます。
1 つのバケットには、最大 100 個の上書き保護ルールを設定できます。
Prefix と Suffix の最大長は 1,023 文字です。
各ルールには、最大で 1 つのプレフィックスと 1 つのサフィックスを設定できます。プレフィックスとサフィックスは正規表現をサポートしていません。アスタリスク (*) を入力した場合、それは文字列として扱われます。
ID はオプションです。ID を指定しない場合、UUID がランダムに生成されます。ID を指定する場合、その値は一意である必要があります。異なるルールで同じ ID を使用することはできません。
Principal はアスタリスク (*) ワイルドカードをサポートしています。Principal の設定方法の詳細については、「バケットポリシーの例」をご参照ください。
ルールは、そのすべてのフィルター条件 (Prefix、Suffix、Principals) が満たされた場合にのみ一致します。いずれかのルールが一致すると、上書き保護ルールがトリガーされ、上書きリクエストは拒否されます。
権限
Alibaba Cloud アカウントはデフォルトですべての権限を持っています。Alibaba Cloud アカウント配下の Resource Access Management (RAM) ユーザーまたは RAM ロールは、デフォルトでは権限を持っていません。RAM ポリシーまたはバケットポリシーを使用して、RAM ユーザーまたは RAM ロールに権限を付与する必要があります。
API | アクション | 説明 |
PutBucketOverwriteConfig |
| バケットの上書き保護を設定します。 |
リクエスト構文
PUT /?overwriteConfig HTTP/1.1
Host: bucket-name.oss-cn-hangzhou.aliyuncs.com
Authorization: SignatureValue
<?xml version="1.0" encoding="UTF-8"?>
<OverwriteConfiguration>
<Rule>
<ID>string</ID>
<Action>forbid</Action>
<Prefix>string</Prefix>
<Suffix>string</Suffix>
<Principals>
<Principal>string</Principal>
</Principals>
</Rule>
</OverwriteConfiguration>リクエストヘッダー
この操作では、共通リクエストヘッダーのみを使用します。詳細については、「共通リクエストヘッダー」をご参照ください。
リクエスト要素
名前 | 型 | 必須 | 例 | 説明 |
OverwriteConfiguration | コンテナ | はい | なし | 上書き保護設定のルートノードです。 |
Rule | コンテナ | はい | なし | 上書き保護ルール。1 つのバケットには最大 100 個のルールを設定できます。 |
ID | 文字列 | いいえ | rule-001 | ルールの一意の識別子。この要素を指定しない場合、UUID がランダムに生成されます。この要素を指定する場合、値は一意である必要があります。異なるルールで同じ ID を使用することはできません。 |
Action | 文字列 | はい | forbid | 操作タイプ。現在、`forbid` (上書きを禁止) のみがサポートされています。 |
Prefix | 文字列 | いいえ | a/ | 処理対象のオブジェクトをフィルタリングするためのオブジェクト名のプレフィックス。最大長は 1,023 文字です。各ルールには最大 1 つのプレフィックスを設定できます。プレフィックスとサフィックスは正規表現をサポートしていません。 |
Suffix | 文字列 | いいえ | .txt | 処理対象のオブジェクトをフィルタリングするためのオブジェクト名のサフィックス。最大長は 1,023 文字です。各ルールには最大 1 つのサフィックスを設定できます。プレフィックスとサフィックスは正規表現をサポートしていません。 |
Principals | コンテナ | いいえ | なし | 承認されたエンティティのコレクション。使用方法はバケットポリシーの `Principal` 要素に似ています。Alibaba Cloud アカウント、RAM ユーザー、または RAM ロールを指定できます。この要素が空であるか、設定されていない場合、プレフィックスとサフィックスの条件に一致するすべてのオブジェクトの上書きが禁止されます。 |
Principal | 文字列 | いいえ | 27737962156157xxxx | 承認されたエンティティ。Alibaba Cloud アカウント、RAM ユーザー、または RAM ロールを指定できます。この要素が空の場合、設定は無効になります。 |
レスポンス要素
この操作はレスポンス要素を返しません。
レスポンスヘッダー
この操作では、共通レスポンスヘッダーのみを使用します。詳細については、「共通レスポンスヘッダー」をご参照ください。
例
リクエスト例
PUT /?overwriteConfig HTTP/1.1 Host: bucket-name.oss-cn-hangzhou.aliyuncs.com Authorization: SignatureValue <?xml version="1.0" encoding="UTF-8"?> <OverwriteConfiguration> <Rule> <ID>rule-001</ID> <Action>forbid</Action> <Prefix>a/</Prefix> <Suffix>.txt</Suffix> <Principals> <Principal>27737962156157xxxx</Principal> </Principals> </Rule> <Rule> <ID>rule-002</ID> <Action>forbid</Action> <Prefix>images/</Prefix> </Rule> <Rule> <ID>rule-003</ID> <Action>forbid</Action> <Suffix>.jpg</Suffix> </Rule> <Rule> <ID>rule-004</ID> <Action>forbid</Action> <Principals> <Principal>27737962156157xxxx</Principal> </Principals> </Rule> </OverwriteConfiguration>レスポンス例
HTTP/1.1 200 OK x-oss-request-id: 5C4E5B5C5E5F5A5B5C5D5XXX Date: Mon, 25 Nov 2025 15:00:59 GMT