Lookerベスト・プラクティス:適切なユーザー&グループ管理の進め方 #looker

2019.09.10

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

Lookerではトピック毎のベストプラクティスを個別にドキュメントやナレッジベースとしてまとめています。当エントリではその中から、『ユーザーとグループ』を作成・管理する上で気をつけておくべきポイントについてご紹介したいと思います。

目次

 

はじめに

Looker内の特定のデータ、機能、コンテンツに対して適切なユーザーのみがアクセス出来るようにするには、ユーザーを適切に管理していくことが重要です。

"完全にオープン"なシステムでも無い限り、全てのデータとコンテンツのセキュリティを確保するための「ユーザー管理戦略」を立案・実現して行く必要があります。ユーザーと合わせて「グループ」を活用する事により、個々のユーザーレベルでユーザーアクセスを追加・管理・更新していく必要が無くなります。

 

権限をマッピングする

まずはじめに、ユーザーベース全体で必要となる「権限」と「アクセス」をマッピングします。

  • Looker内で使用可能な様々なデータセットと、様々なユーザーグループで使用出来るこれらの組み合わせを特定。組織にモデルが1つしかないような場合であれば対応はとても簡単です。一方、組織にモデルが複数存在する場合、作成する必要のあるモデル(モデルセット)の幾つかの異なる組み合わせが存在する場合があります。
  • 所有している、様々なユーザーのタイプを整理・特定。一般的なユーザーには、以下のようなものが含まれます。これらの各ユーザータイプが使用出来る機能は、権限セットを使用して設定する必要があります。
    • ダッシュボードを表示出来るが、データを閲覧出来ないユーザー
    • データを閲覧出来るが、LookMLを作成出来ないユーザー
    • LookMLを作成出来るユーザー
    • 管理者
  • データアクセス(モデルセット)と機能アクセス(権限セット)がどの様に"交差"するかを検討。例えば、データアクセスが単一のモデルに制限され、機能へのアクセスがダッシュボードに制限されているユーザーが多数いる場合があります。このデータと機能へのアクセスを組み合わせて、ロールを作成していきます。

 

グループをマッピングする

次に、SalesやFinanceなど、ユーザーベース内の"機能グループ"について考えます。

これらの機能グループは、Looker内でユーザーを割り当てることが出来るグループに反映される必要があります。グループを使用して、コンテンツ(ダッシュボードとLook)を保護する事が出来ます。

  • 例えば、組織内に「営業部門」があり、その部門内に「小規模な営業運用チーム」と並んで「複数のアカウントエグゼクティブ」がいる場合があります。
    • Lookerで「Salesグループ」を作成し、そのグループ内にサブグループ「Account Executives」と「Sales Ops」を作成出来ます。
    • 「Account Executives」サブグループは、閲覧者のアクセス権限を持つロールにマップされ、
      「Sales Ops」サブグループは、エクスプローラーのロールを持つロールにマップされる場合があります。
  • これらのグループを使用して、フォルダー(Looker v6.20以前は「スペース」と呼ばれていました)、つまりコンテンツへのアクセスを管理出来ます。
    • Organizing with Spaces
    • 例えば、共有フォルダ内に「営業部門」のみが表示出来る"営業"フォルダを作成出来ます。アカウントエグゼクティブにはそのフォルダへの表示アクセス権を付与出来ますが、営業担当チームはそのフォルダへのアクセスを管理し、そのフォルダ内のコンテンツを編集することが出来ます。
  • 営業部門全体のアクセスまたは権限の変更は、営業グループを使って管理出来ます。
  • アカウントエグゼクティブまたは営業担当チームのアクセスまたは権限の変更は、サブグループレベルで管理出来ます。
  • 新しいユーザーを適切なグループに追加することで、適切な権限が自動的に継承されます。

 

グループレベルでコントロールを適用する

  • ユーザーを設定する際は、ユーザーにロールを直接与えないこと。各ユーザーをグループに割り当てるようにしましょう。個々のロールとグループメンバーシップに基づく役割を与えられたユーザーは、個人とグループの両方の割り当てから全ての役割を継承します。
  • ユーザーを複数のグループに配置する場合、その内容に注意してください。複数グループに所属するユーザーは、所属する全てのグループの全ての特権の合計を権限として得ます。複数のグループに所属したユーザーが適切なアクセスレベルに制限されていることを必ず確認してください。
  • 可能であれば、グループレベルでユーザー属性値を割り当てるようにしてください。

これらのプラクティスが適用されていることを確認するために、以下エントリも合わせてご参照ください。

 

まとめ

というわけで、Lookerにおける『ユーザーとグループ』の作成・管理方法に関する内容のご紹介でした。

Lookerでは色々な設定が細やかに設定可能です。当エントリで紹介しているように前以て"ユーザーやグループのあるべき姿"を洗い出しておくことでその形を実現することも可能となります。逆に、最初に情報を洗い出しておかないと後々(設定や管理)がカオスになりかねないとも言えるでしょう。必要な情報を事前に持ち寄り、この辺の作業はスムーズに進めて行きたいものですね。