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の設定値」に記載の値とします。
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 |
ストレージ認証情報のデフォルト情報に以下の設定値を登録する手順を説明します。
集信ストレージ管理情報の項目名 |
設定値 |
登録有無 |
---|---|---|
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ロールを使用する認証情報の登録が完了しました。
次に、集信ストレージ管理情報に以下の設定値を登録する手順を説明します。
集信ストレージ管理情報の項目名 |
設定値 |
登録有無 |
---|---|---|
集信ストレージ管理情報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の環境のバケットにファイルをアップロードする設定の登録が完了しました。