

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

# チュートリアル: Simple Storage Service (Amazon S3) バケットにオブジェクトをアップロードする際の POSIX アクセス許可を付与する
<a name="attach-s3-posix-permissions"></a>

次の手順では、POSIX アクセス許可を使用してオブジェクトを Simple Storage Service (Amazon S3) にアップロードするプロセスについて説明します。これにより、その S3 バケットにリンクされている Amazon FSx ファイルシステムを作成する際に POSIX アクセス許可をインポートできます。

**POSIX アクセス許可を持つオブジェクトを Simple Storage Service (Amazon S3) にアップロードするには**

1. ローカルコンピュータまたはマシンから、次のコマンド例を使用して、S3バケットにアップロードされるテストディレクトリ (`s3cptestdir`) とファイル (`s3cptest.txt`) を作成します。

   ```
   $ mkdir s3cptestdir
   $ echo "S3cp metadata import test" >> s3cptestdir/s3cptest.txt
   $ ls -ld s3cptestdir/ s3cptestdir/s3cptest.txt
   drwxr-xr-x 3 500 500 96 Jan 8 11:29 s3cptestdir/
   -rw-r--r-- 1 500 500 26 Jan 8 11:29 s3cptestdir/s3cptest.txt
   ```

   新しく作成されたファイルとディレクトリには、前の例に示すように、ファイル所有者のユーザー ID (UID) とグループ ID (GID) が 500 で、アクセス許可があります。

1. Simple Storage Service (Amazon S3) API を呼び出して、メタデータ許可を持つディレクトリ `s3cptestdir` を作成します。ディレクトリ名は、末尾にスラッシュ (`/`) を付けて指定する必要があります。サポートされている POSIX メタデータについては、「[データリポジトリの POSIX メタデータのサポート](posix-metadata-support.md)」を参照してください。

   `{{bucket_name}}` を実際の S3 バケット名に置き換えます。

   ```
   $ aws s3api put-object --bucket {{bucket_name}} --key s3cptestdir/ --metadata '{"user-agent":"aws-fsx-lustre" , \
         "file-atime":"1595002920000000000ns" , "file-owner":"500" , "file-permissions":"0100664","file-group":"500" , \
         "file-mtime":"1595002920000000000ns"}'
   ```

1. POSIX アクセス許可が S3 オブジェクトメタデータにタグ付けされていることを確認します。

   ```
   $ aws s3api head-object --bucket {{bucket_name}} --key s3cptestdir/
   {
       "AcceptRanges": "bytes",
       "LastModified": "Fri, 08 Jan 2021 17:32:27 GMT",
       "ContentLength": 0,
       "ETag": "\"d41d8cd98f00b204e9800998ecf8427e\"",
       "VersionId": "bAlhCoWq7aIEjc3R6Myc6UOb8sHHtJkR",
       "ContentType": "binary/octet-stream",
       "Metadata": {
           "user-agent": "aws-fsx-lustre",
           "file-atime": "1595002920000000000ns",
           "file-owner": "500",
           "file-permissions": "0100664",
           "file-group": "500",
           "file-mtime": "1595002920000000000ns"
       }
   }
   ```

1. メタデータのアクセス許可を使用して、コンピュータから S3 バケットにテストファイル (ステップ 1 で作成した) をアップロードします。

   ```
   $ aws s3 cp s3cptestdir/s3cptest.txt s3://{{bucket_name}}/s3cptestdir/s3cptest.txt \
         --metadata '{"user-agent":"aws-fsx-lustre" , "file-atime":"1595002920000000000ns" , \
         "file-owner":"500" , "file-permissions":"0100664","file-group":"500" , "file-mtime":"1595002920000000000ns"}'
   ```

1. POSIX アクセス許可が S3 オブジェクトメタデータにタグ付けされていることを確認します。

   ```
   $ aws s3api head-object --bucket {{bucket_name}} --key s3cptestdir/s3cptest.txt
   {
       "AcceptRanges": "bytes",
       "LastModified": "Fri, 08 Jan 2021 17:33:35 GMT",
       "ContentLength": 26,
       "ETag": "\"eb33f7e1f44a14a8e2f9475ae3fc45d3\"",
       "VersionId": "w9ztRoEhB832m8NC3a_JTlTyIx7Uzql6",
       "ContentType": "text/plain",
       "Metadata": {
           "user-agent": "aws-fsx-lustre",
           "file-atime": "1595002920000000000ns",
           "file-owner": "500",
           "file-permissions": "0100664",
           "file-group": "500",
           "file-mtime": "1595002920000000000ns"
       }
   }
   ```

1. S3 バケットにリンクされている Amazon FSx ファイルシステムに対するアクセス許可を確認します。

   ```
   $ sudo lfs df -h /fsx
   UUID                       bytes        Used   Available Use% Mounted on
   3rnxfbmv-MDT0000_UUID       34.4G        6.1M       34.4G   0% /fsx[MDT:0]
   3rnxfbmv-OST0000_UUID        1.1T        4.5M        1.1T   0% /fsx[OST:0]
    
   filesystem_summary:         1.1T        4.5M        1.1T   0% /fsx
    
   $ cd /fsx/s3cptestdir/
   $ ls -ld s3cptestdir/
   drw-rw-r-- 2 500 500 25600 Jan  8 17:33 s3cptestdir/
   
   $ ls -ld s3cptestdir/s3cptest.txt
   -rw-rw-r-- 1 500 500 26 Jan 8 17:33 s3cptestdir/s3cptest.txt
   ```

`s3cptestdir` ディレクトリと `s3cptest.txt` ファイルの両方に POSIX 許可がインポートされています。