Looker とデータベース間で最も強力な暗号化を行うために、トンネル サーバーまたはデータベース サーバー自体への SSH トンネルを作成できます。
SSH トンネルは、Google BigQuery や Amazon Athena データベースなど、ホストアドレスが 1 つもないデータベースでは使用できません。BigQuery と Athena のユーザーはここに記載の手順をスキップして、直接データベースの構成に進んでください。
ステップ 1: トンネルを終端するホストを選択する
データベースの SSH トンネル アクセスを設定する最初のステップは、トンネルの終端に使用するホストを選択することです。トンネルは、データベース ホスト自体または別のホスト(トンネル サーバー)で終端できます。
データベース サーバーを使用する
トンネル サーバーを使用しない場合、Looker は公共のインターネット経由で SSH トンネルを通じてデータベース サーバーに直接接続します。データベースで終端すると、シンプルになるという利点があります。ホストは 1 つ少ないため、追加のマシンとそれに関連する費用がかかりません。データベース サーバーが、インターネットから直接アクセスできない保護されたネットワーク上にある場合、このオプションは実行できない場合があります。
トンネル サーバーを使用する
トンネル サーバーを使用する場合、Looker は制限付きネットワーク上の別のトンネル サーバーを通じてデータベース サーバーに接続します。別のサーバーでトンネルを終端すると、インターネットからデータベース サーバーにアクセスできないという利点が得られます。トンネル サーバーが不正使用された場合でも、データベース サーバーからは一歩距離があります。トンネル サーバーでは、重要でないソフトウェアやユーザーをすべて削除し、IDS などのツールで注意深く監視することをおすすめします。
トンネル サーバーには、次の条件を満たす Unix / Linux ホストを指定できます。
- SSH を使用してインターネットからアクセスできる
- データベースにアクセスできる
ステップ 2: IP 許可リストを作成する
2 番目のステップでは、ネットワーク トラフィックが SSH(通常は TCP ポート 22)を通じて、トンネル サーバーかデータベース ホストに到達できるようにします。
Looker インスタンスがホストされているリージョンの各 IP アドレスからのネットワーク トラフィックを許可します。デフォルトでは米国となっています。
Google Cloud ホスト型のインスタンス
Looker ホスト型のインスタンスは、デフォルトで Google Cloud でホストされます。Google Cloud でホストされるインスタンスについては、自分のリージョンに合致する IP アドレスを許可リストに追加します。
Google Cloud でホストされているインスタンスの IP アドレスの全一覧については、こちらをクリックしてください。
米国、サウスカロライナ州モンクスコーナー(us-east1
)
34.23.50.137
35.211.210.64
35.211.95.55
35.185.59.100
34.111.239.102
35.237.174.17
34.73.200.235
35.237.168.216
34.75.58.123
35.196.30.110
35.243.254.166
米国、北バージニア地方アッシュバーン(us-east4
)
34.150.212.9
34.150.174.54
34.85.200.217
35.221.30.177
35.245.82.73
34.86.214.226
35.245.177.112
35.245.211.109
34.86.118.239
34.86.136.190
35.194.74.185
34.86.52.188
35.221.3.163
35.221.62.218
34.86.34.135
35.236.240.168
35.199.50.237
34.145.252.255
35.245.141.42
35.245.20.16
34.145.147.146
34.145.139.22
34.150.217.20
35.199.35.176
35.245.72.35
34.85.187.175
35.236.220.225
34.150.180.94
4.85.195.168
34.86.126.124
34.145.200.8
34.85.142.95
34.150.217.96
35.245.140.36
34.86.124.234
35.194.69.239
35.230.163.26
35.186.187.48
34.86.154.134
34.85.128.250
35.245.212.212
35.245.74.75
34.86.246.187
34.86.241.216
34.85.222.9
34.86.171.127
34.145.204.106
34.150.252.169
35.245.9.213
米国、アイオワ州カウンシル ブラフス(us-central1
)
104.154.21.231
35.192.130.126
35.184.100.51
34.70.128.74
34.69.207.176
35.239.118.197
34.172.2.227
34.71.191.210
34.173.109.50
35.225.65.3
34.170.192.190
34.27.97.67
35.184.118.155
34.27.58.160
34.136.4.153
35.184.8.255
35.222.218.140
34.123.109.49
34.67.240.23
104.197.72.40
34.72.128.33
35.226.158.66
34.134.4.91
35.226.210.85
米国、オレゴン州ダラス(us-west1
)
34.127.41.199
34.82.57.225
35.197.66.244
35.197.64.57
34.82.193.215
35.247.117.0
35.233.222.226
34.82.120.25
35.247.5.99
35.247.61.151
35.233.249.160
35.233.172.23
35.247.55.33
34.83.138.105
35.203.184.48
34.83.94.151
34.145.90.83
34.127.116.85
35.197.35.188
34.105.127.122
35.233.191.84
34.145.93.130
35.233.178.166
34.105.18.120
104.199.118.14
35.185.228.216
34.145.16.151
34.82.91.75
34.82.142.245
34.105.35.19
34.83.231.96
34.168.230.47
35.247.46.214
34.105.44.25
35.185.196.75
34.145.39.113
34.168.121.44
米国、カリフォルニア州ロサンゼルス(us-west2
)
35.236.22.77
35.235.83.177
35.236.51.71
カナダ、ケベック州モントリオール(northamerica-northeast1
)
35.234.253.103
35.203.46.255
34.152.60.210
35.203.0.6
35.234.252.150
35.203.96.235
34.152.34.229
34.118.131.36
35.203.113.51
イギリス、ロンドン(europe-west2
)
34.105.198.151
35.246.117.58
34.142.123.96
34.89.124.139
34.89.127.51
34.105.209.44
35.242.138.133
35.197.222.220
35.189.111.173
34.105.219.154
34.105.181.133
34.89.25.5
35.246.10.206
34.105.131.133
34.142.77.18
34.89.54.84
35.189.94.105
35.246.36.67
35.234.140.77
35.242.174.158
35.197.199.20
34.89.3.120
34.105.156.107
35.246.79.72
34.105.139.38
34.105.147.157
34.105.195.129
34.105.194.210
34.142.79.123
34.142.55.58
34.142.85.249
34.105.148.38
35.246.100.66
35.246.3.165
34.105.176.209
35.189.95.167
34.89.55.2
ドイツ、フランクフルト(europe-west3
)
35.242.243.255
34.159.247.211
35.198.128.126
34.159.10.59
34.159.72.77
34.159.224.187
34.89.159.138
34.159.253.103
34.159.244.43
35.246.162.187
34.89.141.190
34.159.65.106
34.159.197.31
34.89.194.134
34.159.252.155
34.141.65.216
34.159.124.62
35.246.130.213
34.89.206.21
34.89.185.201
34.159.171.46
35.246.217.228
35.242.236.115
34.159.148.253
インド、ムンバイ(asia-south1
)
35.200.234.34
34.100.205.37
34.93.225.12
34.93.221.137
35.244.24.198
35.244.52.179
オランダ、エームスハーヴェン(europe-west4
)
35.204.118.28
35.204.216.7
34.90.52.191
35.204.176.29
34.90.199.95
34.90.145.226
34.141.162.7
35.204.56.189
35.204.11.229
34.34.66.131
34.32.195.89
34.32.173.138
台湾、彰化県(asia-east1
)
104.199.206.209
34.80.173.212
35.185.137.114
日本、東京(asia-northeast1
)
34.85.3.198
34.146.68.203
34.84.4.218
シンガポール、ジュロンウェスト(asia-southeast1
)
34.143.210.116
34.143.132.206
34.87.134.202
34.101.158.88
34.101.157.238
34.101.184.52
インドネシア、ジャカルタ(asia-southeast2
)
34.101.158.88
34.101.157.238
34.101.184.52
オーストラリア、シドニー(australia-southeast1
)
34.87.195.36
34.116.85.140
34.151.78.48
35.189.13.29
35.189.9.81
35.244.68.217
ブラジル、サンパウロ州オザスコ(southamerica-east1
)
34.151.199.201
35.199.122.19
34.95.180.122
34.95.168.38
34.151.235.241
34.95.181.19
35.199.91.120
35.247.197.109
35.199.86.48
35.199.106.166
35.198.1.191
35.247.235.128
35.247.211.2
35.247.200.249
34.95.177.253
Amazon Elastic Kubernetes Service(Amazon EKS)でホストされるインスタンス
Amazon EKSでホストされるインスタンスについては、自分のリージョンに合致するIPアドレスを許可リストに追加します。Amazon EKS でホストされているインスタンスの IP アドレスの全一覧については、こちらをクリックしてください
米国東部(北バージニア)(us-east-1
)
18.210.137.130
54.204.171.253
50.17.192.87
54.92.246.223
75.101.147.97
18.235.225.163
52.55.239.166
52.86.109.68
54.159.176.199
3.230.52.220
54.211.95.150
52.55.10.236
184.73.10.85
52.203.92.114
52.3.47.189
52.7.255.54
54.196.92.5
52.204.125.244
34.200.64.243
18.206.32.254
54.157.231.76
54.162.175.244
54.80.5.17
35.168.173.238
52.44.187.22
18.213.96.40
23.22.133.206
34.239.90.169
34.236.92.87
3.220.81.241
54.197.142.238
34.200.121.56
3.83.72.41
54.159.42.144
3.229.81.101
34.225.255.220
54.162.193.165
34.235.77.117
3.233.169.63
54.87.86.113
18.208.86.29
52.44.90.201
米国東部(オハイオ)(us-east-2
)
3.135.171.29
18.188.208.231
3.143.85.223
米国西部(オレゴン)(us-west-2
)
44.237.129.32
54.184.191.250
35.81.99.30
カナダ(中央)(ca-central-1
)
52.60.157.61
35.182.169.25
52.60.59.128
35.182.207.128
15.222.172.64
3.97.27.51
35.183.191.133
15.222.86.123
52.60.52.14
ヨーロッパ(アイルランド)(eu-west-1
)
54.74.243.246
54.195.216.95
54.170.208.67
52.49.220.103
52.31.69.117
34.243.112.76
52.210.85.110
52.30.198.163
34.249.159.112
52.19.248.176
54.220.245.171
54.247.22.227
176.34.116.197
54.155.205.159
52.16.81.139
54.75.200.188
34.248.52.4
54.228.110.32
34.248.104.98
54.216.117.225
52.50.172.40
ヨーロッパ(フランクフルト)(eu-central-1
)
18.157.231.108
18.157.207.33
18.157.64.198
18.198.116.133
3.121.148.178
3.126.54.154
アジア太平洋(東京)(ap-northeast-1
)
54.250.91.57
13.112.30.110
54.92.76.241
52.68.245.25
3.114.138.0
54.249.39.36
アジア太平洋(シドニー)(ap-southeast-2
)
13.238.132.174
3.105.238.71
3.105.113.36
南アメリカ(サンパウロ)(sa-east-1
)
54.232.58.181
54.232.58.98
177.71.134.208
Microsoft Azureでホストされるインスタンス
Azureでホストされるインスタンスについては、自分のリージョンに合致するIPアドレスを許可リストに追加します。レガシーホスティング
2020年7月7日より前に作成され、AWSでホストされているすべてのインスタンスでは、以下のIPアドレスを使用してください。従来のホスティング向けの IP アドレスの全一覧についてはこちらをクリックしてください。
米国(AWSデフォルト)
54.208.10.167
54.209.116.191
52.1.5.228
52.1.157.156
54.83.113.5
カナダ
99.79.117.127
35.182.216.56
アジア
52.68.85.40
52.68.108.109
アイルランド
52.16.163.151
52.16.174.170
ドイツ
18.196.243.94
18.184.246.171
オーストラリア
52.65.128.170
52.65.124.87
南アメリカ
52.67.8.103
54.233.74.59
ステップ 3: SSH トンネリング
[SSH Servers] タブが有効になっている場合は、このページの手順で Looker に SSH サーバー構成情報を追加します。
[SSH Server] オプションは、インスタンスが Kubernetes インフラストラクチャにデプロイされており、Looker インスタンスに SSH サーバー設定情報を追加する機能が有効になっている場合に限り利用できます。このオプションが Looker インスタンスで有効になっておらず、有効にしたい場合は、Google Cloud セールス スペシャリストにお問い合わせいただくか、サポート リクエストを開いてください。
Looker の [Admin] セクションの [Connections] ページで、[SSH Server] タブをクリックします。
それから、[Add Server] を選択します。Looker に [Add SSH Server] ページが表示されます。
- SSH サーバー構成の名前を入力します。
- [Download Key] を選択して、公開鍵をテキスト ファイルにダウンロードします。後で SSH サーバーの承認済の鍵ファイルに公開鍵を追加する必要があるため、このファイルを必ず保存してください。
- Looker が SSH サーバーに接続する際に使用するユーザー名を入力します。
- SSH サーバーの IP アドレスまたはホスト名を入力します。
- SSH サーバーへの接続に使用するポート番号を入力します。
ステップ 4: トンネル ホストを準備する
公開鍵を authorized_keys
ファイルに追加する
SSH トンネル セッションを認証するために、Looker は一意の公開鍵を要求します(Looker ではパスワードによるログインはサポートされていません)。[SSH Server] タブがインスタンスで有効になっている場合は、SSH の構成情報を入力する際に [Download Key] ボタンを選択して公開鍵をテキストファイルにダウンロードできます。Looker アナリストのサポートを受けて SSH トンネルを構成する場合は、Looker アナリストから一意の公開鍵が提供されます。
looker
ユーザーを作成して Looker の .ssh/authorized_keys
ファイルに Looker 公開鍵を追加し、ホスト(データベース サーバーかトンネル サーバーのいずれか)を準備する必要があります。手順は次のとおりです。
コマンドラインで、
looker
という名前のグループを作成します。sudo groupadd looker
ユーザー
looker
とそのホーム ディレクトリを作成します。sudo useradd -m -g looker looker
looker
ユーザーに切り替えます。sudo su - looker
.ssh
ディレクトリを作成します。mkdir ~/.ssh
権限を設定します。
chmod 700 ~/.ssh
.ssh
ディレクトリに移動します。cd ~/.ssh
authorized_keys
ファイルを作成します。touch authorized_keys
権限を設定します。
chmod 600 authorized_keys
任意のテキスト エディタを使用して、Looker アナリストから提供された SSH 鍵を authorized_keys
ファイルに追加します。キーはすべて 1 行にする必要があります。メールからキーを取得すると、メール クライアントによって改行が挿入されることがあります。削除しないと、SSH トンネルを確立できません。
sshd_config
ファイルに ssh-rsa
を追加する
OpenSSH ではデフォルトで ssh-rsa が無効になっているため、SSH トンネルの設定時にエラーが発生する可能性があります。この問題を解決するには、サーバーで承認されるアルゴリズムのリストに ssh-rsa
を追加します。手順は次のとおりです。
sshd_config
ファイルを編集します。通常は~/etc/ssh/sshd_config
にあります。次のコードを
sshd_config
ファイルに追加します。HostKeyAlgorithms +ssh-rsa PubKeyAcceptedAlgorithms +ssh-rsa
トンネルのセキュリティに関する注意事項
データベース サーバーで SSH トンネルが終端すると、Looker からの接続がデータベース サーバー上のローカル接続として表示されます。したがって、MySQL などのデータベース プラットフォームに組み込まれている接続ベースのセキュリティ メカニズムを無効にします。たとえば、ローカル アクセス権がパスワードなしで root ユーザーに付与されることがよくあります。
デフォルトでは、SSH アクセスを開くとすべてのポートが転送され、Looker と SSH トンネルを終端するデータベース ホスト間のファイアウォールが回避されます。このセキュリティ リスクは許容できないものと考えられます。このポート転送とトンネル サーバーにログインする機能は、Looker 公開鍵の .ssh/authorized_keys
エントリを適切に構成することで制御できます。
たとえば、authorized_keys
ファイルの Looker SSH 認証鍵の前に次のテキストを追加できます。このテキストは環境に合わせてカスタマイズする必要があります。
no-pty,no-X11-forwarding,permitopen="localhost:3306",permitopen="localhost:3307",
command="/bin/echo Login Not Permitted"
例と詳細については、man ssh
と man authorized_keys
の Linux ドキュメントをご覧ください。
次のステップ
[SSH Server] タブがインスタンスで有効になっている場合は、[Add SSH Server] ページにもどって [Test & Request Fingerprint] を選択し、SSH サーバーへの接続を確認します。新しい SSH 構成と、公開鍵のダウンロードまたは表示、SSH サーバー構成の一意のフィンガープリントの表示の各オプションが画面に表示されます。
次に、データベースの [Connection Settings] ページで次の操作を行います。
- [SSH Server] を有効にし、プルダウン リストから SSH サーバー構成を選択します。
- [Remote Host] フィールドと [Port] フィールドに、データベースの IP アドレスまたはホスト名とポート番号を入力します。
SSH トンネルを使用したデータベース接続では、リモートホストおよびポートフィールドにユーザー属性を適用することはできません。
Looker アナリストのサポートを受けて SSH トンネルを構成する場合は、SSH トンネルをテストする準備ができたことを Looker アナリストに通知します。トンネルが確立されると、Looker アナリストは SSH トンネルの Looker 側のポート番号が通知されます。
次に、データベースの [Connection Settings] ページで次の操作を行います。
- [Remote Host] フィールドに「
localhost
」と入力します。 - [Port] フィールドに、Looker アナリストから提供された SSH トンネルの Looker 側のポート番号を入力します。
データベースの [Connections] ページで [Verify SSL Cert] をオフにします。
Looker からデータベースに SSH トンネルを設定する場合は、SSL 証明書はサポートされません。代わりに、ステップ 4 で追加した SSH 認証鍵が、Looker とデータベース間のハンドシェイクのセキュリティを提供します。