

# バケットポリシーの例
<a name="S3Outposts-example-bucket-policies"></a>

S3 on Outposts バケットポリシーを使用すると、S3 on Outposts バケット内のオブジェクトへのアクセスを保護して、適切な権限を持つユーザーだけがアクセスできるようにすることができます。適切な権限を持たない認証済みユーザーが S3 on Outposts リソースにアクセスできないようにすることもできます。

このセクションでは、S3 on Outposts バケットポリシーの一般的なユースケース例を紹介します。これらのポリシーをテストするには、`user input placeholders` をお客様の情報 (バケット名など) と置き換えます。

オブジェクトのセットに対するアクセス許可を付与または拒否するために、Amazon リソースネーム (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>

以下の例では、リクエストが指定した IP アドレス範囲から発信されたものでない限り、指定したバケット内のオブジェクトに対してすべてのユーザーが [S3 on Outposts のオペレーション](https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3OutpostsWorkingBuckets.html)を実行できないようにします。

**注記**  
特定の IP アドレスへのアクセスを制限する場合は、S3 on Outposts バケットにアクセスできる VPC エンドポイント、VPC ソース IP アドレス、または外部 IP アドレスも必ず指定してください。指定しないと、適切な権限が設定されていない限り、すべてのユーザーが S3 on Outposts バケット内のオブジェクトに対して [https://docs.aws.amazon.com/cli/latest/reference/s3outposts/](https://docs.aws.amazon.com/cli/latest/reference/s3outposts/) オペレーションを実行することをポリシーで拒否されている場合、バケットにアクセスできなくなる可能性があります。

このポリシーの `Condition` ステートメントは、許可された IP バージョン 4 (IPv4) の IP アドレスの範囲として、*`192.0.2.0/24`* を識別します。

`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 バケットポリシーの例は、組織の有効な IP アドレスすべてを含めるために、IPv4 アドレス範囲と IPv6 アドレス範囲を混在させる方法を示しています。このポリシーの例では、サンプル 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"
                    ]
                }
            }
        }
    ]
}
```

------