

# Amazon S3 コンソールでのオブジェクトメタデータの編集
<a name="add-object-metadata"></a>

Amazon S3 コンソールを使用して、**[コピー]** アクションを使用して既存の S3 オブジェクトのメタデータを編集できます。メタデータを編集するには、オブジェクトを同じ宛先にコピーし、適用する新しいメタデータを指定します。これにより、オブジェクトの古いメタデータが置き換えられます。一部のメタデータは、オブジェクトをアップロードするときに Amazon S3 によって設定されます。例えば、`Content-Length` および `Last-Modified` は、ユーザーが変更できない、システム定義のオブジェクトメタデータフィールドです。

また、オブジェクトのアップロード時にユーザー定義のメタデータを設定し、必要に応じて後で置き換えることもできます。例えば、`STANDARD` ストレージクラスに最初に保存したオブジェクトのセットがあるとします。時間の経過とともに、このデータを高可用性にする必要がなくなる可能性があります。そのため、`x-amz-storage-class` キーの値を `STANDARD` から `GLACIER` に置き換えて、ストレージクラスを `GLACIER` に変更できます。

**注記**  
Amazon S3 でオブジェクトメタデータを置き換える場合は、次のことを考慮してください。  
保持する既存のメタデータ、追加するメタデータ、および編集するメタデータを指定する必要があります。
オブジェクトが 5 GB 未満の場合は、S3 コンソールで **[コピー]** アクションを使用してオブジェクトメタデータを置き換えることができます。オブジェクトが 5 GB を超える場合は、[AWS CLI](mpu-upload-object.md#UsingCLImpUpload) または [AWS SDK](CopyingObjectsMPUapi.md) を使用してオブジェクトをマルチパートアップロードでコピーするときに、オブジェクトメタデータを置き換えることができます。詳細については、「[マルチパートアップロードを使用したオブジェクトのコピー](CopyingObjectsMPUapi.md)」を参照してください。
メタデータを置き換えるために必要な追加のアクセス許可のリストについては、「[Amazon S3 API オペレーションに必要なアクセス許可](using-with-s3-policy-actions.md)」を参照してください。このアクセス許可を付与するポリシーの例については、「[Amazon S3 のアイデンティティベースのポリシー例](example-policies-s3.md)」を参照してください。
このアクションにより、更新された設定と最終更新日を持つオブジェクトの*コピー*が作成されます。S3 バージョニングが有効になっている場合は、オブジェクトの新しいバージョンが作成され、既存のオブジェクトが古いバージョンになります。S3 バージョニングが有効になっていない場合は、元のオブジェクトがオブジェクトの新しいコピーに置き換えられます。プロパティを変更する IAM ロールに関連付けられた AWS アカウント も、新しいオブジェクトまたは (オブジェクトバージョン) の所有者になります。
メタデータを編集すると、既存のキー名の値が置き換えられます。
お客様が用意した暗号化キー (SSE−C) で暗号化されたオブジェクトは、コンソールを使用してコピーすることはできません。AWS CLI、AWS SDK、または Amazon S3 REST API を使用する必要があります。
Amazon S3 コンソールを使用してオブジェクトをコピーすると、"Copied metadata can't be verified." というエラーメッセージが表示されることがあります。コンソールは、ヘッダーを使用してオブジェクトのメタデータを取得し、設定します。ネットワークまたはブラウザの設定によってネットワークリクエストが変更された場合、この動作により、コピーしたオブジェクトに意図しないメタデータ (変更された `Cache-Control` ヘッダーなど) が書き込まれる可能性があります。Amazon S3 はこの意図しないメタデータを検証できません。  
この問題に対処するには、ネットワークとブラウザの設定をチェックして、`Cache-Control` などのヘッダーが変更されていないことを確認します。詳細については、「[The Shared Responsibility Model](https://docs.aws.amazon.com/whitepapers/latest/applying-security-practices-to-network-workload-for-csps/the-shared-responsibility-model.html)」を参照してください。

**警告**  
フォルダのメタデータを置き換える場合は、**[コピー]** アクションが完了するのを待ってから、フォルダに新しいオブジェクトを追加します。そうしないと、新しいオブジェクトも編集される可能性があります。

以下のトピックでは、Amazon S3 コンソールで **[コピー]** アクションを使用してオブジェクトのメタデータを置き換える方法について説明します。

## システム定義メタデータの置き換え
<a name="add-object-metadata-system"></a>

S3 オブジェクトのシステム定義メタデータを置き換えられます。システム定義のメタデータと変更可能な値のリストについては、「[システムで定義されたオブジェクトメタデータ](UsingMetadata.md#SysMetadata)」を参照してください。

**オブジェクトのシステム定義メタデータを置き換えるには**

1. AWS マネジメントコンソール にサインインし、Amazon S3 コンソール [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/) を開きます。

1. 左のナビゲーションペインで、**[汎用バケット]** または **[ディレクトリバケット]** を選択します。

1. バケットのリストで、変更するオブジェクトが含まれるバケットの名前を選択します。

1. 変更するオブジェクトのチェックボックスをオンにします。

1. **[アクション]** メニューに表示されるオプションのリストから **[コピー]** を選択します。

1. 送信先パスを指定するには、**[S3 の参照]** を選択し、ソースオブジェクトと同じ送信先に移動して、送信先にあるチェックボックスをオンにします。右下の **[Choose destination]** (送信先を選択する) を選択します。

   または、送信先パスを入力します。

1. バケットバージョニングを有効にしていない場合は、バケットバージョニングを有効にして、オブジェクトを意図しない上書きまたは削除から保護することを推奨する警告が表示されます。**このバケットのオブジェクトの全バージョンを保持する場合は、**[バケットのバージョニングを有効にする]** をクリックします。**[送信先の詳細]** で、デフォルトの暗号化プロパティと Object Lock プロパティを確認することもできます。

1. **[追加のコピー設定]** で、**[設定を指定]** を選択して、**[メタデータ]** の設定を指定します。

1. **[メタデータ]** セクションまでスクロールし、**[すべてのメタデータを置き換え]** を選択します。

1. **[メタデータの追加]** を選択します。

1. メタデータの [**Type (タイプ)**] には、[**System−defined (システム定義)**] を選択します。

1. 一意の [**Key (キー)**] とメタデータの [**Value (値)**] を指定します。

1. 追加のメタデータを編集するには、[**Add metadata (メタデータの追加)**] を選択します。[**削除**] をクリックして、タイプ、キー、値のセットを削除することもできます。

1. **[コピー]** を選択します。Amazon S3 はメタデータの変更を保存します。

## ユーザー定義メタデータの置き換え
<a name="add-object-metadata-user-defined"></a>

メタデータプレフィックス、`x-amz-meta-`、およびカスタムキーを作成するために選択した名前を組み合わせて、オブジェクトのユーザー定義メタデータを置き換えられます。例えば、カスタム名 `alt-name` を追加した場合、メタデータキーは `x-amz-meta-alt-name` になります。

ユーザー定義メタデータの合計サイズは最大 2 KB です。ユーザー定義メタデータの合計サイズを計算するには、キーと値ごとの UTF−8 エンコーディングのバイト数を合計します。キーと値の両方が US−ASCII 標準に従っている必要があります。詳細については、「[ユーザー定義のオブジェクトメタデータ](UsingMetadata.md#UserMetadata)」を参照してください。

**オブジェクトのユーザー定義メタデータを置き換えるには**

1. AWS マネジメントコンソール にサインインし、Amazon S3 コンソール [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/) を開きます。

1. ナビゲーションペインで **[バケット]** を選択してから、**[汎用バケット]** または **[ディレクトリバケット]** タブをクリックします。変更するオブジェクトを含む Amazon S3 バケットまたはフォルダに移動します。

1. 変更するオブジェクトのチェックボックスをオンにします。

1. **[アクション]** メニューに表示されるオプションのリストから **[コピー]** を選択します。

1. 送信先パスを指定するには、**[S3 の参照]** を選択し、ソースオブジェクトと同じ送信先に移動して、送信先にあるチェックボックスをオンにします。[**コピー先の選択**] を選択します。

   または、送信先パスを入力します。

1. バケットバージョニングを有効にしていない場合は、バケットバージョニングを有効にして、オブジェクトを意図しない上書きまたは削除から保護することを推奨する警告が表示されます。**このバケットのオブジェクトの全バージョンを保持する場合は、**[バケットのバージョニングを有効にする]** をクリックします。**[送信先の詳細]** で、デフォルトの暗号化プロパティと Object Lock プロパティを確認することもできます。

1. **[追加のコピー設定]** で、**[設定を指定]** を選択して、**[メタデータ]** の設定を指定します。

1. **[メタデータ]** セクションまでスクロールし、**[すべてのメタデータを置き換え]** を選択します。

1. **[メタデータの追加]** を選択します。

1. メタデータの [**タイプ**] には [**ユーザー定義**] を選択します。

1. `x-amz-meta-` に続いて、一意のカスタム [**キー**] を入力します。メタデータの [**Value (値)**] も入力します。

1. さらにメタデータを追加するには、[**Add metadata (メタデータの追加)**] を選択します。[**削除**] をクリックして、タイプ、キー、値のセットを削除することもできます。

1. **[コピー]** を選択します。Amazon S3 はメタデータの変更を保存します。