【Looker】General Settingsで設定した方がよい項目
はじめに
今回は、かなり地味なお話です^^
管理
> General
> Settings
で設定できる内容の調査結果になります。
General Settings
記事を書くに至った経緯
LookerをBigQueryに接続して利用していますが、BigQueryに対するセキュリティ対策として
GCPのVPC Service Controls[1]で保護しています。
VPC Service ControlsでLookerからBigQueryに対する通信のみ許可するため
セキュアなデータベースアクセスを可能にするに記載されているIPアドレスを許可して
利用していました。
AWS東京リージョンを指定してLookerを利用していたので、下記の2つのIPアドレスですね。
アジア
・ 52.68.85.40
・ 52.68.108.109
【構成図】
2021年3月中旬以降、急にLookerからBigQueryへのクエリでエラーが出ました。
むむ、何も設定は変えていないのになぜだ!となりました(笑)
Lookerで表示されたエラーメッセージは以下の通りです。
どうもVPC Service Controlsが悪さしてそうだ。。なぜだ。。
念の為、GCP側もCloud Loggingでログを確認してみたところ、同様にエラってました。
{
"protoPayload": {
"@type": "type.googleapis.com/google.cloud.audit.AuditLog",
"status": {
"code": 7,
"message": "Request is prohibited by organization's policy. vpcServiceControlsUniqueIdentifier: XXXXXXXXXXXX",
"details": [
{
"@type": "type.googleapis.com/google.rpc.PreconditionFailure",
"violations": [
{
"type": "VPC_SERVICE_CONTROLS",
"description": "XXXXXXXXXXXX"
}
]
}
]
},
"authenticationInfo": {
"principalEmail": "looker-poc-user@<project_name>.iam.gserviceaccount.com",
"serviceAccountKeyName": "//iam.googleapis.com/projects/<project_name>/serviceAccounts/looker-poc-user@<project_name>.iam.gserviceaccount.com/keys/XXXXXXXXXXXXXXXXXXXXX"
},
"requestMetadata": {
"callerIp": "54.250.91.57",
"requestAttributes": {},
"destinationAttributes": {}
},
"serviceName": "bigquery.googleapis.com",
"methodName": "permission:bigquery.jobs.create",
"resourceName": "projects/XXXXXXXXXXXX",
"metadata": {
"resourceNames": [
"projects/XXXXXXXXXXXX"
],
"violationReason": "NO_MATCHING_ACCESS_LEVEL",
"accessLevels": [
"no_matching_definitions"
],
"@type": "type.googleapis.com/google.cloud.audit.VpcServiceControlAuditMetadata",
"intermediateServices": [
"bigquery.googleapis.com"
],
"securityPolicyInfo": {
"organizationId": "XXXXXXXXXXXXX",
"servicePerimeterName": "accessPolicies/XXXXXXXXXXXX/servicePerimeters/vpc_sc_looker_poc"
},
"vpcServiceControlsUniqueId": "XXXXXXXXXXXX",
"ingressViolations": [
{
"targetResource": "projects/XXXXXXXXXXXX",
"servicePerimeter": "accessPolicies/XXXXXXXXXXXX/servicePerimeters/vpc_sc_looker_poc"
}
]
}
},
"insertId": "1cuc80td345p",
"resource": {
"type": "audited_resource",
"labels": {
"project_id": "<project_name>",
"method": "permission:bigquery.jobs.create",
"service": "bigquery.googleapis.com"
}
},
"timestamp": "2021-03-15T11:33:02.331662432Z",
"severity": "ERROR",
"logName": "projects/<project_name>/logs/cloudaudit.googleapis.com%2Fpolicy",
"receiveTimestamp": "2021-03-15T11:33:03.084027697Z"
}
あれ、接続元IPが54.250.91.57
になっているではないですか。。
改めてセキュアなデータベースアクセスを可能にするを確認してみると
次世代ホスティングという項目に以下のIPアドレスがありました。
アジア太平洋地域(東京)(ap-northeast-1)
・ 54.250.91.57
・ 13.112.30.110
・ 54.92.76.241
あれ、、そんな話、聞いていないぞ (゚o゚;
ということで問い合わせてみたところ、次世代ホスティングインフラストラクチャへの移行についての内容をTechnical Contactsの技術担当にも通知していますで!とのことでした。
ふむ、なるほど。それは設定してないぞ!(笑)
ということで、改めてGeneral Settings
を見直してみようと流れになりました^^
(前置きが長くてすいまそん。。)
利用環境
Product | version |
---|---|
Looker | 21.4.17 |
BigQuery | 2021年3月15日時点 |
VPC Service Controls | 2021年3月15日時点 |
Region | asia-northeast1 |
設定項目
以下、General Settingsで設定できる項目になります。
(公式サイトの和訳に近い内容になっています)
【Settings】
項目名 | 初期値 | 内容 |
---|---|---|
License Key | <Looker社が設定> | 契約しているライセンスキー |
Host URL | <Looker社が設定> | LookerのログインページのURL |
Technical Contacts | - | 技術サポートの依頼担当の連絡先、重要な情報の通知先 |
Application Time Zone | US Pacific (America - Los Angeles) | スケジュールされたLookジョブが認識するタイムゾーン |
今回のトリガーとなったTechnical Contactsはデフォルトで空欄になっていました。
自分ともう1名のメンバーを追加しました!
すると先月末に新バージョンに関するメール通知が届きました。
Application Time ZoneがUS Pacific (America - Los Angeles)
となっていました。
このタイミングに合わせて、Asia / Tokyo
に変更しました。
日本国内のメンバーだけで運用するのであれば、これだけでOKだと思います。
様々なタイムゾーンの国に分かれて対応するような場合は、User Specific Time Zonesを
Enabled
にして、ユーザ個々にタイムゾーンを設定することをお勧めします。
【Feature Configuration】
項目名 | 初期値 | 内容 |
---|---|---|
New Account Notification | Disabled | 新規アカウント作成時の管理者への通知設定 |
In-app Guides | Enabled | 機能に関するお役立ち情報を提供するポップアップ表示設定 |
Cookie Notification Banner | Disabled | Cookie通知バナーの表示設定 |
Curated Search | Enabled | キュレート検索機能の設定 |
Use Gravatar | Enabled | Gravatarアプリを使ったプロフィール写真の表示設定 |
User Specific Time Zones | Disabled | ユーザ固有のタイムゾーン設定 |
Default Visualization Colors | Boardwalk | ビジュアライゼーションのデフォルトのカラーコレクション設定 |
Persist Assets in Browser cache | Disabled | 静的アセットを各ユーザーのブラウザストレージにキャッシュする設定 |
Mobile Application Access | Disabled | Lookerモバイルアプリを使用したアクセス設定 |
New Account Notificationを追加でEnabled
にしました。
知らない間に勝手に新規ユーザが作成されても管理者にメール通知が来るようになります。
Use Gravatarですが、Gravatar[2]というサイトでアバター(画像)をアップすると
対応しているサイトでGravatar画像と公開プロフィールが自動的にフォローされるようです。
このサービス、初めて知りました。利用する想定がなかったので、Disabled
にしました。
【Data Policy】
項目名 | 初期値 | 内容 |
---|---|---|
Public URLs | Disabled | ログイン不要な公開URLの設定 |
Email Domain Allowlist for Scheduled Content | No domains specified. | コンテンツやアラート配信先のメールアドレスのドメインホワイトリスト設定 |
URL Allowlist for Data Actions | All urls allowed for data actions. | DimensionのActionパラメータでリンク先に指定するURLのホワイトリスト設定 |
Bock Inline Embedded Images in Query Resultsl | Enabled | クエリ結果のインライン埋め込み画像(Base64でエンコード)のブロック設定 |
Block Formulas and Macros in CSV and Excel Files | Disabled | CSVおよびExcelファイルの数式とマクロのブロック設定(文字をサニタイズします) |
Outgoing Webhook Token | xxxxxxxxxxx | Webhookを使ってコンテンツ配信する場合のリクエストに含めるLookerトークン |
Default Export Format | TXT | デフォルトのエクスポート形式 (利用できる形式: txt、xlsx、csv、json、html、md) |
まとめ
さて、いかがでしたでしょうか?
運用が始まるとあまり見ることのないページだと思います。
というかこれまでちゃんと設定項目を把握していませんでした。反省です。
Lookerのモバイルアプリ[3]とかも初めて知りました^^
Discussion
Gravatar は WordPress.com に統合されたサービスですね!
WordPress と Looker 以外でも他でちょいちょい使われていて、プロフィール画像アップロードの手間が要らなくなるので、微妙に重宝しています。
コメントありがとうございます!
なるほど、そうなんですね。使われているんですね^^