gcpのassetをBigQueryに出力する際に
assetを取得するプロジェクトと、出力先のBigQueryのプロジェクトが異なるとエラーが起きて、export出来ない
gcloud asset export --project="プロジェクトA" --bigquery-table="projects/プロジェクトB/datasets/データセット名/tables/テーブル名" --content-type=resource
#以下のようなエラーが出る
ERROR: (gcloud.beta.asset.export) User [xxxxx@xxxxx] does not have permission to access project [プロジェクトA:exportAssets] (or it may not exist): The caller does not have permission
解決方法はこちらに書いてあった
https://cloud.google.com/asset-inventory/docs/faq#how_do_i_export_assets_to_tables_that_dont_belong_to_the_current_project
assetのexportをする際はassetのサービスアカウント(service-PROJECT_A_NUMBER@gcp-sa-cloudasset.iam.gserviceaccount.com)がBQのテーブルを作りに行く
そのため、プロジェクトAのassetのサービスアカウントにプロジェクトBのBigQueryのユーザ権限とデータ編集者権限をつけないといけない