The IAM Auditor is responsible for ensuring that the roles and policies you configure are always kept in sync across some or all of your
AWS Accounts. When enabled the auditor will use the roles
setting to create and manage roles in every AWS account in the system, as well
as pulling policies and account-specific roles and policies from a Git repository
The roles setting allows you to configure roles to create and manage on all accounts enabled in Probator. The JSON document is structured as dictionary, with the top-level key being the name of the role, and the dictionary value has two keys; trust and policies
The trust
setting must be a valid IAM Assume Role Policy Document. If the trust
key is an empty object ({}
), null, or not set,
the default trust document is provided.
The policies
key contains a list of IAM policy names to attach to the role. These policies must exist within the account before running
the auditor, ideally being created by the auditor as well.
The example below shows how one can manage the role probator assumes for monitoring and auditing in your accounts
{
"probator_role": {
"trust": {
"Version": "2012-10-17",
"Statement": [
{
"Sid": "",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::123456789012:role/probator-instance-role",
"Service": "ec2.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
},
"policies": [
"ProbatorAccess"
]
}
}
The example above would create a role on all accounts called probator_role
, that allows a role from another account
(arn:aws:iam::123456789012:role/probator-instance-role
) to assume it.
Option name | Default Value | Type | Description |
---|---|---|---|
enabled |
False |
bool |
Enable the CloudTrail auditor |
interval |
60 |
int |
Run frequency in minutes |
manage_roles |
True |
bool |
Enable management of IAM roles |
roles |
{} |
json |
A JSON document describing the global roles (see above) |
delete_inline_policies |
False |
bool |
Delete inline policies, if present, from managed roles |
hostname |
None | string |
Hostname of the Git server |
repository |
None | string |
Path of the Git repository |
disable_ssl_verify |
False |
bool |
Disable SSL verification of Git server, if https. Useful if using self-signed certificates |
authentication_type |
oauth-token |
choice |
Type of authentication for API requests |
oauth_token |
None | string |
OAuth2 authentication token, if using oauth-token authentication |
username |
None | string |
Username, if using username-password authentication |
password |
None | string |
Password, if using username-password authentication |