LoginSignup
3
4

More than 5 years have passed since last update.

Glueの使い方的な㉛(GlueやAthenaで見えるテーブルを制限する)

Posted at

Glue リソースポリシーでアクセスコントロール

ユーザーAはGlueデータカタログのテーブル1が閲覧操作できるが、ユーザーBはGlueデータカタログのテーブル1を閲覧操作できないなどを実現する。

試す

管理者ユーザーは全部操作でき、se2_user31という名前のユーザーは閲覧操作できるテーブルに制限が掛かってることを確認

管理者ユーザーから確認

Glueデータカタログのデータベースが全部見えます

スクリーンショット 0030-12-16 17.33.30.png

Glueデータカタログのテーブルが全部見えます

スクリーンショット 0030-12-16 17.33.56.png

特定ユーザーに閲覧操作できるテーブルを限定します

ユーザー名:se2_user31
対象データベース:se2
対象テーブル:se2の配下すべて

Glueの画面から、[設定]をクリックし、"アクセス権限"の箇所にポリシーを書きます。

スクリーンショット 0030-12-16 15.19.34.png

ポリシーは以下のように、「se2_user31というユーザーが、データカタログのデータベースse2とデータカタログのテーブルのse2配下全部に対して閲覧操作可能」という内容です。

※se2_user31ユーザーのIAMポリシーにはGlueの設定はなにも入れない

{
  "Version" : "2012-10-17",
  "Statement" : [ {
    "Effect" : "Allow",
    "Principal" : {
      "AWS" : "arn:aws:iam::xxxxxxxxxxxx:user/se2_user31"
    },
    "Action" : "glue:*",
    "Resource" : [ "arn:aws:glue:ap-northeast-1:xxxxxxxxxxxx:catalog", "arn:aws:glue:ap-northeast-1:xxxxxxxxxxxx:database/se2", "arn:aws:glue:ap-northeast-1:xxxxxxxxxxxx:table/se2/*" ]
  } ]
}

動作確認

se2_user31ユーザーでログインし、データカタログのデータベースを見る。
se2だけ表示される

スクリーンショット 0030-12-16 17.42.06.png

データカタログのテーブルを見る。
なにも見えない

スクリーンショット 0030-12-16 17.42.19.png

検索窓で「データベース:se2」でフィルタリングすると表示される

スクリーンショット 0030-12-16 17.42.32.png

Athenaからも確認。同様にse2のデータベースとテーブルだけが表示される

スクリーンショット 0030-12-16 17.49.01.png

注意

この機能はメタデータへの権限制御なのでS3は関係ない。S3への権限があればS3にある実データを読み書き削除を行えてしまう。必要なら実データが入っているS3への権限制御も付与を行う

その他

アクセスコントロール用の AWS Glue リソースポリシー
https://docs.aws.amazon.com/ja_jp/glue/latest/dg/glue-resource-policies.html

AWS Glue データカタログ のデータベースとテーブルへのきめ細かなアクセス
https://docs.aws.amazon.com/ja_jp/athena/latest/ug/fine-grained-access-to-glue-resources.html

Glueの使い方まとめ
https://qiita.com/pioho07/items/32f76a16cbf49f9f712f

3
4
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
3
4