ヤマムギ

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認定クラウドプラクティショナー 改訂第2版」という本を書きました。

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

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

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

 - AWS, kintone , , ,

ad

ad

  関連記事

AWS APIリクエストにPostmanで署名を作成する

新年明けましておめでとうございます! 署名バージョン4 「AWSはマネジメントコ …

CloudFormation Lambda-backedカスタムリソースチュートリアルをやりました

チュートリアル: Amazon マシンイメージ ID を参照するの手順に従ってや …

AWS Database Migration Service(DMS)チュートリアル

公式ユーザーガイドのAWS Database Migration Service …

AWS Transit GatewayのAcceleratedサイト間VPN接続確認

Transit GatewayでVPN接続を作成するときに、Global Acc …

kintone hiveで改めてkintoneの破壊力を見た

kintone hiveとは 「日頃から業務の中でkintoneを活用しているユ …

AWS Trusted Advisorの2023/11/17発表のAPI

2023/11/17に発表されたAWS Trusted Advisor の新しい …

AWS EC2 インスタンスステータスのチェックで失敗 原因はPHP-FPMのOOM-KILLER

先週に引き続きEC2のインスタンスステータスチェックで失敗 再起動するも失敗する …

RDSスナップショットのS3エクスポート結果確認

RDSのスナップショットをS3へエクスポートが日本語マネジメントコンソールでもで …

AWS Backupで取得したAMIとスナップショットの削除

個人で使っているAWSリソースの断捨離をしてました。 Cloud9も複数アカウン …

前からできましたっけ??CloudWatch Logsの保持設定を複数まとめて設定

AWSの個人アカウントで要らなさそうなリソースの断捨離をしてます。 CloudW …