

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Amazon S3 ポリシー
<a name="orgs_manage_policies_s3"></a>

Amazon S3 ポリシーを使用すると、組織内のアカウント全体で Amazon S3 リソースの設定を大規模に一元管理できます。Amazon S3 ポリシーは現在、パブリックアクセスをブロックするための設定をサポートしています。

Amazon S3 ポリシーを使用して、4 つのブロックパブリックアクセス設定をすべて有効または無効にするかどうかを指定できます。その仕様は、選択したアカウント内のすべての Amazon S3 リソースに適用されます。Amazon S3 ポリシーでブロックパブリックアクセス設定を使用すると、組織全体で一貫したセキュリティ体制を適用し、個々のアカウント設定を管理する運用上のオーバーヘッドを排除できます。

## 仕組み
<a name="s3-policies-how-it-works"></a>

Amazon S3 ポリシーを組織エンティティにアタッチすると、その範囲内のアカウント内のすべての Amazon S3 リソースに適用される設定が定義されます。これらの設定はアカウントレベルの設定を上書きするため、Amazon S3 設定を一元管理できます。

Amazon S3 ポリシーは、組織全体、組織単位 (OUs)、または個々のアカウントに適用できます。組織に参加するアカウントは、組織階層内の場所に基づいてAmazon S3 ポリシーを自動的に継承します。

デタッチ動作: Amazon S3 ポリシーがデタッチされると、アカウントは自動的に以前のアカウントレベルの設定に戻ります。Amazon S3 は、シームレスな復元を可能にするために、元のアカウントレベルの設定を保持します。

## 主な特徴
<a name="s3-policies-key-features"></a>
+ 統合コントロール: 4 つのブロックパブリックアクセス設定 (BlockPublicAcls、BlockPublicPolicy、IgnorePublicAcls、RestrictPublicBuckets) はすべて 1 つの設定としてまとめて制御されます。
+ 自動継承: 新しいアカウントは、組織の配置に基づいてポリシーを自動的に継承します。
+ 保護の上書き: 組織ポリシーがアクティブな場合にアカウントレベルの変更を防止します
+ シームレスな復元: ポリシーがデタッチされると、元のアカウント設定が保持および復元されます。

## 前提条件
<a name="s3-policies-prerequisites"></a>

Amazon S3 ポリシーを使用する前に、以下を確認してください。
+ すべての機能モードの AWS 組織
+  AWS Organizations ポリシーを管理するアクセス許可 (Organizations:CreatePolicy、Organizations:AttachPolicy など)
+ 組織で有効になっている Amazon S3 ポリシータイプ

# Amazon S3 ポリシーを使用するためのベストプラクティス
<a name="orgs_manage_policies_s3_best_practices"></a>

組織全体に Amazon S3 ポリシーを実装する場合、確立されたベストプラクティスに従うことで、デプロイとメンテナンスを確実に成功させることができます。

## 単純なものから始めて、小さな変更を加える
<a name="s3-start-simple-incremental-changes"></a>

デバッグを簡素化するには、単純なポリシーから開始し、一度に 1 つの項目を変更します。次の変更を行う前に、各変更の動作と影響を検証します。こうすることで、エラーや予期しない結果が発生した場合に考慮する必要がある変数が減ります。

## レビュープロセスを確立する
<a name="s3-establish-review-processes"></a>

新しいポリシー属性をモニタリングし、ポリシー例外を評価し、組織のセキュリティと運用要件との整合性を維持するために調整するプロセスを実装します。

## DescribeEffectivePolicy を使用して Amazon S3 ポリシーの変更を検証する
<a name="s3-validate-policy-changes"></a>

Amazon S3 ポリシーを変更したら、変更を行ったレベル以下の代表的なアカウントの有効なポリシーを確認します。有効なポリシーを表示するには、 AWS マネジメントコンソールを使用するか、DescribeEffectivePolicy API オペレーション、その CLI または AWS SDK AWS バリアントのいずれかを使用します。加えた変更が、有効なポリシーに意図した影響を与えていることを確認します。

## コミュニケーションとトレーニング
<a name="s3-communicate-and-train"></a>

組織がポリシーの目的と影響を理解していることを確認します。期待される動作と、ポリシーを適用することによる障害に対処する方法について、明確なガイダンスを提供します。

## 正当なパブリックアクセスのニーズを計画する
<a name="s3-plan-for-public-access"></a>

組織レベルのポリシーを実装する前に、正当なビジネス目的 (静的ウェブサイトホスティングなど) でパブリック Amazon S3 バケットを必要とするアカウントを特定します。OU レベルまたはアカウントレベルのポリシーアタッチメントを使用してこれらのアカウントを除外するか、パブリックバケットのニーズを専用アカウントに統合することを検討してください。

## ポリシーの適用をモニタリングする
<a name="s3-monitor-policy-enforcement"></a>

 AWS CloudTrail を使用して、ポリシーのアタッチと強制アクションをモニタリングします。EventBridge ルールを設定して、ポリシー違反や変更への対応を自動化します。

# Amazon S3 ポリシーの構文と例
<a name="orgs_manage_policies_s3_syntax"></a>

Amazon S3 ポリシーは、[JSON](http://json.org) のルールに従って構造化されたプレーンテキストファイルです。Amazon S3 ポリシーの構文は、すべての管理ポリシータイプの構文に従います。詳細については、「[管理ポリシーの継承を理解する](orgs_manage_policies_inheritance_mgmt.md)」を参照してください。このトピックでは、その一般的な構文を Amazon S3 ポリシーの特定の要件と、それらが管理するブロックパブリックアクセス設定に適用することに重点を置いています。

次の Amazon S3 ポリシーの例は、基本的なポリシー構文を示しています。

```
{
    "s3_attributes": {
        "public_access_block_configuration": {
            "@@assign": "all"
        }
    }
}
```

## Amazon S3 ポリシー構文には、次の要素が含まれます。
<a name="s3-policy-syntax-elements"></a>

`s3_attributes`  
Amazon S3 ポリシー設定の最上位キー。

`public_access_block_configuration`  
組織のパブリックアクセスブロックの動作を定義します。

`@@assign`  
次の 2 つの値のいずれかを受け入れる割り当て演算子。  
+ `"all"` - 組織レベルで 4 つの Amazon S3 パブリックアクセスブロック設定をすべて有効にする
+ `"none"` - 組織レベルの制御を無効にし、個々のアカウントが独自のブロックパブリックアクセス設定を管理できるようにします
Amazon S3 ブロックパブリックアクセスには、パブリックアクセスを制御する 4 つの設定があります。  

1. **BlockPublicAcls** - Amazon S3 は、新しく追加されたバケットまたはオブジェクトに適用されるパブリックアクセス許可をブロックし、既存のバケットおよびオブジェクトの新しいパブリックアクセスコントロールリスト (ACLs) の作成を防ぎます。この設定では、ACLs を使用した Amazon S3 リソースへのパブリックアクセスを許可する既存のアクセス許可は変更されません。

1. **BlockPublicPolicy** - Amazon S3 は、バケットとオブジェクトへのパブリックアクセスを許可する新しいバケットポリシーとアクセスポイントポリシーをブロックします。この設定では、Amazon S3 リソースへのパブリックアクセスを許可する既存のポリシーは変更されません。

1. **IgnorePublicAcls** - Amazon S3 は、バケットとオブジェクトへのパブリックアクセスを許可するすべての ACLs を無視します。

1. **RestrictPublicBuckets** - Amazon S3 は、バケットとオブジェクトへのパブリックアクセスを許可するポリシーを持つバケットまたはアクセスポイントのパブリックアクセスとクロスアカウントアクセスを無視します。
`@@assign` を に設定すると`"all"`、4 つの設定がすべて統合され、組織レベルで有効になり、組織内のすべてのアカウントでのパブリックアクセスに対する包括的な保護が提供されます。