ECS:所有者以外のオブジェクト ユーザーの読み取り専用バケットACLがアップロードされたオブジェクトをダウンロードできない

摘要: このナレッジベースでは、S3ブラウザーの読み取り専用の観点から、所有者以外のオブジェクト ユーザーのバケット アクセス制御リスト(ACL)の概念について説明します。

本文章適用於 本文章不適用於 本文無關於任何特定產品。 本文未識別所有產品版本。

症狀

バケットACLを使用して、所有者以外のオブジェクト ユーザーがバケットに読み取り専用として追加されました。

バケット以外の所有者であるオブジェクト ユーザーは、バケットACLの作成前にオブジェクト バケット所有者ユーザーによってアップロードされたオブジェクトをダウンロードできません。

問題の流れは次のとおりです。

  1. オブジェクト所有者ユーザーが割り当てられたバケットが作成されました。
  2. 一部のファイルは、オブジェクト所有者ユーザーによってバケットにアップロードされました。
  3. バケットACLを使用して、所有者以外のオブジェクト ユーザーがバケットに読み取り専用として追加されました。
  4. バケットにアクセスしようとすると、所有者以外のオブジェクト ユーザーは、新しくアップロードされたオブジェクトを一覧表示してダウンロードできますが、読み取り専用バケットACLの前にアップロードされたオブジェクトをダウンロードすることはできません。オブジェクトに対するユーザー権限が、ECS UIの構成に従ってS3ブラウザーに設定されていないことが分かります。

非所有者オブジェクト ユーザーがS3ブラウザーを使用してオブジェクトをクリックすると、次のようなエラーが発生します。(アクセス拒否: アクセスが拒否されました):
所有者以外のオブジェクト ユーザーがS3ブラウザーを介してオブジェクトをクリックすると、次のようなエラーが発生します。(アクセス拒否: アクセスが拒否されました) 

オブジェクト所有者ユーザー(a_s3user)と非所有者オブジェクト ユーザー(a_s3test)のバケットACL設定は次のとおりです。
オブジェクト所有者ユーザー(a_s3user)と非所有者オブジェクト ユーザー(a_s3test)のバケットACL設定は次のとおりです

原因

S3権限は、バケット レベルまたはオブジェクト レベルで設定できます。適用されるポリシーのタイプに応じて、ECSはAWS S3と同じ原則に従います。これにより、バケット レベルまたはオブジェクト レベルで許可される操作のタイプが決まります。

  1. ECSバケット レベルでREADおよびREAD ACLが付与されている場合、非バケット所有者はバケット内のオブジェクトの一覧表示のみを行います。非バケット所有者はバケットからデータをダウンロードできません
  2. バケットにオブジェクトを書き込む場合、オブジェクトを書き込んだユーザーのみが読み取り権限を持ちます。他のユーザーがオブジェクトを読み取るには、所有者がユーザーに明示的にアクセス許可を付与する必要があります。
  3. バケット以外の所有者に権限を付与するには、S3バケット ポリシーを使用する必要があります 

次の表に、割り当て可能なACL権限を示します。適用可能な権限は、バケットのタイプによって異なります。

表1バケットACL
ACLの アクセス権
読み取り ユーザーはバケット内のオブジェクトを一覧表示できます
ACLの読み取り ユーザーはバケットACLを読み取ることができます
書き込み ユーザーはバケット内の任意のオブジェクトを作成またはアップデートできます
ACLを書き込みます。 ユーザーはバケットのACLを書き込むことができます
[Execute] ファイル システムとしてアクセスされた場合の実行権限を設定します。この権限は、ECSオブジェクト プロトコルを使用してオブジェクトにアクセスする場合には無効です。
フル コントロール ユーザーに読み取り、書き込み、ACLの読み取り、ACLの書き込みを許可します。
:  権限が付与されている場合、またはオブジェクトの一覧表示のみが許可されている場合は、所有者以外は読み取り、書き込み、読み取りACL、書き込みACLを実行できます。
特権書き込み ユーザーが通常の書き込み権限を持っていない場合に、ユーザーがバケットまたはオブジェクトへの書き込みを実行できるようにします(CASバケットに必要)
削除 ユーザーはバケットとオブジェクトを削除できます - CASバケットに必要です
なし ユーザーにはバケットに対する権限がありません。

AWSは 複数のポリシー タイプをサポートしています。  

AWSバケットACLリファレンス

次の表に、Amazon S3 が ACL でサポートするアクセス許可のセットを示します。ACL権限のセットは、オブジェクトACLとバケットACLで同じです。ただし、コンテキスト(バケットACLまたはオブジェクトACL)に応じて、これらのACL権限は特定のバケットまたはオブジェクト操作の権限を付与します。次の表に、権限のリストと、オブジェクトとバケットのコンテキストにおけるその意味を示します。

アクセス権 バケットに対して付与された場合 オブジェクトに対して付与された場合
READ 権限付与対象ユーザーがバケット内のオブジェクトを一覧表示できるようにします 権限付与対象ユーザーがオブジェクト データとそのメタデータを読み取ることを許可
WRITE 権限付与対象者は、バケット内のすべてのオブジェクトの作成、上書き、削除を行えます 該当なし
READ_ACP 権限付与対象者にバケットACLの読み取りを許可します 権限付与対象者にオブジェクトACLの読み取りを許可
WRITE_ACP 権限付与対象者は、該当するバケットのACLを書き込むことができます 権限付与対象ユーザーが該当オブジェクトのACLを書き込める
FULL_CONTROL バケットに対する読み取り、書き込み、READ_ACP、WRITE_ACP権限を受領者に許可します オブジェクトに対する読み取り、READ_ACP、WRITE_ACP権限を受取人に許可します。


Amazon S3ドキュメント

次の表は、各ACL権限が対応するアクセスポリシー権限にどのようにマッピングされるかを示しています。ご覧のとおり、アクセス ポリシーでは、ACLよりも多くの権限が許可されます。ACLは主に、ファイル システムの権限と同様に、基本的な読み取り/書き込み権限を付与するために使用します。ACL を使用するタイミングの詳細については、「使用可能なアクセス ポリシー オプションの使用に関するガイドライン」を参照してください。

ACL権限 バケットに対してACL権限が付与されている場合の対応するアクセス ポリシー権限 オブジェクトに対してACL権限が付与されている場合に対応するアクセス ポリシー権限
READ s3:ListBucket、 s3:ListBucketVersionsと s3:ListBucketMultipartUploads s3:GetObject、 s3:GetObjectVersionと s3:GetObjectTorrent
WRITE

s3:PutObject と s3:DeleteObject

また、被付与者がバケット所有者の場合、 WRITE バケット ACL のアクセス許可は、 s3:DeleteObjectVersion そのバケット内の任意のバージョンで実行されるアクション。

該当なし
READ_ACP s3:GetBucketAcl s3:GetObjectAcl と s3:GetObjectVersionAcl
WRITE_ACP s3:PutBucketAcl s3:PutObjectAcl と s3:PutObjectVersionAcl
FULL_CONTROL 付与と同等 READ、 WRITE、 READ_ACPと WRITE_ACP ACL権限:このACL権限は、対応するアクセス ポリシー権限の組み合わせにマッピングされます。 付与と同等 READ、 READ_ACPと WRITE_ACP ACL権限。したがって、このACL権限は、対応するアクセス ポリシー権限の組み合わせにマッピングされます。

解析度

オプション1:
ECSデータ アクセス ガイド』バケット ポリシーの使用方法を参照してください。すべてのアクションを許可するかまったく許可しないACLとは異なり、アクセス ポリシーは、特定のユーザーまたはすべてのユーザーに、特定のアクションに対する条件付きで詳細な権限を提供します。ポリシー条件を使用して、条件に一致するオブジェクトの範囲に権限を割り当てることができます。これを使用して、新しくアップロードされたオブジェクトに権限を自動的に割り当てることができます。

リファレンスAWS S3: 
https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectAcl.html
https://docs.aws.amazon.com/AmazonS3/latest/dev/example-bucket-policies.html
https://docs.aws.amazon.com/AmazonS3/latest/API/API_Operations.html

UI-> Manage->Bucket-> Edit bucket policyで、ポリシー エディターに次のように入力します。

{
  "Version": "2012-10-17",
  "Id": "Policy1593674317613",
  "Statement": [
    {
      "Action": [
        "s3:GetObject"
      ],
      "Resource": "bucket_name/*",
      "Effect": "Allow",
      "Principal": "read-only_user",
      "Sid": "Stmt1593673962638"
    }
  ]
}
ここで 、アクション: 「S3:GetObject」は、オブジェクトのダウンロードを許可するアクションです。
ここで 、効果: "Allow"
Where Resource": 「bucket_name/*」はバケット名です。
Where Principal": 「read-only_user」は、バケット所有者以外のユーザーです。 

オプション2:
オブジェクト所有者でS3ブラウザーを使用して、読み取り専用バケットACLの前にアップロードされたオブジェクトの認証済みユーザーの権限を変更し、所有者以外のオブジェクト ユーザーがオブジェクトをダウンロードできるようにします。
オブジェクト所有者でS3ブラウザーを使用して、事前読み取り専用バケットACLでアップロードされたオブジェクトの認証済みユーザーの権限を変更し、所有者以外のオブジェクト ユーザーがオブジェクトをダウンロードできるようにします。

其他資訊

オブジェクト所有者を介してオブジェクトをアップロードする際に問題が発生し、書き込みアクセス権を持つ認証済みユーザーに権限が適用されない場合は、ナレッジベース記事520711 
 

受影響的產品

ECS Appliance

產品

ECS Appliance, ECS Appliance Hardware Gen1 U-Series, ECS Appliance Software with Encryption, ECS Appliance Software without Encryption
文章屬性
文章編號: 000070218
文章類型: Solution
上次修改時間: 10 9月 2025
版本:  5
向其他 Dell 使用者尋求您問題的答案
支援服務
檢查您的裝置是否在支援服務的涵蓋範圍內。