1つのアプリが求める権限は平均5.0個、実際に使ったのは2.6個でした。
残る47.5%は90日のあいだ一度も使われていません。記録がなければ、この差は見えません。
必要な分だけ与えるのが基準です。ところが「必要」の見積もりは、実際の倍近くになります。
IAMで権限を決めるときの基準は明快です。指針は方針で権限を設定するときは、ある作業を行うのに必要な権限だけを与えることと述べています。
問題は「必要」の見積もりです。求めた権限と実際に使った権限を分けて数えました。
操作の種類を60個、アプリを40個としました。アプリごとに求める権限と使う権限を作ります。
操作の種類 60個・アプリ 40個。90日ぶんの利用を見る 1つのアプリが求める権限は平均 5.0個、そのうち実際に使うのは平均 2.6個 引換券に載せる範囲 漏れたとき行える操作 全体に対する割合 求めたのに使わない権限 全部載せる 60.0個 100.0% 0.0個 求めた通りに載せる 5.0個 8.4% 2.4個 使った分だけに絞る 2.6個 4.4% 0.0個
全部許すと60個です。役が1つ乗っ取られれば、何でもできます。
求めた通りに与えると5.0個、全体の8.4%まで下がります。ここまでは方針を書くだけで済みます。
右端の列を見てください。求めた5.0個のうち2.4個は90日間使われませんでした。
割合にして47.5%です。求める側は、将来使うかもしれない分まで含めて求めます。
使った分だけに絞れば2.6個・4.4%です。求めた通りに与える場合の半分になります。
求めた分の半分は、90日たっても使われない。
When you set permissions with IAM policies, grant only the permissions required to perform a task.原文AWS ドキュメント「Security best practices in IAM」 この内容の有効期限2027-02-18
求めた権限を見ても、使っているかは分かりません。最後に使われた記録が判断の材料になります。
IAMには、使われていないものを見つける仕組みがあります。指針はIAMは、もう必要のない利用者、役、権限、方針、資格情報を特定して取り除けるよう、最後にアクセスされた情報を提供すると述べています。
前の節の2.4個は、この情報がなければ見つかりません。方針の中身を読んでも、使っているかは書いていないためです。
2番目の期間の取り方が効きます。四半期に1回しか動かない処理があれば、90日では足りません。
だから外す前に、その権限を使う処理がいつ動くかを確かめることになります。
外すだけでなく、記録から方針そのものを作る道もあります。指針はその仕組みは、あなたの役が使うサービスと操作を分析し、使える細かい方針を生成すると述べています。
生成された方針は、前の表の2.6個の行に近いものになります。使った実績がそのまま範囲になります。
ただし、期間の外で使う操作は含まれません。生成したあとで試して、足りない分を足す順序になります。
IAM provides last accessed information to help you identify the users, roles, permissions, policies, and credentials that you no longer need so that you can remove them.原文AWS ドキュメント「Security best practices in IAM」 この内容の有効期限2027-02-18
権限を集めた役ほど便利ですが、その役が破られたときに届く範囲も広くなります。
IAMでは、使う実績から方針を作れます。指針はその仕組みは、役が使うサービスと操作を分析し、使える細かい方針を生成すると述べています。
細かくするほど役の数は増えます。まとめる場合と分ける場合の差を数えました。
業務で使うアプリ 40個・利用者 10000人 入口をまとめない場合、同じ語を使い回すアプリの数は平均 23.9個 起きたこと まとめない まとめる 差 アプリ1個から語の保管が漏れる 23.9個 0個 -23.9 入口の口座が1件破られる 1.0個 40個 39.0 語を置き換える必要が出る 23.9個 1個 -22.9 2つ目の要素を足す作業 40.0個 1個 -39.0
2行目が該当します。まとめると1件で40個に届きます。
他の3行は逆を向きます。まとめたほうが、手を入れる箇所も漏えいの経路も減ります。
まとめる利点は、1箇所に手を入れれば全部に効くことです。40箇所が1箇所になります。
代償は2行目だけです。だからその1箇所を固めれば、差し引きは良くなります。
固め方は多要素認証の記事で数えていて、方式によって172件が0件まで落ちました。
権限の側は、この記事の前半で扱った2.6個まで絞ることが対策になります。まとめた役でも、できる操作を減らせます。
求めた権限のうち実際に使う割合(0.55)は式で置いた値で、実在の調査の値ではありません。操作60種・アプリ40個という規模も置いたものです。波及の計測も、語の使い回しの数を式で作った偏りとして置いています。ここで見せているのは、求めた範囲と使う範囲が別物で、その差が記録を取らなければ見えないという関係です。差そのものは、自分の環境で最後に使われた情報を出せば確かめられます。
IAM Access Analyzer analyzes the services and actions that your IAM roles use, and then generates a fine-grained policy that you can use.原文AWS ドキュメント「Security best practices in IAM」 この内容の有効期限2027-02-18
同じ課題を持つ会社にとって、動いている設定は「作る時間」を買えるということです。ServiceDockは自作のワークフローやテンプレートを出品できるマーケットプレイスです。手数料や出品の流れは出品者向けページにまとまっています。
出品の仕組みを見る