

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 授予檔案共用和儲存貯體的存取和許可
<a name="add-file-share"></a>

啟用並執行 S3 檔案閘道之後，您可以新增其他檔案共用，並授予對 Amazon S3 儲存貯體的存取權，包括閘道和檔案共用 AWS 帳戶 以外的儲存貯體。下列各節說明如何使用 IAM 角色為閘道提供 Amazon S3 儲存貯體和 VPC 端點的存取許可、防止特定安全問題，以及跨 將檔案共用連線至儲存貯體 AWS 帳戶。

如需如何建立新檔案共享的資訊，請參閱 [建立檔案共享](GettingStartedCreateFileShare.md)。

本節包含下列主題，提供有關如何授予檔案共用和 Amazon S3 儲存貯體存取和許可的其他資訊：

**主題**
+ [授予對 Amazon S3 儲存貯體的存取權](grant-access-s3.md) - 了解如何授予檔案閘道將檔案上傳到 Amazon S3 儲存貯體的存取權，以及對其用來連線至儲存貯體的任何存取點或 Amazon Virtual Private Cloud (Amazon VPC) 端點執行動作。
+ [預防跨服務混淆代理人](cross-service-confused-deputy-prevention.md) - 了解如何防止常見的安全問題，即沒有執行動作許可的實體可能會強制更特權的實體執行動作。
+ [使用檔案共享進行跨帳戶存取](cross-account-access.md) - 了解如何授予 Amazon Web Services 帳戶和該帳戶使用者的存取權，以存取屬於另一個 Amazon Web Services 帳戶的資源。

# 授予對 Amazon S3 儲存貯體的存取權
<a name="grant-access-s3"></a>

當您建立檔案共享時，您的檔案閘道需要存取，才能將檔案上傳到 Amazon S3 儲存貯體，並對其用來連線至儲存貯體的任何存取點或虛擬私有雲端 (VPC) 端點執行動作。若要授予此存取權，您的 File Gateway 會擔任與授予此存取權的 IAM 政策相關聯的 AWS Identity and Access Management (IAM) 角色。

此角色需要此 IAM 政策和 Security Token Service (STS) 的信任關係。政策決定角色可以執行的動作。此外，您的 S3 儲存貯體和任何相關聯的存取點或 VPC 端點必須具有允許 IAM 角色存取它們的存取政策。

您可以自行建立角色和存取政策，或者您的檔案閘道可以為您建立。如果您的檔案閘道為您建立政策，則政策會包含 S3 動作的清單。如需角色和許可的相關資訊，請參閱《*IAM 使用者指南*》中的[建立角色以將許可委派給 AWS 服務](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) 。

下列範例是信任政策，可讓您的檔案閘道擔任 IAM 角色。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "",
      "Effect": "Allow",
      "Principal": {
        "Service": "storagegateway.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
```

------

**重要**  
Storage Gateway 可以擔任使用`iam:PassRole`政策動作傳遞的現有服務角色，但不支援使用`iam:PassedToService`內容索引鍵將動作限制為特定服務的 IAM 政策。  
如需詳細資訊，請參閱《*AWS Identity and Access Management 使用者指南*》中的以下主題：  
[IAM：將 IAM 角色傳遞至特定 AWS 服務](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_examples_iam-passrole-service.html)
[授予使用者將角色傳遞至 AWS 服務的許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_passrole.html)
[IAM 的可用金鑰](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_iam-condition-keys.html#ck_PassedToService)

如果您不希望檔案閘道代表您建立政策，您可以建立自己的政策，並將其連接到檔案共享。如需如何進行該服務的詳細資訊，請參閱[建立檔案共享](GettingStartedCreateFileShare.md)。

下列範例政策可讓您的檔案閘道執行政策中列出的所有 Amazon S3 動作。陳述式的第一部分允許對名為 `amzn-s3-demo-bucket` 的 S3 儲存貯體執行所有列出的動作。第二個部分允許對 `amzn-s3-demo-bucket` 的所有物件執行列出的動作。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "s3:GetAccelerateConfiguration",
                "s3:GetBucketLocation",
                "s3:GetBucketVersioning",
                "s3:ListBucket",
                "s3:ListBucketVersions",
                "s3:ListBucketMultipartUploads"
            ],
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket",
            "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:::amzn-s3-demo-bucket/*",
            "Effect": "Allow"
        }
    ]
}
```

------

下列範例政策類似於上述政策，但允許您的檔案閘道執行透過存取點存取儲存貯體所需的動作。

------
#### [ JSON ]

****  

```
{
    "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:111122223333:accesspoint/TestAccessPointName/*",
            "Effect": "Allow"
        }
    ]
}
```

------

**注意**  
如果您需要透過 VPC 端點將檔案共用連線至 S3 儲存貯體，請參閱*AWS PrivateLink 《 使用者指南*》中的 [Amazon S3 的端點政策](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-s3.html#vpc-endpoints-policies-s3)。

**注意**  
對於加密的儲存貯體，檔案共用必須使用目的地 S3 儲存貯體帳戶中的 金鑰。

**注意**  
如果您的檔案閘道使用 SSE-KMS 或 DSSE-KMS 進行加密，請確定與檔案共享相關聯的 IAM 角色包含 *kms:Encrypt*、 *kms:Decrypt*、 *kms:ReEncrypt\$1*、 *kms:GenerateDataKey* 和 *kms:DescribeKey* 許可。如需詳細資訊，請參閱[針對 Storage Gateway 使用以身分為基礎的政策 (IAM 政策）](https://docs.aws.amazon.com/filegateway/latest/files3/using-identity-based-policies.html)。

# 預防跨服務混淆代理人
<a name="cross-service-confused-deputy-prevention"></a>

混淆代理人問題屬於安全性議題，其中沒有執行動作許可的實體可以強制具有更多許可的實體執行該動作。在 中 AWS，跨服務模擬可能會導致混淆代理人問題。在某個服務 (*呼叫服務*) 呼叫另一個服務 (*被呼叫服務*) 時，可能會發生跨服務模擬。可以操縱呼叫服務來使用其許可，以其不應有存取許可的方式對其他客戶的資源採取動作。為了預防這種情況， AWS 提供的工具可協助您保護所有服務的資料，而這些服務主體已獲得您帳戶中資源的存取權。

我們建議在資源政策中使用 [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn)和 [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount)全域條件內容索引鍵，以限制將另一個 服務 AWS Storage Gateway 提供給資源的許可。如果同時使用全域條件內容金鑰，則在相同政策陳述式中使用 `aws:SourceAccount` 值和 `aws:SourceArn` 值中的帳戶時，必須使用相同的帳戶 ID。

的值`aws:SourceArn`必須是與檔案共享相關聯之 Storage Gateway 的 ARN。

防範混淆代理人問題最有效的方法，是使用 `aws:SourceArn` 全域條件內容金鑰，以及資源的完整 ARN。如果不知道資源的完整 ARN，或者如果您指定了多個資源，請使用 `aws:SourceArn` 全域條件內容金鑰，同時使用萬用字元 (`*`) 表示 ARN 的未知部分。例如 `arn:aws:servicename::123456789012:*`。

下列範例示範如何使用 Storage Gateway 中的 `aws:SourceArn`和 `aws:SourceAccount`全域條件內容金鑰，以防止混淆代理人問題。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
       "Sid": "ConfusedDeputyPreventionExamplePolicy",
       "Effect": "Allow",
       "Principal": {
         "Service": "storagegateway.amazonaws.com"
       },
       "Action": "sts:AssumeRole",
       "Condition": {
         "StringEquals": {
           "aws:SourceAccount": "444455556666"
         },
         "ArnLike": {
          "aws:SourceArn": "arn:aws:storagegateway:us-east-1:444455556666:gateway/sgw-123456DA"
        }
      }
    }
  ]  
}
```

------

# 使用檔案共享進行跨帳戶存取
<a name="cross-account-access"></a>

*跨帳戶*存取是指 Amazon Web Services 帳戶和該帳戶的使用者被授予存取屬於另一個 Amazon Web Services 帳戶的資源。透過檔案閘道，您可以在一個 Amazon Web Services 帳戶中使用檔案共享來存取屬於不同 Amazon Web Services 帳戶的 Amazon S3 儲存貯體中的物件。

**使用一個 Amazon Web Services 帳戶擁有的檔案共享來存取不同 Amazon Web Services 帳戶中的 S3 儲存貯體**

1. 請確定 S3 儲存貯體擁有者已授予 Amazon Web Services 帳戶存取您需要存取的 S3 儲存貯體，以及該儲存貯體中的物件。如需有關如何授予此存取權的資訊，請參閱《*Amazon Simple Storage Service 使用者指南*》中的[範例 2：授予跨帳戶儲存貯體許可的儲存貯體擁有者](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-walkthroughs-managing-access-example2.html)。如需必要許可的清單，請參閱[授予對 Amazon S3 儲存貯體的存取權](grant-access-s3.md)。

1. 確認您檔案共享用來存取 S3 儲存貯體的 IAM 角色包含像是 `s3:GetObjectAcl` 和 `s3:PutObjectAcl` 等操作的許可。此外，請確認 IAM 角色包含允許您的帳戶取得該 IAM 角色的信任政策。如需此類信任政策的範例，請參閱[授予對 Amazon S3 儲存貯體的存取權](grant-access-s3.md)。

   若您的檔案共享使用現有角色存取 S3 儲存貯體，您應包含 `s3:GetObjectAc`l 和 `s3:PutObjectAcl` 操作的許可。角色也會需要允許您的帳戶取得此角色的信任政策。如需此類信任政策的範例，請參閱[授予對 Amazon S3 儲存貯體的存取權](grant-access-s3.md)。

1. 在 https：//[https://console.aws.amazon.com/storagegateway/home](https://console.aws.amazon.com/storagegateway/) 中建立檔案共享或編輯檔案共享設定時**，請選擇可供 S3 儲存貯體擁有者存取的閘道**檔案。

當您建立或更新您的跨帳戶存取檔案共享，並且在現場部署掛載檔案共享時，我們強烈建議您測試您的設定。您可以透過列出目錄的內容，或寫入測試檔案並確認檔案在 S3 儲存貯體中顯示為物件，來執行此作業。

**重要**  
請務必將政策設定正確，授予跨帳戶存取給您檔案共享使用的帳戶。否則，透過內部部署應用程式更新檔案不會傳播到您正在使用的 Amazon S3 儲存貯體。

## Resources
<a name="related-topics-fileshare"></a>

如需存取政策和存取控制清單的其他資訊，請參閱以下內容：

《Amazon Simple Storage Service 使用者指南》中的[使用可用存取政策選項](https://docs.aws.amazon.com/AmazonS3/latest/dev/access-policy-alternatives-guidelines.html)的指導方針 **

《Amazon Simple Storage Service 使用者指南》**中的 [Access Control List (ACL) overview](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html)