

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

# AWS CLI を使用して CORS の設定
<a name="cors-configuration-cli"></a>

`--cors` パラメータを持つ AWS CLI を使用して、Lightsail バケットの CORS を設定できます。このパラメータは CORS 設定を含む JSON ファイルを受け入れます。CORS 設定の要素の詳細については、「[CORS 設定のエレメント](cors-how-evaluation-works.md#cors-configuration-elements)」を参照してください。

**Topics**
+ [CORS 構成の適用](#cors-configuration-apply)
+ [CORS 設定例](#cors-configuration-examples)
+ [CORS 設定の削除](#cors-remove-configuration)

## CORS 構成の適用
<a name="cors-configuration-apply"></a>

以下の手順は、JSON ファイルを指定して CORS 設定をバケットに適用する方法を示しています。その他の設定例については、「[CORS 設定例](#cors-configuration-examples)」を参照してください。

**AWS CLI を使用してバケットに CORS を設定する方法**

1. CORS 設定を含む JSON ファイルを作成します。例えば、次の内容で `cors-config.json` という名前のファイルを作成します。

   ```
   {
     "CORSRules": [
       {
         "AllowedOrigins": ["https://example.com"],
         "AllowedMethods": ["GET", "PUT", "POST"],
         "AllowedHeaders": ["*"],
         "MaxAgeSeconds": 3000
       }
     ]
   }
   ```

1. AWS CLI を使用して CORS 設定をバケットに適用します。

   ```
   aws lightsail update-bucket --bucket-name amzn-s3-demo-bucket --cors file://cors-config.json
   ```

1. CORS 設定が正常に適用されたことを確認してください。

   ```
   aws lightsail get-buckets --bucket-name amzn-s3-demo-bucket --include-cors
   ```

**注記**  
*amzn-s3-demo-bucket* を Lightsail のバケット名に置き換えます。

## CORS 設定例
<a name="cors-configuration-examples"></a>

以下の例は、さまざまなユースケースに対する一般的な CORS 設定を示しています。

**例 1: すべてのオリジンとメソッドを許可する**  
この設定により、任意の HTTP メソッドを使用してすべてのオリジンにバケットへのアクセスを許可します。

```
{
    "CORSRules": [
      {
        "AllowedOrigins": ["*"],
        "AllowedMethods": ["GET", "PUT", "POST", "DELETE", "HEAD"],
        "AllowedHeaders": ["*"],
        "MaxAgeSeconds": 3000
      }
    ]
  }
```

**例 2: 特定のドメインに制限する**  
この設定では、`https://mywebsite.com` からのリクエストのみを許可します。

```
{
    "CORSRules": [
      {
        "AllowedOrigins": ["https://mywebsite.com"],
        "AllowedMethods": ["GET", "PUT"],
        "AllowedHeaders": ["Authorization", "Content-Type"],
        "ExposeHeaders": ["ETag"],
        "MaxAgeSeconds": 3600
      }
    ]
  }
```

**例 3: さまざまなオリジンに複数のルール**  
この設定では、オリジンごとに異なるルールを定義します。

```
{
    "CORSRules": [
      {
        "AllowedOrigins": ["https://mywebsite.com"],
        "AllowedMethods": ["GET", "PUT", "POST"],
        "AllowedHeaders": ["*"],
        "MaxAgeSeconds": 3600
      },
      {
        "AllowedOrigins": ["https://cdn.mywebsite.com"],
        "AllowedMethods": ["GET"],
        "AllowedHeaders": ["Authorization"],
        "MaxAgeSeconds": 86400
      }
    ]
  }
```

## CORS 設定の削除
<a name="cors-remove-configuration"></a>

バケットから CORS 設定を削除するには、次の AWS CLI コマンドを実行します。

```
aws lightsail update-bucket --bucket-name amzn-s3-demo-bucket --cors '{"rules":[]}'
```

**注記**  
*amzn-s3-demo-bucket* を Lightsail のバケット名に置き換えます。

CORS 設定を削除すると、バケットへのクロスオリジンリクエストはブラウザによってブロックされます。