iam_access_simulation
AWS IAM Симуляция Доступа
Симулируйте доступ пользователей и ролей IAM, выполняя различные действия IAM с любым ARN. Это поможет вам выяснить, какие пользователи и роли имеют доступ к вашим S3-бакетам или KMS-ключам, когда это запрашивают аудиторы.
Скрипт соберет всех пользователей и роли в вашей учетной записи AWS, а затем протестирует указанные действия с ARNs, которые вы определите в переменной resources_to_test
. Если вы хотите протестировать только пользователей ИЛИ роли, вы можете пропустить тот, который не нужен, используя теги 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 имеет доступ к s3:GetObject на arn:aws:s3:::deekayen-123456789000-secret-bucket",
"Роль ec2-instances имеет доступ к s3:GetObject на arn:aws:s3:::deekayen-123456789000-secret-bucket",
"Пользователь deekayen имеет доступ к kms:Decrypt на arn:aws:kms:us-east-1:123456789000:key/1234abab-1e2c-3a4b-9ba8-1234567890ab",
"Роль ec2-instances имеет доступ к kms:Decrypt на arn:aws:kms:us-east-1:123456789000:key/1234abab-1e2c-3a4b-9ba8-1234567890ab"
]
}
[
PLAY RECAP *********************************************************************
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/ansible-role-iam_access_simulation