ヤマムギ

growing hard days.

*

kintoneのアプリ管理の情報をkintoneで作ったアプリ管理アプリに格納/更新する

   


kintone Advent Calendar 2017の参加記事です。

課題

  • kintoneのアプリがどれぐらい作られていて、使われいてるのか、ドメイン内全体で知るためにはkintoneアプリ管理メニューで見るしかない。
    (と思っています)

  • kintoneアプリ管理では20件づつのアプリしか見えず、ソートの変更は出来るものの検索が行えず、不要なアプリの抽出や、ポリシーに違反しているアプリを探すのに手間がかかる。
    (と思っています)

対策

  • kintoneアプリ管理メニューの情報をkintoneアプリにつっこんで、検索とか出来るようにする。

  • でも管理者ユーザーとはいえ権限がないアプリの情報はAPIからは取得出来ない。

  • 今だけ仕方なくwebスクレイピングする。
    (サポート外なのでおすすめしません)

やってみた

出来た

アプリ管理アプリにデータが格納されました。

使い方を考える

アクセス権のポリシー違反抽出

例えばポリシーとして、管理者を必ずアクセス権に入れるというポリシーを決めていたとします。
その場合、このアプリ管理画面から取得した情報と、以前の記事の「kintoneでEveryoneに権限が設定されているアプリをAWS Lambdaで一括チェックする」のように管理者の権限でAPIアクセスして得たリストを比較することで、管理者の権限がないアプリがリストアップ出来ます。

不要アプリ確認

「新しいアプリ」のまま放置されているものや、テンプレートから作成してお試しのままのもの(レコード数が極端に少ない)など、あきらかに使っていないアプリを検索して更新者に連絡します。

効果測定

もしも数値効果がどうしても必要であれば(あんまりいい話ではないですが)、アプリ管理アプリにテーブルを追加して、このアプリがなければ今月の数字で何が減っていたか、増えていたかを月ごとに記録していってはどうでしょう。

なんとかなった点

  • ログイン後の画面遷移待ちはaccount-menu-cybozuが現れるのを待つようにした。

  • アプリ管理のページングはアプリIDでソートしてページャーをクリックするのではなく、GetするURLを変更してループした。

  • ページ読み込み待ちを確実にするために該当のページのアプリ数が表示されることを判定して待つようにした。

最後に

  • 今回やっていること(管理者が権限のないアプリの情報を自動的に取り出す)をkinotneの機能で出来るという情報があれば教えてください。

  • ドメイン内でデフォルトで必須となるアクセス権や、管理者の全アプリへの特権アクセスなど、今後機能として追加されると喜ばれるケースもけっこうあるんじゃないかと思ったりしました。

@yamamanx

開発ベンダー5年、ユーザ企業システム部門通算9年、ITトレーナー1年目のSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。

このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。

また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。

 - kintone

ad

ad

  関連記事

kintone開発者ライセンスを申し込む

kintoneにはkintoneのアプリケーション開発や検証を目的とした開発者ラ …

kintone webhookからAWS API Gateway – Lambdaを実行しレコードの値を渡す

2017年2月のアップデートでkintoneにWebhook機能がリリースされま …

kintoneの全フィールド(テーブル含む)の編集を不可にする

小ネタですが kinotneでとにかくフォーム上から全フィールドの編集を無効にし …

kintone JavaScript APIで新規レコード作成時にログインユーザーとその組織をフィールドにデフォルト値として登録する

よくやりそうなふるまいなので書き残しておきます。 create_userフィール …

kintone Café 大阪 vol.12で企画/登壇しました

前回(vol.11)よりkintone Café 大阪の運営に参加させていただ …

kintoneでEveryoneに権限が設定されているアプリをAWS Lambdaで一括チェックする

こないだ、kintone Cafeでユーザーが自由に作成している環境だと、どんな …

kintoneのレコードをPythonから条件クエリー(チェックボックス)で取得する

Google Calendar Twilio Reminderのkintoneの …

kintoneの一覧に表示されているレコードのフィールドを更新する

kintoneで一括でレコード更新をするときに、書き出して、CSVの値を修正して …

「gusuku Meetup OSAKA Vol.1」に参加させていただきました

前回のkinotne Cafeの懇親会でふと言った「gusuku Meetupっ …

「【Twilio x kintone 合同ハンズオン in 大阪】Twilio Studioとkintoneで電話受付システムをつくろう」に行ってきました

「【Twilio x kintone 合同ハンズオン in 大阪】Twilio …