2017-10-27 20:31:36 +00:00
---
title: About the aws_iam_user Resource
2018-02-14 01:42:39 +00:00
platform: aws
2017-10-27 20:31:36 +00:00
---
2018-02-15 02:23:29 +00:00
# aws\_iam\_user
2017-10-27 20:31:36 +00:00
Use the `aws_iam_user` InSpec audit resource to test properties of a single AWS IAM user.
2018-02-14 01:42:39 +00:00
To test properties of more than one user, use the `aws_iam_users` resource.
2017-10-27 20:31:36 +00:00
To test properties of the special AWS root user (which owns the account), use the `aws_iam_root_user` resource.
<br>
## Syntax
An `aws_iam_user` resource block declares a user by name, and then lists tests to be performed.
describe aws_iam_user(name: 'test_user') do
it { should exist }
end
<br>
## Examples
The following examples show how to use this InSpec audit resource.
### Test that a user does not exist
describe aws_iam_user(name: 'gone') do
it { should_not exist }
end
### Test that a user has multi-factor authentication enabled
describe aws_iam_user(name: 'test_user') do
it { should have_mfa_enabled }
end
### Test that a service user does not have a password
describe aws_iam_user(name: 'test_user') do
it { should have_console_password }
end
<br>
## Matchers
2018-02-16 03:07:18 +00:00
This InSpec audit resource has the following special matchers. For a full list of available matchers, please visit our [matchers page](https://www.inspec.io/docs/reference/matchers/).
2017-10-27 20:31:36 +00:00
2018-02-15 02:23:29 +00:00
### have\_console\_password
2017-10-27 20:31:36 +00:00
The `have_console_password` matcher tests if the user has a password that could be used to log into the AWS web console.
it { should have_console_password }
2018-02-15 02:23:29 +00:00
### have\_mfa\_enabled
2017-10-27 20:31:36 +00:00
The `have_mfa_enabled` matcher tests if the user has Multi-Factor Authentication enabled, requiring them to enter a secondary code when they login to the web console.
it { should have_mfa_enabled }