deekayen.iam_access_simulation
AWS IAM アクセスシミュレーション
IAM ユーザーとロールが指定された ARN に対して様々な IAM アクションを実行するアクセスをシミュレートします。これにより、監査人が尋ねたときに、どのユーザーやロールが S3 バケットや KMS キーにアクセスできるかがわかります。
このシミュレーションは、AWS アカウント内のすべてのユーザーとロールを収集し、その後 resources_to_test
変数で定義した ARN に対して指定されたアクションをテストします。ユーザーまたはロールのみをテストしたい場合は、フィルタリングのためにタスクに割り当てられた user
または role
タグを使用して不要なものを省略できます。
IAM ユーザーとロールのアクセスを AWS CLI simulate principal policy 機能を使ってテストします。
aws iam simulate-principal-policy \
--policy-source-arn <user/role arn> \
--resource-arns <resource arn> \
--action-names <action>
ロール変数
resources_to_test: []
例プレイブック
---
- hosts: localhost
connection: local
gather_facts: no
vars:
resources_to_test:
- action: s3:GetObject
resource: arn:aws:s3:::deekayen-123456789000-secret-bucket
- action: kms:Decrypt
resource: arn:aws:kms:us-east-1:123456789000:key/1234abab-1e2c-3a4b-9ba8-1234567890ab
roles:
- deekayen.iam_access_simulation
シミュレーションの結果は、プレイブック実行の最後にコンソールに表示されます。
TASK [iam_access_simulation : シミュレーション結果を表示します。] **********************
ok: [localhost] => {
"msg": [
"ユーザー deekayen は arn:aws:s3:::deekayen-123456789000-secret-bucket に対する s3:GetObject を許可されています。",
"ロール ec2-instances は arn:aws:s3:::deekayen-123456789000-secret-bucket に対する s3:GetObject を許可されています。",
"ユーザー deekayen は arn:aws:kms:us-east-1:123456789000:key/1234abab-1e2c-3a4b-9ba8-1234567890ab に対する kms:Decrypt を許可されています。",
"ロール ec2-instances は arn:aws:kms:us-east-1:123456789000:key/1234abab-1e2c-3a4b-9ba8-1234567890ab に対する kms:Decrypt を許可されています。"
]
}
[
プレイの要約 *********************************************************************
localhost : ok=327 changed=0 unreachable=0 failed=0 skipped=324 rescued=0 ignored=0
プレイブックの実行時間は 0 日 0 時間 3 分 14 秒
要件
制御マシンには boto と AWS CLI が必要です。
依存関係
collections:
- amazon.aws
- community.general
ライセンス
BSD-3-Clause
プロジェクトについて
Simulate the access of AWS IAM users and roles performing various actions against any ARN.
インストール
ansible-galaxy install deekayen.iam_access_simulation
ライセンス
bsd-3-clause
ダウンロード
14.7k
所有者
My initials spelled as a word - pronounced /dEE-kAY-En/