0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

権限昇格を防ぐ構成を検討したときの話

Posted at

AWSで権限昇格を防ぐ構成を検討したときの備忘になります。

背景

検証用のAWSアカウントの権限管理を改善するにあたって、

  • 開発のスピードを下げないように制限する権限を最小限にしたい
  • 管理者以外の権限の昇格は防ぎたい

といった条件がありました。
権限の昇格を防ぎたいという要望があったので、IAMの権限は管理者以外付与しない構成を考えました。
しかしその場合、IAMポリシーやIAMロールが作成できなくなり、EC2やLambdaにアタッチするといったことも事前承認制になってしまいます。
これでは開発のスピードを下げてしまいます。
そんなわけで開発のスピードを下げることなく、権限昇格を防ぐ構成について考えることになりました。

今回のゴール

今回実現する構成では以下を目標にしています。

  • IAMユーザ、グループに関する操作権限を制限する
  • MFA設定やパスワード変更等最低限必要な権限は付与する
  • それ以外のIAM権限については原則権限を付与する
  • 権限管理に必要なロールやポリシーへの操作は制限する

現状の権限管理構成と課題

現状の権限管理構成は以下です。
1.PNG

この構成ではIAMロール、IAMポリシーの権限を付与しているので、フルアクセス権限のIAMロールにスイッチすることで権限昇格が発生してしまいます。
2.PNG

実装した権限管理構成1

最初に以下の権限管理構成を検討しました。
3.PNG

IAMユーザに権限を付与して操作する構成から、IAMロールに権限を付与して操作する構成に変更されています。
この構成では、IAMユーザがスイッチできるIAMロールを制限することで、新規にフルアクセス権限のIAMロールを作成して権限昇格することを防ぐことができます。

構成1の問題点

先述の構成で完璧だ!と思ったのですが、以下のようなステップで権限昇格できることが判明しました。
4.PNG

IAMユーザからスイッチして権限昇格する経路はなくなりましたが、引き続きフルアクセス権限のIAMロールを作成する権限はあります。そのため、EC2やLambdaなどIAMユーザ以外のリソースにフルアクセス権限のロールをアタッチすることで、権限昇格が発生してしまいます。
このケースでは、EC2への接続やLambdaの実行ができれば簡単に権限昇格ができてしまいます。

実装した権限管理構成2

構成1ではフルアクセス権限のIAMロールを利用させないというアプローチで検討しました。
その場合、少ない権限でも昇格できることが判明したので、フルアクセス権限のIAMロールを作成できないようにするアプローチを検討しました。
権限管理構成は以下です。
5.PNG

Permissons Boundaryを利用して、IAMロールを作成する際も利用者以上の権限を作成できないようにしました。
これによって、EC2やLambdaにアタッチするIAMロールが最も権限が広いものでも利用者のロールと同じになるので、権限昇格を防ぐことができます。

Permissons Boundaryについて説明

IAMユーザやIAMロールにアタッチすることができるアクセス権限です。(IAMグループは不可)
普段アタッチしているIAMポリシー(Identity-based policy)に併せて付与することが可能です。
6.PNG
画像の通りで、IAMポリシーとPermissions Bounaryの両方で許可されているものが有効な権限です。
そのため、今回のパターンではPermissions Bounaryで今回のゴールで制限するものを拒否するようにして、IAMポリシー側でフルアクセス権限があっても制限できるようにしました。
7.PNG

最後に

最後までご覧いただきありがとうございます!
間違い等あればご指摘いただけると幸いです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?