ヤマムギ

growing hard days.

*

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

   

こないだ、kintone Cafeでユーザーが自由に作成している環境だと、どんなアクセス権設定をしているのか見えないのが、ガバナンス的に課題ですな〜みたいな話をしてましたので、とりあえず簡易的にチェック出来るものをAWS Lambdaで作ってみました。

コードはこちらGithubです。

ランタイムはPython3.6です。

ドメインのアプリ一覧を取得

k/v1/apps.jsonでドメインのアプリ情報一覧を取得します。

Headerにはユーザー認証で

単体のアプリに対してのAPIではないので、APIトークンは使えないので、ユーザー認証を使います。

X-Cybozu-Authorizationにbase64エンコードした、「ユーザーID:パスワード」をセットします。

レスポンス

appsにアプリごとの情報が配列で最大100件返ります。

1度に100件なので

雑ですが、とりあえず10万アプリまで(タイムアウトするんじゃ。。。。)

なので、offsetで0件目から、100件目から,200件目からと順番に取得するようにしてます。

アプリごとに実処理をするLambdaに情報を渡す

実処理をするLambdaにappの情報を渡して非同期で実行しています。

実処理するLambdaでアプリのアクセス権を取得

/k/v1/app/acl.json?app=でアクセス権を取得します。

Headerは先ほどと同じユーザー認証です。

レスポンス

rightsの配列にアクセス権設定が返ります。

組織のポリシーにもよると思いますが、今回はデフォルトで設定されているEveryoneがそのままのアプリを抽出したいと思います。
(Everyoneが悪いというわけではありません。が、本当はアクセス権を限定したいアプリでEveryoneを外すのを忘れているケースもあるかなと思いまして)

詳細はコードを見ていただければと思いますが、
あとは、このレスポンスを辿って、recordViewableとか、recordEditableとかがTrueになっているかをチェックして、Slackに投稿します。

通知出来ました!

環境変数

ご参考にされる場合の環境変数を記載しておきます。

  • SLACK_URL : SLACKのWebhook URL
  • CHANNEL : SLACKのチャンネル
  • KINTONE_ID : kintoneの管理者ID
  • KINTONE_PASSWORD : kintoneの管理者パスワード
  • KINTONE_DOMAIN : kintoneのドメイン(xxx.cybozu.comまで全部)
  • LOG_LEVEL : INFOとかDEBUGとか
  • LAMBDA_NAME : アプリ一覧を取得する方のLambdaのみに設定、実処理をするLambdaの名前

最後までお読みいただきましてありがとうございました!

「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。

「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。

「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。

「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。

「AWSではじめるLinux入門ガイド」という本を書きました。

 - AWS, kintone , , ,

ad

ad

  関連記事

VyOSにSSMエージェントをインストールしました

VyOSにSSHでログインするのも面倒なので、SSMエージェントをインストールし …

Apple Silicon M1 MacBook ProにAWS CLI v2をインストール

公式手順どおりにインストールしました。 macOS での AWS CLI バージ …

Cybozu Days 2021「kintone hive tokyo vol.14 <kintone AWARD ファイナリストによる事例講演>」を観ました

Cybozu Days 2021でkintone hiveセッションを観ました。 …

Cybozu Days 2021でR3インスティテュートさんのカスタマインのデモを観ました

kintone hiveでも数社の発表で出てきていたkintoneのプラグイン「 …

AWS CodeCommitのリポジトリをiPhoneのWorkingCopyアプリから使う

iPhoneからも執筆できるようにしておこうと思いまして、iOSアプリのGitク …

kintoneのカスタマイズ開発を超速にするCUSTOMINE

kintoneのカスタマイズについて kintoneは標準機能を使うだけでもアプ …

Cybozu Days 2021「ユーザーがリアルに語る 「すごくなくてもいい」 kintone 活用術」セッションを観ました

kintoneアプリを開発する時間がない キンコミに書き込まれた質問に答えていく …

SageMaker AI StudioでJupyterLab スペースを作成しJupyterLab を起動、S3拡張のインストール

JupyterLab ユーザーガイドとJupyterLab 拡張機能を参照して、 …

AWS Wavelengthゾーンを有効にする

画面上で確認しておきたかったので有効にしておきました。 AWS Waveleng …

ヤマムギvol.23 Amazon RDS for MySQLとAmazon Aurora Serverlessの起動のデモをしました

ゴールデンウィーク毎朝デモ勉強会は終わったのですが、土曜日にやれるときがあれば、 …