Amazon S3 Object Ownershipの環境にオブジェクトをアップロードしたい

アカウントAが所有するAmazon S3 Object Ownershipの環境に、アカウントBがオブジェクトをアップロードする場合の設定について説明します。

ここでは、AWSにてアカウントBにアカウントAの権限を付与(クロスアカウント)し、アカウントBがアカウントAの権限でオブジェクトをアップロードします。

また、アカウントBがオブジェクトをアップロードする際、アカウントAが所有するAmazon S3 Object Ownershipの環境にアクセスできる権限をオブジェクトに付与します。

 

本機能は、以下のオプション製品に対応しています。

  • HULFT10 Cloud Storage Option(Amazon S3) for Windows

  • HULFT10 Cloud Storage Option(Amazon S3) for Linux

 

ここでは例として、AWSの設定後に取得した値を「表D.13 AWSの設定値」に記載の値とします。

表D.13 AWSの設定値

AWSの項目

アカウントAのIAMロールのAmazon Resource Name(ARN)

arn:aws:iam::123456789012:role/s3user

アカウントAのIAMロールをアカウントBに共有した際の外部ID

abcdefgh

アカウントBのAWSアクセスキー

ABCDEFGH

アカウントBのAWSシークレットアクセスキー

123456789

アップロードするオブジェクトに付与する既定ACL

bucket-owner-full-control

 

ストレージ認証情報のデフォルト情報に以下の設定値を登録する手順を説明します。

表D.14 ストレージ認証情報のデフォルト情報の設定値の例

集信ストレージ管理情報の項目名

設定値

登録有無

AWSアクセスキー

ABCDEFGH

AWSシークレットアクセスキー

123456789

セッショントークン

未設定

IAMロール有効化

未設定

スイッチロールARN

arn:aws:iam::123456789012:role/s3user

外部ID

abcdefgh

ロールセッション名

hulftauth

:

設定値を登録する項目

:

設定値を登録しない項目

 

AWSアクセスキーおよびAWSシークレットアクセスキーを使用した「IAMユーザー認証」を使用して、IAMロールの切り替えを行います。

ロールセッション名には、AWSサービス上のアクセスログを確認した際に識別できる値を指定してください。

注意

AWSアクセスキーおよびAWSシークレットアクセスキーで指定するユーザーには、スイッチロールARNに切り替えが可能な権限が必要です。

詳細は 「Amazon S3を使用するための設定」「IAMに対するアクセス権限」を参照してください。

 

ストレージ認証情報のデフォルト情報の登録コマンドで、IAMユーザー認証の設定を登録します。

utls3infoadd -t auth --default --access-key ABCDEFGH --secret-access-key 123456789 \
 --switch-role-arn arn:aws:iam::123456789012:role/s3user --external-id abcdefgh --role-session-name hulftauth

Amazon S3でのストレージ認証情報のデフォルト情報の登録コマンドの詳細は、 「ストレージ認証情報のデフォルト情報の登録コマンド」を参照してください。

注意

デフォルト情報では、登録コマンドで指定した情報がすべて上書きされます。

オプションで指定しなかった項目は、未設定(Use the default value.)が設定されます。

未設定(Use the default value.)の場合、下位互換設定の値が使用されます。

ただし、ストレージ認証情報IDをオプションで指定しなかった場合のみ、下位互換設定ではなくストレージ認証情報のデフォルト情報に登録されている値が使用されます。

以下のリストが表示されます。

$ utls3infoadd -t auth --default --access-key ABCDEFGH --secret-access-key 123456789 \
    --switch-role-arn arn:aws:iam::123456789012:role/s3user --external-id abcdefgh --role-session-name hulftauth 
The default information for Storage Authentication Information will be changed. 
Access Key: ABCDEFGH 
Secret Access Key: 123456789
Session Token:     Use the default value.
Enable IAM Role:   Use the default value. 
Switch Role ARN:   arn:aws:iam::123456789012:role/s3user
External ID:       abcdefgh
Role Session Name: hulftauth

IAMユーザー認証に指定した値と、スイッチロールARNおよび外部IDに設定した値が登録されたことを確認します。

 

ストレージ管理情報のデフォルト情報の登録コマンドで「-f」または「--force」を指定しなかった場合、以下の確認メッセージが表示されます。

Are you sure to register? [y/n]:

確認メッセージの表示後に、“y”または”Y”を入力し、ストレージ管理情報のデフォルト情報の登録コマンドを実行します。

 

これで、ストレージ管理情報のデフォルト情報へ、ファイルのアップロード時にアカウントAのIAMロールを使用する認証情報の登録が完了しました。

 

次に、集信ストレージ管理情報に以下の設定値を登録する手順を説明します。

表D.15 集信ストレージ管理情報の設定値の例

集信ストレージ管理情報の項目名

設定値

登録有無

集信ストレージ管理情報ID

bucket01

バケット名

未設定

ストレージタイムアウト

未設定

1転送あたりの最大並列数

未設定

パートサイズ

未設定

使用リージョン(*1)

未設定

エンドポイントのURL(*1)

未設定

アップロードファイルに適用するACL(*1)

bucket-owner-full-control

ストレージ認証情報ID

未設定

:

設定値を登録する項目

:

設定値を登録しない項目

*1

:

Amazon S3の場合のみ設定できます。

 

バケット所有者にオブジェクトの権限を委任するために、アクセスコントロールリスト(ACL)は「bucket-owner-full-control」を指定します。

注意

アップロードファイルに適用するACLを指定する場合、アクセスコントロールリスト(ACL)の変更に対して権限が必要です。

詳細は 「Amazon S3を使用するための設定」「バケットとオブジェクトに対するアクセス権限」を参照してください。

 

集信ストレージ管理情報の登録コマンドでアップロードファイルに適用するACLの設定値を登録します。

utls3infoadd -t rcv --id bucket01 --acl bucket-owner-full-control

Amazon S3でのストレージ管理情報の登録コマンドの詳細は、 「ストレージ管理情報の登録コマンド」を参照してください。

注意

オプションで指定しなかった項目は、未設定(Use the default value.)が設定されます。

未設定(Use the default value.)の場合、下位互換設定の値が使用されます。

Amazon S3で集信ストレージ管理情報のデフォルト情報の値を確認する場合は、「クラウドストレージDBの情報リストの表示コマンド」を参照してください。

以下のリストが表示されます。

$ utls3infoadd -t rcv --id bucket01 --acl bucket-owner-full-control 
The Receive Storage Management Information "bucket01" will be registered. 
Bucket:            Use the default value. 
Timeout:           Use the default value. 
Parallels:         Use the default value. 
Part Size:         Use the default value. 
Default Region:    Use the default value. 
Endpoint:          Use the default value.
ACL:               bucket-owner-full-control 
Auth ID:           Use the default value.

アップロードファイルに適用するACLに指定した値が登録されたことを確認します。

 

ストレージ管理情報の登録コマンドで「-f」または「--force」を指定しなかった場合、以下の確認メッセージが表示されます。

Are you sure to register? [y/n]:

確認メッセージの表示後に、“y”または”Y”を入力し、ストレージ管理情報の登録コマンドを実行します。

 

これにより、アカウントBにて転送を行う際、アカウントAへIAMロールを切り替えて、アカウントAが所有するAmazon S3 Object Ownershipの環境のバケットにファイルをアップロードする設定の登録が完了しました。