権限と心の余裕

Salesforce システム管理者であるあなたのもとには、権限要求が殺到していませんか? 協調フィルタリングの実験をご覧いただくと、どのようにしてセキュリティとシンプルさのバランスをとっているかがわかります。
権限と心の余裕

大企業の Salesforce システム管理者であれば、入退社する社員や役割が変わる社員が絶えないため、権限管理が仕事の一部となります。組織全体で何百、何千にもなる権限を管理して、各従業員が業務を遂行できるようにしつつ組織のセキュリティを確保することは、容易な作業ではありませんし、効率的な作業でもありません。

すべての人にすべての権限を割り当てることはできますが、インターンが CEO と同じオブジェクトへの書き込みや削除のアクセス権を持つことは思慮分別があるとはいえませんし、安全でもありません。CEO 以外の全員にほとんど、またはまったく権限を与えなければ (最小権限の法則)、安全にはなりますが、従業員が仕事をするだけで権限要求が殺到するのも困りものです。 

管理者はセキュリティと基本的な機能の提供のバランスをどのようにとればよいのでしょうか? 人々の将来の行動を知る方法があれば、それぞれの権限を設定して完了ということになりますが、そうはいきません。 

管理者にも心の余裕は必要 

Salesforce のディテクション & レスポンス (DnR) データサイエンスチームは、この考え方を念頭に置き、組織のセキュリティを高めつつ、従業員が業務を遂行し、生産性を高められるように、未来をのぞき見て適切な (そして最小の) 権限セットを予測して推奨する方法の定義に着手しました。これを実現するには、組織のすべてのユーザーが使用、実行する権限を監視します。次に、このデータを使用して新規ユーザーとその他すべてのユーザーに必要になると考えられる権限のサブセットを予測および推奨します。 

思い当たる節があるのではないでしょうか。ストリーミングサービスで好きな番組を見たり、ランキングを付けたりするようなものだと考えてください。視聴したり、ランク付けをしたりすればするほど、ゆっくりとではありますが、確実に、サービスはあなたの好みを判断し、よりスマートなレコメンデーションを行うことができるようになります。最新の番組に代わるのが権限と権限セットであり、映画にランク付けする代わりに、使用状況のアクティビティを監視します。これらはすべて自動で行われます。そのため、手動で権限や権限セットを決めてユーザーに割り当てていた時間を節約でき、管理者は好きな番組の新シーズンをまとめて見ることができるというわけです。

具体的な方法 

最初に権限の割り当てに使用する指針は、「最小権限」の法則と呼ばれるものです。この法則に従えば、組織内のセキュリティを高められます。敵対者によってあるアカウントが乗っ取られた場合でも、影響が及ぶ範囲はその特定のアカウントに関連付けられたアクセス権と権限に限定されます。 

次に、協調フィルタリングと呼ばれる技術を利用します。これは主に、過去のユーザー行動から学習し、新規および既存のユーザーに想定される権限を「推奨」するための推奨システムで使用されます。これは、類似のユーザーによる権限行使の活動に基づいて、ユーザーが必要とすると考えられる権限および権限セットを協調的にフィルタリングするという考え方です。

さらに詳しく 

たとえば先月のある組織内の全ユーザーの権限の利用データが与えられると、次元 M x N の行列 A を用いてこのアクティビティが表現されます。ここで、M は組織内のユーザーの数であり、N は個別の権限または権限セットの数になります。この行列のエントリーは、特定のユーザーによって特定の権限が行使された回数に等しい値をとります。 

次に、この行列 A を、行列 A に存在する重要な情報を持つ 2 つの小さな行列に分解します。この分解は因数分解とも呼ばれ、ALS (交互最小二乗法)、NMF (非負値行列因子分解) など、多くの因数分解の手法が存在します。最終的に 2 つの行列 F (Mxk)G (kxN) ができ、これらを組み合わせて新しい行列 A_recon が作られます。

図 1: ユーザーと権限を表す 2 つの行列を得るための行列の因数分解

この行列 A_recon から、各ユーザーがアクセスする可能性の高い権限がソートされたリストとして得られます (行で表される)。協調フィルタリングアプローチの特徴は、ユーザーの活動パターンと、同じような考えを持つユーザーの活動パターンの両方を考慮することです。ユーザーをユーザーグループやロールに割り当て、ユーザーロールに基づいて権限をプロビジョニングするという作業を手作業で行う代わりに、行列の因数分解がそれを行います。

実際の権限のプロビジョニングで処理される仕組み 

ユーザー「u」について考えます。{Puh} は、ユーザー「u」がこれまでに実行した権限の集合を表すとします。{Pur} は、協調フィルタリングモデルによって予想される推奨権限のうち、まだユーザーによって実行されていない権限の集合を表すとします。これら 2 つの集合の和 {Puh} U {Pur} は、そのユーザーにとって十分であると考えられる権限の完全な集合です。この集合は、そのユーザーに対して付与されている権限の集合 {Pg} と比較されます。{Pg} と {{Puh} U {Pur}} の集合の差からは、そのユーザーに必要がないと考えられる権限の集合が得られます。この集合は {Plockdown} と呼ばれますが、最小権限の法則に沿って、ユーザーのこれらの権限はオフにすることができます。 

推奨権限の中から、ユーザーがまだアクセス権を持っていない別のセットを導き出すこともできます。モデルはこれらの権限がユーザーにとって有用であると予測し、これらの追加権限 {Pgrant} を付与するように管理者に推奨することができます。たとえば、新しいユーザーが組織に入ったときには、管理者はすでに、そして自動的に、そのユーザーのための権限の集合を持っていることになります。このメソッドを定期的に実行すれば、ユーザーのロールや責任範囲のさまざまな変化に対応できます。

優れたアイデアをいかに実装するか 

私たちは、Salesforce が所有するある組織から 2 週間にわたって収集した権限使用データを使用して、このメソッドを評価しました。この組織には、6,128 人のユーザーと 286 の権限が存在します。 

ユーザーに付与された権限の大半は、実行されたとしても、ごくまれにしか実行されないことがわかりました。したがって、形成された行列は非常にまばらなもの (たくさんのゼロを含むもの) になりました。すべてのユーザーに対して上位 20% の権限を推奨したところ、観察されたユーザー活動の 98.60% をカバーできることがわかりました。つまり、推奨モデルは、ユーザーが将来必要とする権限を 98.60% 予測できることになります。また、実際にユーザーに割り当てる権限は大幅に減り、この組織のセキュリティを強化することができました。 

Salesforce では、製品とプラットフォームに信頼性とセキュリティを組み込んでいますが、同様に、その安全性をさらに高めるための新たな方法を模索しています。私たちは、今後も、カスタム権限や大規模な組織に対応するため、このメソッドの実験を継続し、#AwesomeAdmin (すばらしい管理者) になるための最新のツールやリソースを探求していきます。ご期待ください。

この記事は、Salesforce のディテクション & レスポンス (DnR) データサイエンスチームの以下のメンバーによって作成されました。

Regunathan (Regu) Raadhakrishnan。Service Cloud Einstein の会話型 AI に取り組む応用科学チームの主席データサイエンティスト。それ以前は、ディテクション & レスポンス (DnR) データサイエンスチームで、悪意のある脅威を検出するための教師なしモデルに取り組んでいました。NYU で電気工学の博士号を取得し、動画要約に関する書籍を執筆しています。また、いくつかの書籍の章、学術論文誌、会議論文を執筆し、34 以上の特許を取得しています。

Vijay Erramilli。DnR データサイエンスチームの主任データサイエンティスト。過去 4 年間、さまざまなセキュリティ問題に対して高度な統計、機械学習、深層学習を用いたデータ手動のソリューションに取り組んでいます。トップレベルのカンファレンスやジャーナルで受賞歴のある論文 (2,900 回以上引用) を発表し、世界中の会場で講演を行い、複数の特許を保持しています。BU でコンピュータサイエンスの博士号を取得しています。

Ping Yan。データサイエンスディレクター。消費者行動モデリングからアルゴリズムによるセキュリティ脅威検出まで、さまざまな領域のデータの意味を理解する方法について、10 年にわたって革新を続けてきました。彼女の業績は、学術論文、モノグラフ、書籍として出版されています。アリゾナ大学で経営情報システムの博士号を取得しています。WITS、CanSecWest、OWASP AppSec、Spark+AI Summits など、さまざまなデータサイエンスや情報セキュリティのカンファレンスでの講演経験があります。

おすすめの事例