Glue リソースポリシーでアクセスコントロール
ユーザーAはGlueデータカタログのテーブル1が閲覧操作できるが、ユーザーBはGlueデータカタログのテーブル1を閲覧操作できないなどを実現する。
試す
管理者ユーザーは全部操作でき、se2_user31という名前のユーザーは閲覧操作できるテーブルに制限が掛かってることを確認
管理者ユーザーから確認
Glueデータカタログのデータベースが全部見えます
Glueデータカタログのテーブルが全部見えます
特定ユーザーに閲覧操作できるテーブルを限定します
ユーザー名:se2_user31
対象データベース:se2
対象テーブル:se2の配下すべて
Glueの画面から、[設定]をクリックし、"アクセス権限"の箇所にポリシーを書きます。
ポリシーは以下のように、「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だけ表示される
データカタログのテーブルを見る。
なにも見えない
検索窓で「データベース:se2」でフィルタリングすると表示される
Athenaからも確認。同様にse2のデータベースとテーブルだけが表示される
注意
この機能はメタデータへの権限制御なので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