はじめに
最近GCP(Google Cloud Platform)を社内のメンバーだけでなく、ベンダーの方にも共有することになり、
アカウントに最低限の権限のみ付与できるように方法を調べたので忘備録として残します。
今回やりたかったことは、スケジュールドクエリの作成・編集を行える権限のアカウントへの付与になります。
付与したい権限
スケジュールドクエリの作成・編集に必要な権限は下記になります
bigquery.jobs.create もしくは bigquery.transfers.update → 転送を更新するための権限です
bigquery.datasets.update → データセットのメタデータを更新するための権限です
操作手順
GCPのナビゲーションメニューの「IAMと管理」から「ロール」を選択します。
デフォルトのロール一覧画面になるのでページ上部の「ロールを作成」をクリックします。
「ロール作成」をクリックすると下記のようなロールの詳細設定画面になるので、
「スケジュール管理」など適当なロール名を記載します。
次に「権限を追加」をクリックすると今回作成するロールに付与するロールを選択する画面になります。
「プロパティ名または値を入力」の欄に付与したい権限名(今回の場合はbigquery.jobs.createなど)
を入力し、選択して右下の「追加」をクリックします。
付与したい権限を全て選択したら、「作成」をクリックしてロールの作成は完了です。
ロール作成後はナビゲーションメニューの「IAMと管理」の「IAM」から、
権限を付与するアカウントを選択して先程作成したロールを追加します。
以上で一通りの流れは終了です。
おわりに
今回はスケジュールクエリ作成のために必要な権限を付与したロールの作成を行いました。
デフォルトで用意されているロールを複数個アカウントに付与することでもスケジュールクエリの作成は行えるのですが、デフォルトのロールは含まれている権限が多いため必要以上の権限を与えてしまう可能性があります。
意図しないデータの削除など事故を防ぐためにも、目的別に最低限の権限のみを付与したロールを作成し、作業を行うアカウントにロールの追加を行うことをお勧めいたします。