信頼はずっと、挑戦はもっと。

お問い合わせ
TEL:03-3496-3888

BLOG コアテックの社員ブログ (毎週月曜~金曜更新中)

2019

4

11月

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

テクログ

はじめに


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

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

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

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


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


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

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

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の認証って他にもいろいろあって掘っていくと

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


この記事を書いた人

マスオさん

ひなっち

所 属:
WEBインテグレーション事業部
出身地:
青森
仕事内容:
インフラ