0
0

[BigQuery API(V2)] Javaでテーブルのアクセス制御ポリシーを取得する

Posted at

BigQuery API V2(Java)を使用して、
BigQueryテーブルのアクセス制御ポリシーを取得する方法についてご紹介します。

アクセス制御ポリシーを取得するには、
適切なIAM権限が付与されている必要があります。

権限付与に関しては
⧉[BigQuery API(V2)] JavaでBigQueryを使う(2.権限付与)
を参照ください。

APIを利用する環境の準備から始める場合や、コードを実行する際は、
⧉[BigQuery API(V2)] JavaでBigQueryを使う
を参照ください。

No 目次
1 アクセス制御ポリシーを取得
1 スコープ
2 実行
3 レスポンスの内容

1. アクセス制御ポリシーを取得

指定したテーブルのアクセス制御ポリシーを取得します。

1.1. スコープ

このAPIを実行するには、以下のいずれかのスコープを指定してください。

BigqueryScopes.BIGQUERY
BigqueryScopes.CLOUD_PLATFORM
BigqueryScopes.CLOUD_PLATFORM_READ_ONLY
https://www.googleapis.com/auth/bigquery.readonly

⧉[BigQuery API(V2)] JavaでBigQueryを使う(3.2. BigQueryインスタンスを取得)
でスコープを指定してください。

1.2. 実行

public static void main(String[] args) throws Exception{
    Bigquery bigquery = getBigquery();
    Bigquery.Tables tables = bigquery.tables();
    
    String resource = String.format("projects/%s/datasets/%s/tables/%s",
                "プロジェクトID","データセットID","テーブルID");
    
    GetIamPolicyRequest content = new GetIamPolicyRequest();
    Bigquery.Tables.GetIamPolicy policy = tables.getIamPolicy(resource,content);

    Policy res = policy.execute();
    System.out.println(res);
}

1.2.1. HTTPリクエスト

POST: https://bigquery.googleapis.com/bigquery/v2/projects/{プロジェクトID}/datasets/{データセットID}/tables/{テーブルID}:getIamPolicy

が実行されます。

1.2.2. クエリパラメータ

クエリパラメータはありません。

1.2.3. リクエストボディ

GetIamPolicyRequestsetメソッドにより、リクエストボディを追加できます。

メソッド 引数 説明
setOptions GetPolicyOptions オプション指定

GetPolicyOptions

メソッド 引数 説明
setRequestedPolicyVersion Integer ポリシーのフォーマットに使用されるポリシーの最大バージョン

1.3. レスポンスの内容

Policy

メソッド 戻り値 説明
getVersion Integer ポリシーのバージョン
getBindings List<Binding> プリンシパルとの関連情報
getAuditConfigs List<AuditConfig> クラウド監査ログ構成
getEtag String ハッシュ値

Binding

メソッド 戻り値 説明
getRole String 割り当てられるロール
getMembers List<String> リソースへのアクセスをリクエストするプリンシパル
getCondition Expr 関連付けられている条件

Expr

メソッド 戻り値 説明
getExpression String 共通式言語構文での式のテキスト表現
getTitle String 式のタイトル
getDescription String 式の説明
getLocation String ロケーション

AuditConfig

メソッド 戻り値 説明
getService String 監査ログを有効にするサービス
getAuditLogConfigs List<AuditLogConfig> 各タイプの権限のログを記録するための設定

AuditLogConfig

メソッド 戻り値 説明
getLogType LogType(enum) この構成で有効になるログのタイプ
getExemptedMembers List<String> このタイプのアクセス許可のログを記録しないID

LogType

定義値 内容
LOG_TYPE_UNSPECIFIED デフォルト
ADMIN_READ 管理人が読込
DATA_WRITE データの書込
DATA_READ データの読込


おしまい。。
0
0
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
0
0