

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

# 儲存貯體政策範例
<a name="S3Outposts-example-bucket-policies"></a>

使用 S3 on Outposts 儲存貯體政策，您可以安全地存取 S3 on Outposts 儲存貯體中的物件，使得只有具有適當許可的使用者才能存取它們。您甚至可以防止已驗證但沒有適當許可的使用者存取 S3 on Outposts 資源。

本節顯示 S3 on Outposts 儲存貯體政策之一般使用案例的範例。若要測試這些政策，請使用您自己的資訊 (例如儲存貯體名稱) 取代 `user input placeholders`。

若要授予或拒絶一組物件的許可，您可以在 Amazon Resource Name (ARN) 和其他值上使用萬用字元 (`*`)。例如，您可以控制對以常用[字首](https://docs.aws.amazon.com/general/latest/gr/glos-chap.html#keyprefix)開頭或以給定的副檔名結束的一組物件存取權，例如 `.html`。

如需 AWS Identity and Access Management (IAM) 政策語言的詳細資訊，請參閱 [使用 S3 on Outposts 設定 IAM](S3OutpostsIAM.md)。

**注意**  
使用 Amazon S3 主控台來測試 [https://docs.aws.amazon.com/cli/latest/reference/s3outposts/](https://docs.aws.amazon.com/cli/latest/reference/s3outposts/) 許可時，您必須授予主控台所需的其他許可：`s3outposts:createendpoint`、`s3outposts:listendpoints`，以此類推。

**用於建立儲存貯體政策的其他資源**
+ 如需建立 S3 on Outposts 儲存貯體政策時可使用的 IAM 政策動作、資源和條件金鑰清單，請參閱 [Amazon S3 on Outposts 的動作、資源和條件金鑰](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3onoutposts.html)。
+ 如需建立 S3 on Outposts 政策的指引，請參閱[新增或編輯 Amazon S3 on Outposts 儲存貯體的儲存貯體政策](S3OutpostsBucketPolicyEdit.md)。

**Topics**
+ [根據特定 IP 位址管理對 Amazon S3 on Outposts 儲存貯體的存取](#S3OutpostsBucketPolicyManageIPaccess)

## 根據特定 IP 位址管理對 Amazon S3 on Outposts 儲存貯體的存取
<a name="S3OutpostsBucketPolicyManageIPaccess"></a>

儲存貯體政策是資源型 AWS Identity and Access Management (IAM) 政策，可用來將存取許可授予儲存貯體及其中的物件。只有儲存貯體擁有者可建立政策與儲存貯體的關聯。連接到儲存貯體的許可會套用至儲存貯體擁有者帳戶擁有的所有儲存貯體物件。儲存貯體政策的大小限制為 20 KB。如需詳細資訊，請參閱[儲存貯體政策](S3onOutposts.md#S3OutpostsBucketPolicies)。

### 限制針對特定 IP 位址的存取
<a name="S3Outposts-example-bucket-policies-IP-1"></a>

下列範例拒絕所有使用者對指定儲存貯體中的物件執行任何 [S3 on Outposts 操作](https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3OutpostsWorkingBuckets.html)，除非請求源自指定的 IP 位址範圍。

**注意**  
限制對特定 IP 位址的存取時，請確定您也指定了哪些 VPC 端點、VPC 來源 IP 位址或外部 IP 位址可以存取 S3 on Outposts 儲存貯體。否則，如果您的政策拒絕所有使用者對您 S3 on Outposts 儲存貯體中的物件執行任何 [https://docs.aws.amazon.com/cli/latest/reference/s3outposts/](https://docs.aws.amazon.com/cli/latest/reference/s3outposts/) 操作，而且未設定任何適當的許可，則可能會失去對儲存貯體的存取權。

此政策的 `Condition` 陳述式會將 *`192.0.2.0/24`* 識別為允許之網際網路通訊協定第 4 版 (IPv4) IP 位址的範圍。

`Condition` 區塊使用 `NotIpAddress`條件和 `aws:SourceIp` 條件索引鍵，這是 AWS 寬條件索引鍵。`aws:SourceIp` 條件金鑰僅可用於公有 IP 位址範圍。如需這些條件金鑰詳細資訊，請參閱[適用於 S3 on Outposts 的動作、資源和條件金鑰](https://docs.aws.amazon.com//service-authorization/latest/reference/list_amazons3onoutposts.html)。`aws:SourceIp` IPv4 值會使用標準 CIDR 表示法。如需詳細資訊，請參閱《IAM 使用者指南》**中的 [IAM JSON 政策元素參考](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html#Conditions_IPAddress)。

**警告**  
使用此 S3 on Outposts 政策之前，請以適當的使用案例值取代此範例中的 *`192.0.2.0/24`* IP 位址範圍。否則，您將失去存取儲存貯體的能力。

```
 1. {
 2.     "Version": "2012-10-17",		 	 	 
 3.     "Id": "S3OutpostsPolicyId1",
 4.     "Statement": [
 5.         {
 6.             "Sid": "IPAllow",
 7.             "Effect": "Deny",
 8.             "Principal": "*",
 9.             "Action": "s3-outposts:*",
10.             "Resource": [
11.                 "arn:aws:aws:s3-outposts:region:111122223333:outpost/OUTPOSTS-ID/accesspoint/EXAMPLE-ACCESS-POINT-NAME",
12.                 "arn:aws:aws:s3-outposts:region:111122223333:outpost/OUTPOSTS-ID/bucket/amzn-s3-demo-bucket"
13.             ],
14.             "Condition": {
15.                 "NotIpAddress": {
16.                     "aws:SourceIp": "192.0.2.0/24"
17.                 }
18.             }
19.         }
20.     ]
21. }
```

### 同時允許 IPv4 和 IPv6 位址
<a name="S3Outposts-example-bucket-policies-IP-2"></a>

當您開始使用 IPv6 位址時，建議除了現有 IPv4 範圍之外，還使用 IPv6 位址範圍來更新組織的所有政策。這樣做有助於確保政策在轉換為 IPv6 時繼續運作。

下列 S3 on Outposts 儲存貯體政策範例會示範如何混合使用 IPv4 與 IPv6 位址範圍，以涵蓋組織中所有的有效 IP 位址。政策範例允許存取 IP 位址範例 *`192.0.2.1`* 與 *`2001:DB8:1234:5678::1`*，並且拒絕存取位址 *`203.0.113.1`* 與 *`2001:DB8:1234:5678:ABCD::1`*。

`aws:SourceIp` 條件金鑰僅可用於公有 IP 位址範圍。`aws:SourceIp` 的 IPv6 值必須為標準 CIDR 格式。針對 IPv6，我們支援使用 `::` 代表 0 的範圍 (例如，`2001:DB8:1234:5678::/64`)。如需詳細資訊，請參閱《IAM 使用者指南》**中的 [IP 位址條件運算子](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_IPAddress)。

**警告**  
使用此 S3 on Outposts 政策之前，請以適當的使用案例值取代此範例中的 IP 位址範圍。否則，您可能會失去存取儲存貯體的能力。

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

****  

```
{
    "Id": "S3OutpostsPolicyId2",
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowIPmix",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:root"
            },
            "Action": [
                "s3-outposts:GetObject",
                "s3-outposts:PutObject",
                "s3-outposts:ListBucket"
            ],
            "Resource": [            
                "arn:aws:s3-outposts:us-east-1:111122223333:outpost/op-01ac5d28a6a232904/bucket/amzn-s3-demo-bucket",
                "arn:aws:s3-outposts:us-east-1:111122223333:outpost/op-01ac5d28a6a232904/bucket/amzn-s3-demo-bucket/*"
            ],
            "Condition": {
                "IpAddress": {
                    "aws:SourceIp": [
                        "192.0.2.0/24",
                        "2001:DB8:1234:5678::/64"
                    ]
                },
                "NotIpAddress": {
                    "aws:SourceIp": [
                        "203.0.113.0/24",
                        "2001:DB8:1234:5678:ABCD::/80"
                    ]
                }
            }
        }
    ]
}
```

------