1
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 3 years have passed since last update.

組織管理されているAWS環境下のアクセスアクティビティからIAMポリシーを自動生成する

Last updated at Posted at 2021-05-11

IAMユーザーやIAMロールの CloudTrailログ から実際に利用されたIAMポリシーを生成する機能。
CloudTrail の設定によってはうまく動作しないので調査メモと回避策を書いておきます。

IAM Access Analyzer

まず前提知識として。
よく理解できていないが、IAM Access Analyzer は最低でも2種類の機能を持っていて、それぞれで求められる権限が違う。今回はポリシー生成のほうの話。

Control Tower 管理下

CloudFormation StackSet AWSControlTowerBP-BASELINE-CLOUDTRAIL によって CloudTrail の有効化が行われています。
CloudTrail ログの保存先は Log archiveアカウント の S3バケット が指定されています。

そのため IAM Access Analyzer はクロスアカウントで CloudTrailログ を読み取る必要がでてきます。

権限がない状態でポリシーを生成しようとするとエラーとなります。

access_policies_generate_error.png

Log archiveアカウント の S3バケットポリシー を変更してクロスアカウントアクセスを許可すればいけそうですが、さらに問題が。

必須のガードレール である ログアーカイブで AWS Control Tower が作成した S3 バケットのバケットポリシーの変更を許可しない があり、 SCP によりバケットポリシーの変更ができません。

つまりSCPを一時的に解除してバケットポリシーを編集、クロスアカウントアクセスを可能にして、ようやくポリシーが生成できます。
どうにもAWSの推奨設定から外れまくっている感じしますね。

Organization 管理下

AWS Organizations – Organizations CloudTrail 証跡を使用してポリシーを生成することはできません。

なんと、Organizations CloudTrail 証跡を使っているとポリシー生成できません!
たまにある推奨構成で組むと新機能が使えないジレンマ。

access_policies_generate_error2.png

回避策

AWSの推奨事項を抑えつつポリシー生成を行うには、別途 CloudTrail証跡 を作るしかないかと思います。

2つ目なので費用がかかってしまいますが、常時チェックし続けるものでもないので、短期間だけ証跡作ってポリシー生成したら削除するのがよさそうです。

思うところ

各アカウントの CloudTrail が90日間のログを持っているはずなので(GuardDutyなどが見ているやつ)、S3 の CloudTrailログ へアクセスしなくてもポリシー生成できそうなものなんですが、それができない仕組みなんですかね。
まだ出て日が浅い機能なので今後のアップデートに期待しましょうか。

1
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
1
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?