0
0

はじめに

S3のオブジェクトを、どうすれば安全にほかのAWSアカウントのs3バケットにコピーできるのか、考えたことがある人もいると思います。
できるだけ、セキュアな方法で安全にコピーするにはどうすればよいか。
今回は、コンソール上からのコピー方法をこちらの記事を参考に試してみたいと思います。

クロスアカウントコピーのやり方

今回は以下の2通りの方法を試していきたいと思います。

  • S3のACLによるクロスアカウントコピー
  • IAMユーザーとバケットポリシーの設定によるS3のクロスアカウントコピー
    ACLの設定が一番簡単ですが、IP制限など詳細なアクセス制御をしたい場合はIAMユーザーとバケットポリシーによる設定が良いと思います。

S3のACLによるクロスアカウントコピー

AWS的にはACLを有効にするのは非推奨みたいですが、今回はACLを使ってクロスアカウントコピーをやってみます。
image.png

コピー元のIAMユーザーのポリシー

S3FullAccess権限つけてます。(本当は参考にした記事のように細かく権限を指定したほうが良いと思いますが、今回はこちらでいかせていただきます)
image.png

コピー先のバケットのアクセス許可

アクセス許可のオブジェクト所有者の編集をクリック
image.png

ACL有効にし、「私は、ACL が復元されることを了承します。」をチェックします。
そして、変更の保存をクリックします。
image.png

アクセス許可のオブジェクト所有者の下にあるアクセスコントロールリスト(ACL)の編集をクリック
image.png

被付与者の追加をクリックします。オブジェクトのリスト、書き込みにチェックをいれます。
image.png

IDの部分はコピー元のバケットのアクセス許可→アクセスコントロールリスト(ACL)のバケット所有者 (AWS アカウント)のIDを貼り付けて変更の保存をします。
image.png

コピー元バケットからオブジェクトをコピー

オブジェクトを選択し、アクションのコピーするをクリックします。
image.png

送信先を入力します。
image.png

「コピーする」をクリック
image.png

成功するとこのような表示がでます。
image.png

IAMユーザーとバケットポリシーの設定によるS3のクロスアカウントコピー

S3のクロスアカウントコピーを実現するためには、コピー元のIAMユーザーにS3の許可ポリシーをアタッチし、コピー先のバケットにアクセス許可のポリシーを設定する必要があります。

コピー元のIAMユーザーのポリシー

S3FullAccess権限つけてます。
image.png

コピー先バケットにバケットポリシーを設定

コピー先のバケットにコピー元のIAMユーザーがオブジェクトをアップロードできるようにする許可を追加します。

{
	"Version": "2012-10-17",
	"Id": "test",
	"Statement": [
		{
			"Sid": "Statement1",
			"Effect": "Allow",
			"Principal": {
                "AWS": "コピー元のIAMユーザーのARN"
            },
			"Action": [
				"s3:PutObject"
			],
			"Resource": [
				"arn:aws:s3:::コピー先のバケット名",
				"arn:aws:s3:::コピー先のバケット名/*"
			]
		}
	]
}

コピー元バケットからオブジェクトをコピー

オブジェクトを選択し、アクションのコピーするをクリックします。
image.png

送信先を入力します。
image.png

「コピーする」をクリック
image.png

成功するとこのような表示がでます。
image.png

終わりに

今回はACLとバケットポリシーによる2通りのクロスアカウントコピーをやってみました。
ACLは非推奨らしいので、バケットポリシーで設定するのが良いと思います。
もっと、セキュリティに考慮したやり方があるので勉強していきたいと思います。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0