本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
新增檔案共享
在您啟用和執行 S3 檔案閘道之後,可以新增其他檔案共享,以及授予 Amazon S3 儲存貯體存取權。您可以授予存取權以將儲存貯體包含在不同AWS 帳戶比您的文件共享。如需如何新增檔案共享的資訊,請參閱建立檔案共享。
授予對 Amazon S3 儲存貯體的存取權
創建文件共享時,您的文件網關需要訪問權限才能將文件上傳到 Amazon S3 存儲桶,並對其用於連接到存儲桶的任何接入點或虛擬私有雲 (VPC) 終端節點執行操作。要授予此訪問權限,您的文件網關假定AWS Identity and Access Management(IAM) 角色,此角色與授予此存取權的 IAM 政策相關聯。
此角色需要此 IAM 政策和 Security Token Service (STS) 的信任關係。政策決定角色可以執行的動作。此外,您的 S3 儲存貯體和任何關聯的存取點或 VPC 終端節點必須有允許 IAM 角色存取它們的存取政策。
您可以自行建立角色和存取政策,或者檔案閘道可以為您建立它們。如果檔案閘道為您建立政策,此政策會包含 S3 動作的清單。如需角色和許可的相關資訊,請參建立角色以將許可委派給AWS 服務中的IAM User Guide。
下列範例是信任政策,允許您的檔案閘道擔任 IAM 角色。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "storagegateway.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
如果您不希望檔案閘道代您建立政策,您可以建立自己的政策,並將它連接到您的檔案共享。如需如何進行該服務的詳細資訊,請參閱建立檔案共享。
下列範例政策允許您的檔案閘道執行政策所列的所有 Amazon S3 動作。陳述式的第一部分允許對名為 TestBucket
的 S3 儲存貯體執行所有列出的動作。第二個部分允許對 TestBucket
的所有物件執行列出的動作。
{ "Version": "2012-10-17", "Statement": [ { "Action": [ "s3:GetAccelerateConfiguration", "s3:GetBucketLocation", "s3:GetBucketVersioning", "s3:ListBucket", "s3:ListBucketVersions", "s3:ListBucketMultipartUploads" ], "Resource": "arn:aws:s3:::TestBucket", "Effect": "Allow" }, { "Action": [ "s3:AbortMultipartUpload", "s3:DeleteObject", "s3:DeleteObjectVersion", "s3:GetObject", "s3:GetObjectAcl", "s3:GetObjectVersion", "s3:ListMultipartUploadParts", "s3:PutObject", "s3:PutObjectAcl" ], "Resource": "arn:aws:s3:::TestBucket/*", "Effect": "Allow" } ] }
以下示例策略與前面的策略類似,但允許您的文件網關執行通過接入點訪問存儲桶所需的操作。
{ "Version": "2012-10-17", "Statement": [ { "Action": [ "s3:AbortMultipartUpload", "s3:DeleteObject", "s3:DeleteObjectVersion", "s3:GetObject", "s3:GetObjectAcl", "s3:GetObjectVersion", "s3:ListMultipartUploadParts", "s3:PutObject", "s3:PutObjectAcl" ], "Resource": "arn:aws:s3:us-east-1:123456789:accesspoint/TestAccessPointName/*", "Effect": "Allow" } ] }
注意
如果您需要通過 VPC 終端節點將文件共享連接到 S3 存儲桶,請參閲Amazon S3 的端點政策中的AWS PrivateLink使用者指南。
預防跨服務混淆代理人
混淆代理人問題屬於安全性議題,其中沒有執行動作許可的實體可以強制具有更多許可的實體執行該動作。在 AWS 中,跨服務模擬可能會導致混淆代理人問題。在某個服務 (呼叫服務) 呼叫另一個服務 (被呼叫服務) 時,可能會發生跨服務模擬。可以操縱呼叫服務來使用其許可,以其不應有存取許可的方式對其他客戶的資源採取動作。為了預防這種情況,AWS 提供的工具可協助您保護所有服務的資料,而這些服務主體已獲得您帳戶中資源的存取權。
若要限制 AWS Storage Gateway 為資源提供另一項服務的許可,我們建議在資源政策中使用 aws:SourceArn
和 aws:SourceAccount
全域條件內容索引鍵。如果同時使用全域條件內容索引鍵,則在相同政策陳述式中使用aws:SourceAccount
值和 aws:SourceArn
值中的帳戶時,必須使用相同的帳戶 ID。
的值aws:SourceArn
必須是與文件共享關聯的 Storage Gateway 的 ARN。
防止混淆副手問題的最有效方法是使用aws:SourceArn
全局條件上下文鍵與資源的完整 ARN。如果不知道資源的完整 ARN,或者您要指定多個資源,請使用aws:SourceArn
具有通配符的全局上下文條件鍵(*
),查看 ARN 的未知部分。例如:arn:aws:
。servicename
::123456789012
:*
以下範例顯示如何使用aws:SourceArn
和aws:SourceAccount
全局條件上下文鍵 Storage Gateway 防止混淆副本問題。
{ "Version": "2012-10-17", "Statement": { "Sid": "ConfusedDeputyPreventionExamplePolicy", "Effect": "Allow", "Principal": { "Service": "storagegateway.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "
123456789012
" }, "ArnLike": { "aws:SourceArn": "arn:aws:storagegateway:us-east-1:123456789012:gateway/sgw-712345DA
" } } } ] }
使用檔案共享進行跨賬户存取
跨賬户存取意指的是 Amazon Web Services 帳户及使用者獲得授權,得以存取屬於另一個 Amazon Web Services 帳户之資源的情況。透過檔案閘道,您可以使用一個 Amazon Web Services 帳户中的檔案共享,存取屬於另外一個 Amazon Web Services 帳户之 Amazon S3 儲存貯體中的物件。
若要使用由一個 Amazon Web Services 帳户擁有的檔案共享,存取另外一個 Amazon Web Services 帳户中的 S3 儲存貯體
-
確認 S3 儲存貯體擁有者已授予您的 Amazon Web Services 帳户存取您需要存取之 S3 儲存貯體,以及位於該儲存貯體中物件的權限。如需如何授予此存取權的資訊,請參範例 2:擁有者授予跨賬户儲存貯體許可中的Amazon Simple Storage Service 用户指南。如需必要許可的清單,請參閱授予對 Amazon S3 儲存貯體的存取權。
-
確認您檔案共享用來存取 S3 儲存貯體的 IAM 角色包含像是
s3:GetObjectAcl
和s3:PutObjectAcl
等操作的許可。此外,請確認 IAM 角色包含允許您的帳戶取得該 IAM 角色的信任政策。如需此類信任政策的範例,請參閱授予對 Amazon S3 儲存貯體的存取權。若您的檔案共享使用現有角色存取 S3 儲存貯體,您應包含
s3:GetObjectAc
l 和s3:PutObjectAcl
操作的許可。角色也會需要允許您的帳戶取得此角色的信任政策。如需此類信任政策的範例,請參閱授予對 Amazon S3 儲存貯體的存取權。 打開 Storage Gateway 主控台https://console.aws.amazon.com/storagegateway/home
。 -
選擇 Configure file share setting (設定檔案共享設定) 對話方塊中的 Object metadata (物件中繼資料) 內的 Give bucket owner full control (給予儲存貯體擁有者完整控制)。
當您建立或更新您的跨帳戶存取檔案共享,並且在現場部署掛載檔案共享時,我們強烈建議您測試您的設定。您可以透過列出目錄的內容,或寫入測試檔案並確認檔案在 S3 儲存貯體中顯示為物件,來執行此作業。
重要
請務必將政策設定正確,授予跨帳戶存取給您檔案共享使用的帳戶。若您沒有執行此作業的話,透過您現場部署應用程式進行的檔案更新將不會傳播至您使用的 Amazon S3 儲存貯體。
資源
如需存取政策和存取控制清單的其他資訊,請參閱以下內容:
使用提供之存取政策選項的準則中的Amazon Simple Storage Service 用户指南
存取控制清單 (ACL) 概觀中的Amazon Simple Storage Service 用户指南