GET Bucket policy¶
バケットポリシー設定内容を返します。
Note
- バケットの所有者は常にこの操作を行うことができます
- 対象バケットに対する`dag:GetBucketPolicy` 権限がバケットポリシーで付与されている認証ユーザーは本操作を行うことができます
- 権限を付与したとしても匿名ユーザがこの操作を行うことはできません
- デフォルトではバケットの所有者だけがこの操作を行うことができます
- バケットポリシーについての詳細はバケットポリシーをご覧ください
Warning
バケットポリシーを設定することで、本APIの操作を他ユーザに許可することが可能です。
その際は、設定を慎重に検討してください。
以下のサンプルでは、バケットポリシーの参照を 自契約以外も含む全認証ユーザに許可 してしまっています。
このような状態ではバケットポリシーの設定情報を意図せず参照される可能性があります。
{
"Version": "2008-10-17",
"Id": "policy-allow-all",
"Statement": {
"Sid": "allow-all",
"Effect": "Allow",
"Principal": {
"IIJGIO": "*"
},
"Resource" , "grn:iijgio:dag:::bucket",
"Action": "dag:DeleteBucketPolicy"
}
}
Conditionを設定する、Principalにワイルドカードを使わないなど、アクセス範囲を制限するよう検討ください。
ポリシーの設定は十分に理解、検証を行ったうえで適用をお願いします。
なお、ここでのサンプルは誤用防止の為に意図的にJSONとして不正な構造にしています。
リクエスト情報¶
シンタックス¶
GET /?policy HTTP/1.1
Host: {bucket name}.storage-dag.iijgio.com
Date: {date}
Authorization: {authorization string}
リクエストパラメータ¶
この操作ではリクエストパラメータは使用しません。
リクエストヘッダー¶
この操作では基本リクエストヘッダーのみ使用します。
リクエストエレメント¶
この操作ではリクエストエレメントは使用しません。
サンプル¶
- バケットポリシー設定を取得するサンプル
- リクエスト
GET /?policy HTTP/1.1 Host: bucket.storage-dag.iijgio.com Date: Wed, 28 Oct 2009 22:32:00 GMT Authorization: IIJGIO 02236Q3V0WHVSRSAMPLEX5sCYVf1bNRuU=
- レスポンス
HTTP/1.1 200 OK x-iijgio-id-2: Uuag1LuByru9pO4SAMPLEAtRPfTaOFg== x-iijgio-request-id: 656c76696e67SAMPLE57374 Date: Tue, 04 Apr 2010 20:34:56 GMT Server: storage-dag.iijgio.com { "Version": "2008-10-17", "Id": "aaaa-bbbb-cccc-dddd", "Statement": [ { "Effect":"Deny ", "Sid":"1", "Principal": { "IIJGIO": ["1-22-333-4444","3-55-678-9100"] }, "Action": ["dag:*"], "Resource": "grn:iijgio:dag:::bucket/*" } ] }
PUT Bucket policy¶
バケットポリシーを追加および更新します。既にバケットがバケットポリシーを持っている場合、完全に置き換えられます。
Note
- バケットの所有者は常にこの操作を行うことができます
- 対象バケットに対する`dag:PutBucketPolicy` 権限がバケットポリシーで付与されているユーザーは本操作を行うことができます
- 権限を付与したとしても匿名ユーザがこの操作を行うことはできません
- デフォルトではバケットの所有者だけがこの操作を行うことができます
- バケットポリシーについての詳細はバケットポリシーをご覧ください
Warning
本項で説明する「PUT Bucket policy」APIは、このAPIの操作権限自体を他者に委譲する設定も行う事が可能です。本APIの操作を別ユーザに対してバケットポリシーで許可する場合、ワイルドカードの指定には特に注意してください。
以下のサンプルでは、バケットポリシーの操作を 自契約以外も含む全ユーザに許可 してしまっています。
このような状態では、ポリシーの書換えが可能であるためアクセス権を意図せず変更されるなど深刻な事態に至る可能性があります。
{
"Version": "2008-10-17",
"Id": "policy-allow-all",
"Statement": {
"Sid": "allow-all",
"Effect": "Allow",
"Principal": {
"IIJGIO": "*"
},
"Resource" , "grn:iijgio:dag:::bucket",
"Action": "dag:PutBucketPolicy"
}
}
Conditionを設定する、Principalにワイルドカードを使わないなど、アクセス範囲を制限するよう検討ください。
ポリシーの設定は十分に理解、検証を行ったうえで適用をお願いします。
なお、ここでのサンプルは誤用防止の為に意図的にJSONとして不正な構造にしています。
リクエスト情報¶
シンタックス¶
PUT /?policy HTTP/1.1
Host: {bucket name}.storage-dag.iijgio.com
Date: {date}
Authorization: {authorization string}
{Policy written in JSON}
リクエストパラメータ¶
この操作ではリクエストパラメータは使用しません。
リクエストヘッダー¶
この操作では基本リクエストヘッダーのみ使用します。
リクエストエレメント¶
バケットポリシー設定内容をJSON形式で返します。
レスポンス情報¶
レスポンスヘッダー¶
この操作では基本レスポンスヘッダーのみ返します。
レスポンスエレメント¶
この操作はレスポンスエレメントを返しません。
エラー情報¶
この操作では以下のエラーを返します。
コード | ステータス | 内容 |
---|---|---|
InvalidAccessKeyId | 403 Forbidden | 指定のアクセスキーIDを持つユーザが存在しません。 |
SignatureDoesNotMatch | 403 Forbidden | 指定されたリクエストのシグネチャが一致しません。 |
AccessDenied | 403 Forbidden | ユーザがPutBucketPolicyの権限がありません。 |
AccessDenied | 403 Forbidden | アクセス権限がありません。 |
MethodNotAllowd | 405 Method Not Allowed | 指定のメソッドは、このリソース下では許可されていません。 |
サンプル¶
- バケットポリシーを設定するサンプル
- リクエスト
PUT /?policy HTTP/1.1 Host: bucket.storage-dag.iijgio.com Date: Tue, 04 Apr 2010 20:34:56 GMT Authorization: IIJGIO VGhpcyBtdlISAMPLEBlbHZpbmc= { "Version":"2008-10-17", "Id":"aaaa-bbbb-cccc-dddd", "Statement" : [{ "Effect":"Allow", "Sid":"1", "Principal" : { "IIJGIO":["1-22-333-4444","3-55-678-9100"] }, "Action":["dag:*"], "Resource":"grn:iijgio:dag:::bucket/*" }] }
- レスポンス
HTTP/1.1 204 No Content x-iijgio-id-2: Uuag1LuByR5Onimru9SAMPLEAtRPfTaOFg== x-iijgio-request-id: 656c76696e6727732SAMPLE7374 Date: Tue, 04 Apr 2010 20:34:56 GMT Server: storage-dag.iijgio.com
DELETE Bucket policy¶
バケットポリシー設定を削除します。
Note
- バケットの所有者は常にこの操作を行うことができます
- 対象バケットに対する`dag:DeleteBucketPolicy` 権限がバケットポリシーで付与されているユーザーは本操作を行うことができます
- 権限を付与したとしても匿名ユーザがこの操作を行うことはできません
- デフォルトではバケットの所有者だけがこの操作を行うことができます
- バケットポリシーについての詳細はバケットポリシーをご覧ください
Warning
バケットポリシーを設定することで、本APIの操作を他ユーザに許可することが可能です。
その際は、設定を慎重に検討してください。
以下のサンプルでは、バケットポリシーの削除を 自契約以外も含む全認証ユーザに許可 してしまっています。
このような状態では意図せずポリシーの削除が実行される可能性があります。
{
"Version": "2008-10-17",
"Id": "policy-allow-all",
"Statement": {
"Sid": "allow-all",
"Effect": "Allow",
"Principal": {
"IIJGIO": "*"
},
"Resource" , "grn:iijgio:dag:::bucket",
"Action": "dag:DeleteBucketPolicy"
}
}
Conditionを設定する、Principalにワイルドカードを使わないなど、アクセス範囲を制限するよう検討ください。
ポリシーの設定は十分に理解、検証を行ったうえで適用をお願いします。
なお、ここでのサンプルは誤用防止の為に意図的にJSONとして不正な構造にしています。
リクエスト情報¶
シンタックス¶
DELETE /?policy HTTP/1.1
Host: {bucket name}.storage-dag.iijgio.com
Date: {date}
Authorization: {authorization string}
リクエストパラメータ¶
この操作ではリクエストパラメータは使用しません。
リクエストヘッダー¶
この操作では基本リクエストヘッダーのみ使用します。
リクエストエレメント¶
この操作ではリクエストエレメントは使用しません。
レスポンス情報¶
レスポンスヘッダー¶
この操作では基本レスポンスヘッダーのみ返します。
レスポンスエレメント¶
要求が失敗した場合のエラーコードをステータスに含みます。
エラー情報¶
この操作では以下のエラーを返します。
コード | ステータス | 内容 |
---|---|---|
InvalidAccessKeyId | 403 Forbidden | 指定のアクセスキーIDを持つユーザが存在しません。 |
SignatureDoesNotMatch | 403 Forbidden | 指定されたリクエストのシグネチャが一致しません。 |
AccessDenied | 403 Access Denied | ユーザがDeleteBucketPolicyの権限がありません。 |
AccessDenied | 403 Forbidden | アクセス権限がありません。 |
MethodNotAllowd | 405 Method Not Allowed | 指定のメソッドは、このリソース下では許可されていません。 |
該当なし | 204 No Content | バケットに対するバケットポリシーが存在しません。 |
サンプル¶
- BucketNameという名のバケットのバケットポリシーを削除するサンプル
- リクエスト
DELETE /?policy HTTP/1.1 Host: BucketName.storage-dag.iijgio.com Date: Tue, 04 Apr 2010 20:34:56 GMT Authorization: IIJGIO VGhpcyBSAMPLEeSBlbHZpbmc=
- レスポンス
HTTP/1.1 204 No Content x-iijgio-id-2: Uuag1LuByRx9e6j5OnimrSAMPLEtRPfTaOFg== x-iijgio-request-id: 656c76696e672SAMPLE5657374 Date: Tue, 04 Apr 2010 20:34:56 GMT Connection: keep-alive Server: storage-dag.iijgio.com