Looker APIを使ってユーザーを一括無効化・削除

使用しないユーザーが増えてしまったときに、複数のユーザーを一括で無効化・削除できると便利です。

LookerのUIからでは1つのユーザーごとにしか無効化・削除を実施できないのですが、APIを使用することで、簡単に複数のユーザーを一括で無効化・削除することができます。

今回はGoogle Colab上でLooker SDKを使用してpythonでこの方法を実装してみたいと思います。

Google Colabは、ブラウザ上でPythonを記述・実行できるサービスです。すでにpythonやJupyterがインストールされているので、初期セットアップ不要で気軽にお使いいただけます。

準備

Google Colabで新しくノートブックを開いたら、まずは必要となるパッケージのimportと環境変数の設定を実施します。

#Looker_sdkをインストール
! pip install looker_sdk

#パッケージをインポート
import looker_sdk
import os
from looker_sdk import models

os.environ['LOOKERSDK_API_VERSION']='3.1'
os.environ['LOOKERSDK_BASE_URL']='XXXXX'
os.environ['LOOKERSDK_CLIENT_ID'] = 'XXXXX'
os.environ['LOOKERSDK_CLIENT_SECRET']='XXXXX'

#looker_sdkを初期化
sdk = looker_sdk.init31()

XXXXX部分には下記を記載してください。

  • LOOKERSDK_BASE_URL
    • LookerインスタンスのAPI URL
  • LOOKERSDK_CLIENT_ID
    • Admin > User > Edit > API3 keys > Edit Keysに記載されているClient ID
  • LOOKERSDK_CLIENT_SECRET
    • Admin > User > Edit > API3 keys > Edit Keysに記載されているClient Secret

ユーザーを一括無効化

update_userエンドポイントを使用して無効化します。

 
#1. 無効化したいユーザーのIDをリストの中に記載します。
diable_user_list = [100, 101, 102, 103, 104]

#2. 下記を実行するとリスト内のユーザーが無効化されます。
for num in diable_user_list:
response = sdk.update_user(
user_id=num,
body=models.WriteUser(
is_disabled=True
))

ユーザーを一括削除

Lookerではユーザーの削除よりも無効化を推奨していますが、削除する必要がある場合はdelete_userエンドポイントを使用して削除します。

#1. 削除したいユーザーのIDをリストの中に記載します。
diable_user_list = [200, 201, 202, 203, 204]

#2. 下記を実行するとリスト内のユーザーが削除されます。
for num in delete_user_list:
response = sdk.delete_user(user_id = num)
0 0 255