バケット内のオブジェクトのアクセス制御リスト (ACL) を照会します。
バージョン管理
既定では、GetObjectACL操作を呼び出してオブジェクトのACLを照会すると、オブジェクトの現在のバージョンのACLのみが返されます。 リクエストでversionIdパラメーターを指定して、指定したバージョンのオブジェクトのACLを照会できます。 指定されたバージョンが削除マーカーである場合、Object Storage Service (OSS) は404 Not Foundを返します。
GetObjectACL操作を呼び出して、ACLが設定されていないオブジェクトのACLを照会すると、OSSはこのオブジェクトのデフォルトACLを返します。 この場合、このオブジェクトのACLは、オブジェクトが格納されているバケットのACLと同じです。 たとえば、オブジェクトが格納されているバケットのACLがプライベートの場合、オブジェクトのACLもプライベートです。
リクエスト構文
GET /ObjectName?acl HTTP/1.1
ホスト: BucketName.oss-cn-hangzhou.aliyuncs.com
日付: GMT日付
権限付与: SignatureValue
リクエストヘッダー
このリクエストには、共通リクエストヘッダーのみが含まれます。 詳細については、「共通HTTPヘッダー」をご参照ください。
レスポンスヘッダー
このリクエストには、共通のレスポンスヘッダーのみが含まれます。 詳細については、「共通HTTPヘッダー」をご参照ください。
レスポンス要素
要素 | データ型 | 説明 |
AccessControlList | Container | ACL情報を格納するコンテナー。 親ノード: AccessControlPolicy |
AccessControlPolicy | Container | GetObjectACLリクエストの結果を格納するコンテナー。 親ノード: なし |
DisplayName | String | バケット所有者の名前。ユーザーIDと同じです。 親ノード: AccessControlPolicy.Owner |
助成金 | Enumerated string | オブジェクトのACL。 デフォルト値:default。 有効な値:
親ノード: AccessControlPolicy.AccessControlList |
ID | String | バケット所有者のユーザーID。 親ノード: AccessControlPolicy.Owner |
所有者 | Container | バケット所有者に関する情報を格納するコンテナー。 親ノード: AccessControlPolicy |
例
バージョン化されていないバケット内のオブジェクトのACLを照会する
リクエストの例
GET /test-object?acl HTTP/1.1 ホスト: oss-example.oss-cn-hangzhou.aliyuncs.com 日付: 4月29日水曜日05:21:12 GMT 2015 承認: OSS qn6qrrqxo2oawuk53otfjbyc:CTkuxpLAi4XZ + WwIfNm0Fmgb ****
レスポンスの例
HTTP/1.1 200 OK x-oss-request-id: 559CC9BDC755F95A64485981 日付: 4月29日水曜日05:21:12 GMT 2015 コンテンツ-長さ: 253 Content-Type: application/xml 接続: キープアライブ サーバー: AliyunOSS <?xml version="1.0" ?> <AccessControlPolicy> <Owner> <ID>00220120222</ID> <DisplayName>00220120222</DisplayName> </Owner> <AccessControlList> <Grant>public-read </Grant> </AccessControlList> </AccessControlPolicy>
バージョン管理されたバケット内のオブジェクトのACLを照会する
リクエストの例
GET /example?acl&versionId=CAEQMhiBgMC1qpSD0BYiIGQ0ZmI5ZDEyYWVkNTQwMjBiNTliY2NjNmY3ZTVk **** HTTP/1.1 ホスト: oss-example.oss-cn-hangzhou.aliyuncs.com 日付: 4月2019日火曜日06:30:10 GMT 承認: OSS qctg2ns3l8u51iu:w4DK66Kb/0M9GJKdsrpNs8l1 ****
レスポンスの例
HTTP/1.1 200 OK x-oss-version-id: CAEQMhiBgMC1qpSD0BYiIGQ0ZmI5ZDEyYWVkNTQwMjBiNTliY2NjNmY3ZTVk **** x-oss-request-id: 5CAC3BF2B7AEADE017000621 日付: 4月2019日火曜日06:30:10 GMT コンテンツ-長さ: 261 Content-Type: application/xml 接続: キープアライブ サーバー: AliyunOSS <?xml version="1.0" encoding="UTF-8"?> <AccessControlPolicy> <Owner> <ID>1234513715092****</ID> <DisplayName>1234513715092****</DisplayName> </Owner> <AccessControlList> <Grant>public-read</Grant> </AccessControlList> </AccessControlPolicy>
SDK
次のプログラミング言語のOSS SDKを使用して、GetObjectACL操作を呼び出すことができます。
エラーコード
エラーコード | HTTPステータスコード | エラーメッセージ | 説明 |
AccessDenied | 403 | このオブジェクトに対する読み取り acl 権限がありません。 | GetObjectACL操作を実行する権限がない場合に返されるエラーメッセージ。 GetObjectACL操作を呼び出してバケット内のオブジェクトのACLを照会する権限があるのは、バケット所有者だけです。 |
FileAlreadyExists | 409 | 指定したオブジェクトは既に存在し、ディレクトリです。 | ACLを照会するオブジェクトが、階層的な名前空間機能が有効になっているバケット内のディレクトリである場合に返されるエラーメッセージ。 |