Posted at

BigQueryのセキュリティについて考えた

More than 3 years have passed since last update.


このあたりでセキュリティのことも考えてみた

先に言っておきます。セキュリティ論を語るつもりはありません。

どんなことが出来るのか?そもそも色んな角度がありますが、私が知っている情報を整理してみたいと思います。


Googleとしてのセキュリティ

CloudServiceなので、物理などどうしても手が出せない部分があったり、blackboxであるがゆえに不安なところもあります。しかし、Googleでは以下のような認証を受けて担保されていると私は考えています。

・ISO27001

・HIPAA

(参考)https://support.google.com/work/answer/6056694

ここには記載されていませんが、PCIDSSも取得しているようです。

http://japan.zdnet.com/article/35057333/


アカウントに対するセキュリティ

アカウントに対してのセキュリティとBigQueryに対しての2種類があると思っています。

それぞれに対して解説していきます。


Apps for workのセキュリティ

少し前までは、結構ゆるい感じを私自身も受けていました。メールサービスがあって、そしてスプレッドシートとかもおまけで使えるよ。そんな感じでした。(すいません・・・・)

しかし、今となってはアクセスする端末を指定したり二段階認証、アカウントに応じた様々な設定ができます。アクセスログなんかも取ってくれてこれは非常に便利だと私は思っています。


BigQueryに対してのセキュリティ

dataset単位でアクセス権を設定できます。そして、そのアクセス権もowner・editor・readと3種類設定できます。

例えば、元データが入っているdatasetはreadで、勝手にviewを作りたい場合は違うdatasetを用意してあげて、そこはeditorにしてあげるとか。そんな使い方ができます。


そして組み合わせる

Apps for workとBigQueryの組み合わせが一番最適だと思っています。それはApps for workでグループを作成して、そのグループ単位でアクセス権を設定できます。

例えば、Apps for workでhanbaiというグループを作成し、それをBigQueryのdatasetにreadで権限を付与します。そうすることで、Apps for work側でそのグループに人を追加するだけで、そのデータを見ることができます。うちの場合は、総務部や人事部がこのあたりで設定してくれるので、エンジニアは必要ありません。つまり「あっちもこっちも」なアカウント管理をしなくても良いのです。

(※GAも早くそうなってほしいもんですが・・・・・愚痴)


監査について

ISMSやISO27001、PCIDSS、内部統制などを経験された方は、その審査で言われるのが「監査」ではないでしょうか?

誰が、いつ、どこで、どういうデータにアクセスしたのか?便利だからこそ、こういうところが非常に重要だと私は思っています。

BigQueryではこれをJobというカタチで残っているようです。APIで取得できます。(ここは中の人に聞きました)

https://cloud.google.com/bigquery/docs/reference/v2/jobs/list

ただし、非常に面倒で自分もまだ全てを理解していないのが実際です。

おそらく、このapiで取りながらbqで取っていくということになりそうですが、このあたりを次回で紹介したいと思います。


最後に

『ど〜しよっかなぁ〜?(中邑風味)』でカジュアルに書こうかと思いましたが、ことがことなだけにちょいとまじめに書いてみました。

あと、監査の部分はどうしてもクリアしたいと思っていますので、先ほども書きましたが、このあたりをしっかり検証してまた書きます。