公開日:2019.11.04

AWSのS3のクロスアカウントでとりあえず転送するときのポリシー

テクログaws

はじめに

ここ最近、クロスアカウントでデータの転送をしたりと、

アカウントまたぎで作業する機会が多くなってるので、ロールとかポリシーとか

を作成したんですが、なんとなく理解はしているけど、よく使う部分かつ、

セキュリティーにも関わる部分なので理解するために記事にしようと思います。

ロールとかポリシーってなんすか?

ロールは日本語でいうと、役割。

ポリシーは方針のことです。

AWSでの設定例でいうと、

たとえば、EC2からS3にあるデータに何かさせたい場合。

EC2から、S3にあるAバケットにアクセスして、そこにあるデータを

上書きする役割を付けたとします。

その役割を果たすためにの方針を作成して、それをロールにくっつけて

あげます。

つまり、ロール+ポリシー=【誰がどのリソースに、何ができるのか】

を決めて、それをセットにして、リソースに設定をくっつけてあげることで

AWSのリソースを操作していくってことなんです。

S3の認証

ロール、ポリシーの作成って、やりたいことによって

いろいろ設定する方法があるので、ここでは自分がはまったS3の認証周りを

例にしてみたいと思います。

クロスアカウントでとにかく転送したい場合

Aアカウントの転送元バケットからBアカウントの転送先バケットにとりあえず、

転送したい場合。

これは、単純に、Bアカウント側のバケットポリシーでAアカウントからの

操作するためのアクセスを許可してあげればOKです。

バケットポリシーの例

{
  "Version": "2012-10-17",
  "Id": "Policyxxxxxxxxxxxx",
  "Statement": [
    {
      "Sid": "Stmtxxxxxxxxxxxxx",
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::AアカウントID:root"
      },
      "Action": "s3:*",
      "Resource": [
        "arn:aws:s3:::xxxxxx-test-backet",
        "arn:aws:s3:::xxxxxx-test-backet/*"
      ]
    }
  ]
}

Aアカウントから、BアカウントのS3バケットに対して、なんでもできるよ

というバケットポリシーになります。

やりたいことに合わせて、できることを絞っていくと

よりセキュアに使うことができますが、とりあえず転送するために

穴開けたい、あとで閉じるよ?くらいの使い方をしたいときに

こういう書き方をするとOKです。

さいごに

S3の認証って他にもいろいろあって掘っていくと

もっといろんな使い方できるんすけど、今回はこんな感じで。

この記事を書いた人

ひなっち

入社年2018年

出身地青森

業務内容インフラ

特技または趣味筋トレ

ひなっちの記事一覧へ

テクログに関する記事一覧