inspec 2.3.10 → 2.3.23
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +34 -13
- data/etc/plugin_filters.json +25 -0
- data/inspec.gemspec +3 -3
- data/lib/bundles/inspec-compliance/api.rb +3 -0
- data/lib/bundles/inspec-compliance/configuration.rb +3 -0
- data/lib/bundles/inspec-compliance/http.rb +3 -0
- data/lib/bundles/inspec-compliance/support.rb +3 -0
- data/lib/bundles/inspec-compliance/target.rb +3 -0
- data/lib/inspec/objects/attribute.rb +3 -0
- data/lib/inspec/plugin/v2.rb +3 -0
- data/lib/inspec/plugin/v2/filter.rb +62 -0
- data/lib/inspec/plugin/v2/installer.rb +21 -1
- data/lib/inspec/plugin/v2/loader.rb +4 -0
- data/lib/inspec/profile.rb +3 -1
- data/lib/inspec/version.rb +1 -1
- data/lib/plugins/inspec-plugin-manager-cli/lib/inspec-plugin-manager-cli/cli_command.rb +25 -3
- data/lib/plugins/inspec-plugin-manager-cli/test/functional/inspec-plugin_test.rb +65 -11
- data/lib/plugins/inspec-plugin-manager-cli/test/unit/cli_args_test.rb +5 -1
- data/lib/resources/package.rb +1 -1
- metadata +5 -253
- data/MAINTAINERS.toml +0 -52
- data/docs/.gitignore +0 -2
- data/docs/README.md +0 -41
- data/docs/dev/control-eval.md +0 -62
- data/docs/dev/filtertable-internals.md +0 -353
- data/docs/dev/filtertable-usage.md +0 -533
- data/docs/dev/integration-testing.md +0 -31
- data/docs/dev/plugins.md +0 -323
- data/docs/dsl_inspec.md +0 -354
- data/docs/dsl_resource.md +0 -100
- data/docs/glossary.md +0 -381
- data/docs/habitat.md +0 -193
- data/docs/inspec_and_friends.md +0 -114
- data/docs/matchers.md +0 -161
- data/docs/migration.md +0 -293
- data/docs/platforms.md +0 -119
- data/docs/plugin_kitchen_inspec.md +0 -60
- data/docs/plugins.md +0 -57
- data/docs/profiles.md +0 -576
- data/docs/reporters.md +0 -170
- data/docs/resources/aide_conf.md.erb +0 -86
- data/docs/resources/apache.md.erb +0 -77
- data/docs/resources/apache_conf.md.erb +0 -78
- data/docs/resources/apt.md.erb +0 -81
- data/docs/resources/audit_policy.md.erb +0 -57
- data/docs/resources/auditd.md.erb +0 -89
- data/docs/resources/auditd_conf.md.erb +0 -78
- data/docs/resources/aws_cloudtrail_trail.md.erb +0 -165
- data/docs/resources/aws_cloudtrail_trails.md.erb +0 -96
- data/docs/resources/aws_cloudwatch_alarm.md.erb +0 -101
- data/docs/resources/aws_cloudwatch_log_metric_filter.md.erb +0 -164
- data/docs/resources/aws_config_delivery_channel.md.erb +0 -111
- data/docs/resources/aws_config_recorder.md.erb +0 -96
- data/docs/resources/aws_ebs_volume.md.erb +0 -76
- data/docs/resources/aws_ebs_volumes.md.erb +0 -86
- data/docs/resources/aws_ec2_instance.md.erb +0 -122
- data/docs/resources/aws_ec2_instances.md.erb +0 -89
- data/docs/resources/aws_elb.md.erb +0 -154
- data/docs/resources/aws_elbs.md.erb +0 -252
- data/docs/resources/aws_flow_log.md.erb +0 -128
- data/docs/resources/aws_iam_access_key.md.erb +0 -139
- data/docs/resources/aws_iam_access_keys.md.erb +0 -214
- data/docs/resources/aws_iam_group.md.erb +0 -74
- data/docs/resources/aws_iam_groups.md.erb +0 -92
- data/docs/resources/aws_iam_password_policy.md.erb +0 -92
- data/docs/resources/aws_iam_policies.md.erb +0 -97
- data/docs/resources/aws_iam_policy.md.erb +0 -264
- data/docs/resources/aws_iam_role.md.erb +0 -79
- data/docs/resources/aws_iam_root_user.md.erb +0 -86
- data/docs/resources/aws_iam_user.md.erb +0 -130
- data/docs/resources/aws_iam_users.md.erb +0 -289
- data/docs/resources/aws_kms_key.md.erb +0 -187
- data/docs/resources/aws_kms_keys.md.erb +0 -99
- data/docs/resources/aws_rds_instance.md.erb +0 -76
- data/docs/resources/aws_route_table.md.erb +0 -63
- data/docs/resources/aws_route_tables.md.erb +0 -65
- data/docs/resources/aws_s3_bucket.md.erb +0 -156
- data/docs/resources/aws_s3_bucket_object.md.erb +0 -99
- data/docs/resources/aws_s3_buckets.md.erb +0 -69
- data/docs/resources/aws_security_group.md.erb +0 -323
- data/docs/resources/aws_security_groups.md.erb +0 -107
- data/docs/resources/aws_sns_subscription.md.erb +0 -140
- data/docs/resources/aws_sns_topic.md.erb +0 -79
- data/docs/resources/aws_sns_topics.md.erb +0 -68
- data/docs/resources/aws_subnet.md.erb +0 -150
- data/docs/resources/aws_subnets.md.erb +0 -142
- data/docs/resources/aws_vpc.md.erb +0 -135
- data/docs/resources/aws_vpcs.md.erb +0 -135
- data/docs/resources/azure_generic_resource.md.erb +0 -183
- data/docs/resources/azure_resource_group.md.erb +0 -294
- data/docs/resources/azure_virtual_machine.md.erb +0 -357
- data/docs/resources/azure_virtual_machine_data_disk.md.erb +0 -234
- data/docs/resources/bash.md.erb +0 -85
- data/docs/resources/bond.md.erb +0 -100
- data/docs/resources/bridge.md.erb +0 -67
- data/docs/resources/bsd_service.md.erb +0 -77
- data/docs/resources/chocolatey_package.md.erb +0 -68
- data/docs/resources/command.md.erb +0 -176
- data/docs/resources/cpan.md.erb +0 -89
- data/docs/resources/cran.md.erb +0 -74
- data/docs/resources/crontab.md.erb +0 -103
- data/docs/resources/csv.md.erb +0 -64
- data/docs/resources/dh_params.md.erb +0 -221
- data/docs/resources/directory.md.erb +0 -40
- data/docs/resources/docker.md.erb +0 -240
- data/docs/resources/docker_container.md.erb +0 -113
- data/docs/resources/docker_image.md.erb +0 -104
- data/docs/resources/docker_plugin.md.erb +0 -80
- data/docs/resources/docker_service.md.erb +0 -124
- data/docs/resources/elasticsearch.md.erb +0 -252
- data/docs/resources/etc_fstab.md.erb +0 -135
- data/docs/resources/etc_group.md.erb +0 -85
- data/docs/resources/etc_hosts.md.erb +0 -88
- data/docs/resources/etc_hosts_allow.md.erb +0 -84
- data/docs/resources/etc_hosts_deny.md.erb +0 -84
- data/docs/resources/file.md.erb +0 -543
- data/docs/resources/filesystem.md.erb +0 -51
- data/docs/resources/firewalld.md.erb +0 -117
- data/docs/resources/gem.md.erb +0 -108
- data/docs/resources/group.md.erb +0 -71
- data/docs/resources/grub_conf.md.erb +0 -111
- data/docs/resources/host.md.erb +0 -96
- data/docs/resources/http.md.erb +0 -207
- data/docs/resources/iis_app.md.erb +0 -132
- data/docs/resources/iis_site.md.erb +0 -145
- data/docs/resources/inetd_conf.md.erb +0 -104
- data/docs/resources/ini.md.erb +0 -86
- data/docs/resources/interface.md.erb +0 -68
- data/docs/resources/iptables.md.erb +0 -74
- data/docs/resources/json.md.erb +0 -73
- data/docs/resources/kernel_module.md.erb +0 -130
- data/docs/resources/kernel_parameter.md.erb +0 -63
- data/docs/resources/key_rsa.md.erb +0 -95
- data/docs/resources/launchd_service.md.erb +0 -67
- data/docs/resources/limits_conf.md.erb +0 -85
- data/docs/resources/login_defs.md.erb +0 -81
- data/docs/resources/mount.md.erb +0 -79
- data/docs/resources/mssql_session.md.erb +0 -78
- data/docs/resources/mysql_conf.md.erb +0 -109
- data/docs/resources/mysql_session.md.erb +0 -84
- data/docs/resources/nginx.md.erb +0 -89
- data/docs/resources/nginx_conf.md.erb +0 -148
- data/docs/resources/npm.md.erb +0 -78
- data/docs/resources/ntp_conf.md.erb +0 -70
- data/docs/resources/oneget.md.erb +0 -63
- data/docs/resources/oracledb_session.md.erb +0 -103
- data/docs/resources/os.md.erb +0 -153
- data/docs/resources/os_env.md.erb +0 -101
- data/docs/resources/package.md.erb +0 -130
- data/docs/resources/packages.md.erb +0 -77
- data/docs/resources/parse_config.md.erb +0 -113
- data/docs/resources/parse_config_file.md.erb +0 -148
- data/docs/resources/passwd.md.erb +0 -151
- data/docs/resources/pip.md.erb +0 -77
- data/docs/resources/port.md.erb +0 -147
- data/docs/resources/postgres_conf.md.erb +0 -89
- data/docs/resources/postgres_hba_conf.md.erb +0 -103
- data/docs/resources/postgres_ident_conf.md.erb +0 -86
- data/docs/resources/postgres_session.md.erb +0 -79
- data/docs/resources/powershell.md.erb +0 -112
- data/docs/resources/processes.md.erb +0 -119
- data/docs/resources/rabbitmq_config.md.erb +0 -51
- data/docs/resources/registry_key.md.erb +0 -197
- data/docs/resources/runit_service.md.erb +0 -67
- data/docs/resources/security_policy.md.erb +0 -57
- data/docs/resources/service.md.erb +0 -131
- data/docs/resources/shadow.md.erb +0 -267
- data/docs/resources/ssh_config.md.erb +0 -83
- data/docs/resources/sshd_config.md.erb +0 -93
- data/docs/resources/ssl.md.erb +0 -129
- data/docs/resources/sys_info.md.erb +0 -52
- data/docs/resources/systemd_service.md.erb +0 -67
- data/docs/resources/sysv_service.md.erb +0 -67
- data/docs/resources/upstart_service.md.erb +0 -67
- data/docs/resources/user.md.erb +0 -150
- data/docs/resources/users.md.erb +0 -137
- data/docs/resources/vbscript.md.erb +0 -65
- data/docs/resources/virtualization.md.erb +0 -67
- data/docs/resources/windows_feature.md.erb +0 -69
- data/docs/resources/windows_hotfix.md.erb +0 -63
- data/docs/resources/windows_task.md.erb +0 -95
- data/docs/resources/wmi.md.erb +0 -91
- data/docs/resources/x509_certificate.md.erb +0 -161
- data/docs/resources/xinetd_conf.md.erb +0 -166
- data/docs/resources/xml.md.erb +0 -95
- data/docs/resources/yaml.md.erb +0 -79
- data/docs/resources/yum.md.erb +0 -108
- data/docs/resources/zfs_dataset.md.erb +0 -63
- data/docs/resources/zfs_pool.md.erb +0 -57
- data/docs/shared/matcher_be.md.erb +0 -1
- data/docs/shared/matcher_cmp.md.erb +0 -43
- data/docs/shared/matcher_eq.md.erb +0 -3
- data/docs/shared/matcher_include.md.erb +0 -1
- data/docs/shared/matcher_match.md.erb +0 -1
- data/docs/shell.md +0 -217
- data/docs/style.md +0 -178
- data/examples/README.md +0 -8
- data/examples/custom-resource/README.md +0 -3
- data/examples/custom-resource/controls/example.rb +0 -7
- data/examples/custom-resource/inspec.yml +0 -8
- data/examples/custom-resource/libraries/batsignal.rb +0 -20
- data/examples/custom-resource/libraries/gordon.rb +0 -21
- data/examples/inheritance/README.md +0 -65
- data/examples/inheritance/controls/example.rb +0 -14
- data/examples/inheritance/inspec.yml +0 -16
- data/examples/kitchen-ansible/.kitchen.yml +0 -25
- data/examples/kitchen-ansible/Gemfile +0 -19
- data/examples/kitchen-ansible/README.md +0 -53
- data/examples/kitchen-ansible/files/nginx.repo +0 -6
- data/examples/kitchen-ansible/tasks/main.yml +0 -16
- data/examples/kitchen-ansible/test/integration/default/default.yml +0 -5
- data/examples/kitchen-ansible/test/integration/default/web_spec.rb +0 -28
- data/examples/kitchen-chef/.kitchen.yml +0 -20
- data/examples/kitchen-chef/Berksfile +0 -3
- data/examples/kitchen-chef/Gemfile +0 -19
- data/examples/kitchen-chef/README.md +0 -27
- data/examples/kitchen-chef/metadata.rb +0 -7
- data/examples/kitchen-chef/recipes/default.rb +0 -6
- data/examples/kitchen-chef/recipes/nginx.rb +0 -30
- data/examples/kitchen-chef/test/integration/default/web_spec.rb +0 -28
- data/examples/kitchen-puppet/.kitchen.yml +0 -23
- data/examples/kitchen-puppet/Gemfile +0 -20
- data/examples/kitchen-puppet/Puppetfile +0 -25
- data/examples/kitchen-puppet/README.md +0 -53
- data/examples/kitchen-puppet/manifests/site.pp +0 -33
- data/examples/kitchen-puppet/metadata.json +0 -11
- data/examples/kitchen-puppet/modules/.gitkeep +0 -0
- data/examples/kitchen-puppet/test/integration/default/web_spec.rb +0 -28
- data/examples/meta-profile/README.md +0 -37
- data/examples/meta-profile/controls/example.rb +0 -13
- data/examples/meta-profile/inspec.yml +0 -13
- data/examples/plugins/inspec-resource-lister/Gemfile +0 -12
- data/examples/plugins/inspec-resource-lister/LICENSE +0 -13
- data/examples/plugins/inspec-resource-lister/README.md +0 -62
- data/examples/plugins/inspec-resource-lister/Rakefile +0 -40
- data/examples/plugins/inspec-resource-lister/inspec-resource-lister.gemspec +0 -45
- data/examples/plugins/inspec-resource-lister/lib/inspec-resource-lister.rb +0 -16
- data/examples/plugins/inspec-resource-lister/lib/inspec-resource-lister/cli_command.rb +0 -70
- data/examples/plugins/inspec-resource-lister/lib/inspec-resource-lister/plugin.rb +0 -55
- data/examples/plugins/inspec-resource-lister/lib/inspec-resource-lister/version.rb +0 -10
- data/examples/plugins/inspec-resource-lister/test/fixtures/README.md +0 -24
- data/examples/plugins/inspec-resource-lister/test/functional/README.md +0 -18
- data/examples/plugins/inspec-resource-lister/test/functional/inspec_resource_lister_test.rb +0 -110
- data/examples/plugins/inspec-resource-lister/test/helper.rb +0 -26
- data/examples/plugins/inspec-resource-lister/test/unit/README.md +0 -17
- data/examples/plugins/inspec-resource-lister/test/unit/cli_args_test.rb +0 -64
- data/examples/plugins/inspec-resource-lister/test/unit/plugin_def_test.rb +0 -51
- data/examples/profile-attribute.yml +0 -2
- data/examples/profile-attribute/README.md +0 -14
- data/examples/profile-attribute/controls/example.rb +0 -11
- data/examples/profile-attribute/inspec.yml +0 -8
- data/examples/profile-aws/controls/iam_password_policy_expiration.rb +0 -8
- data/examples/profile-aws/controls/iam_password_policy_max_age.rb +0 -8
- data/examples/profile-aws/controls/iam_root_user_mfa.rb +0 -8
- data/examples/profile-aws/controls/iam_users_access_key_age.rb +0 -8
- data/examples/profile-aws/controls/iam_users_console_users_mfa.rb +0 -8
- data/examples/profile-aws/inspec.yml +0 -11
- data/examples/profile-azure/controls/azure_resource_group_example.rb +0 -24
- data/examples/profile-azure/controls/azure_vm_example.rb +0 -29
- data/examples/profile-azure/inspec.yml +0 -11
- data/examples/profile-sensitive/README.md +0 -29
- data/examples/profile-sensitive/controls/sensitive-failures.rb +0 -9
- data/examples/profile-sensitive/controls/sensitive.rb +0 -9
- data/examples/profile-sensitive/inspec.yml +0 -8
- data/examples/profile/README.md +0 -48
- data/examples/profile/controls/example.rb +0 -24
- data/examples/profile/controls/gordon.rb +0 -36
- data/examples/profile/controls/meta.rb +0 -36
- data/examples/profile/inspec.yml +0 -11
- data/examples/profile/libraries/gordon_config.rb +0 -59
@@ -1,101 +0,0 @@
|
|
1
|
-
---
|
2
|
-
title: About the aws_cloudwatch_alarm Resource
|
3
|
-
platform: aws
|
4
|
-
---
|
5
|
-
|
6
|
-
# aws\_cloudwatch\_alarm
|
7
|
-
|
8
|
-
Use the `aws_cloudwatch_alarm` InSpec audit resource to test properties of a single Cloudwatch Alarm.
|
9
|
-
|
10
|
-
Cloudwatch Alarms are currently identified using the metric name and metric namespace. Future work may allow other approaches to identifying alarms.
|
11
|
-
|
12
|
-
<br>
|
13
|
-
|
14
|
-
## Availability
|
15
|
-
|
16
|
-
### Installation
|
17
|
-
|
18
|
-
This resource is distributed along with InSpec itself. You can use it automatically.
|
19
|
-
|
20
|
-
### Version
|
21
|
-
|
22
|
-
This resource first became available in v2.0.16 of InSpec.
|
23
|
-
|
24
|
-
## Syntax
|
25
|
-
|
26
|
-
An `aws_cloudwatch_alarm` resource block searches for a Cloudwatch Alarm, specified by several search options. If more than one Alarm matches, an error occurs.
|
27
|
-
|
28
|
-
# Look for a specific alarm
|
29
|
-
aws_cloudwatch_alarm(
|
30
|
-
metric_name: 'my-metric-name',
|
31
|
-
metric_namespace: 'my-metric-namespace',
|
32
|
-
) do
|
33
|
-
it { should exist }
|
34
|
-
end
|
35
|
-
|
36
|
-
<br>
|
37
|
-
|
38
|
-
## Examples
|
39
|
-
|
40
|
-
The following examples show how to use this InSpec audit resource.
|
41
|
-
|
42
|
-
### Ensure an Alarm has at least one alarm action
|
43
|
-
|
44
|
-
describe aws_cloudwatch_alarm(
|
45
|
-
metric: 'my-metric-name',
|
46
|
-
metric_namespace: 'my-metric-namespace',
|
47
|
-
) do
|
48
|
-
its('alarm_actions') { should_not be_empty }
|
49
|
-
end
|
50
|
-
|
51
|
-
<br>
|
52
|
-
|
53
|
-
## Properties
|
54
|
-
|
55
|
-
* `alarm_actions`
|
56
|
-
|
57
|
-
## Property Examples
|
58
|
-
|
59
|
-
### alarm\_actions
|
60
|
-
|
61
|
-
`alarm_actions` returns a list of strings. Each string is the ARN of an action that will be taken should the alarm be triggered.
|
62
|
-
|
63
|
-
# Ensure that the alarm has at least one action
|
64
|
-
describe aws_cloudwatch_alarm(
|
65
|
-
metric: 'bed-metric',
|
66
|
-
metric_namespace: 'my-metric-namespace',
|
67
|
-
) do
|
68
|
-
its('alarm_actions') { should_not be_empty }
|
69
|
-
end
|
70
|
-
|
71
|
-
<br>
|
72
|
-
|
73
|
-
## Matchers
|
74
|
-
|
75
|
-
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/).
|
76
|
-
|
77
|
-
### exists
|
78
|
-
|
79
|
-
The control will pass if a Cloudwatch Alarm could be found. Use `should_not` if you expect zero matches.
|
80
|
-
|
81
|
-
# Expect good metric
|
82
|
-
describe aws_cloudwatch_alarm(
|
83
|
-
metric: 'good-metric',
|
84
|
-
metric_namespace: 'my-metric-namespace',
|
85
|
-
) do
|
86
|
-
it { should exist }
|
87
|
-
end
|
88
|
-
|
89
|
-
# Disallow alarms based on bad-metric
|
90
|
-
describe aws_cloudwatch_alarm(
|
91
|
-
metric: 'bed-metric',
|
92
|
-
metric_namespace: 'my-metric-namespace',
|
93
|
-
) do
|
94
|
-
it { should_not exist }
|
95
|
-
end
|
96
|
-
|
97
|
-
## AWS Permissions
|
98
|
-
|
99
|
-
Your [Principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/intro-structure.html#intro-structure-principal) will need the `cloudwatch:DescribeAlarmsForMetric` action with Effect set to Allow.
|
100
|
-
|
101
|
-
You can find detailed documentation at [Actions, Resources, and Condition Keys for Amazon CloudWatch](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazoncloudwatch.html).
|
@@ -1,164 +0,0 @@
|
|
1
|
-
---
|
2
|
-
title: About the aws_cloudwatch_log_metric_filter Resource
|
3
|
-
platform: aws
|
4
|
-
---
|
5
|
-
|
6
|
-
# aws\_cloudwatch\_log\_metric\_filter
|
7
|
-
|
8
|
-
Use the `aws_cloudwatch_log_metric_filter` InSpec audit resource to search for and test properties of individual AWS Cloudwatch Log Metric Filters.
|
9
|
-
|
10
|
-
A Log Metric Filter (LMF) is an AWS resource that observes log traffic, looks for a specified pattern, and then updates a metric about the number times the match occurs. The metric can also be connected to AWS Cloudwatch Alarms, so that actions can be taken when a match occurs.
|
11
|
-
|
12
|
-
<br>
|
13
|
-
|
14
|
-
## Availability
|
15
|
-
|
16
|
-
### Installation
|
17
|
-
|
18
|
-
This resource is distributed along with InSpec itself. You can use it automatically.
|
19
|
-
|
20
|
-
### Version
|
21
|
-
|
22
|
-
This resource first became available in v2.0.16 of InSpec.
|
23
|
-
|
24
|
-
## Syntax
|
25
|
-
|
26
|
-
An `aws_cloudwatch_log_metric_filter` resource block searches for an LMF, specified by several search options. If more than one log metric filter matches, an error occurs.
|
27
|
-
|
28
|
-
# Look for an LMF by its filter name and log group name. This combination
|
29
|
-
# will always either find at most one LMF - no duplicates.
|
30
|
-
describe aws_cloudwatch_log_metric_filter(
|
31
|
-
filter_name: 'my-filter',
|
32
|
-
log_group_name: 'my-log-group'
|
33
|
-
) do
|
34
|
-
it { should exist }
|
35
|
-
end
|
36
|
-
|
37
|
-
# Search for an LMF by pattern and log group.
|
38
|
-
# This could result in an error if the results are not unique.
|
39
|
-
describe aws_cloudwatch_log_metric_filter(
|
40
|
-
log_group_name: 'my-log-group',
|
41
|
-
pattern: 'my-filter'
|
42
|
-
) do
|
43
|
-
it { should exist }
|
44
|
-
end
|
45
|
-
|
46
|
-
<br>
|
47
|
-
|
48
|
-
## Filter Attributes
|
49
|
-
|
50
|
-
* `filter_name`, `log_group_name`, `pattern`
|
51
|
-
|
52
|
-
<br>
|
53
|
-
|
54
|
-
## Filter Examples
|
55
|
-
|
56
|
-
### filter\_name
|
57
|
-
|
58
|
-
This is the identifier of the log metric filter within its log group. To ensure you have a unique result, you must also provide the `log_group_name`.
|
59
|
-
|
60
|
-
describe aws_cloudwatch_log_metric_filter(
|
61
|
-
filter_name: 'my-filter'
|
62
|
-
) do
|
63
|
-
it { should exist }
|
64
|
-
end
|
65
|
-
|
66
|
-
### log\_group\_name
|
67
|
-
|
68
|
-
The name of the Cloudwatch Log Group that the LMF is watching. Together with `filter_name`, this uniquely identifies an LMF.
|
69
|
-
|
70
|
-
describe aws_cloudwatch_log_metric_filter(
|
71
|
-
log_group_name: 'my-log-group',
|
72
|
-
) do
|
73
|
-
it { should exist }
|
74
|
-
end
|
75
|
-
|
76
|
-
### pattern
|
77
|
-
|
78
|
-
The filter pattern used to match entries from the logs in the log group.
|
79
|
-
|
80
|
-
describe aws_cloudwatch_log_metric_filter(
|
81
|
-
pattern: '"ERROR" - "Exiting"',
|
82
|
-
) do
|
83
|
-
it { should exist }
|
84
|
-
end
|
85
|
-
|
86
|
-
<br>
|
87
|
-
|
88
|
-
## Properties
|
89
|
-
|
90
|
-
* `filter_name`, `log_group_name`,` metric_name`, `metric_namespace`, `pattern`
|
91
|
-
|
92
|
-
<br>
|
93
|
-
|
94
|
-
## Property Examples
|
95
|
-
|
96
|
-
### filter\_name
|
97
|
-
|
98
|
-
The name of the LMF within the `log_group`.
|
99
|
-
|
100
|
-
# Check the name of the LMF that has a certain pattern
|
101
|
-
describe aws_cloudwatch_log_metric_filter(
|
102
|
-
log_group_name: 'app-log-group',
|
103
|
-
pattern: 'KERBLEWIE',
|
104
|
-
) do
|
105
|
-
its('filter_name') { should cmp 'kaboom_lmf' }
|
106
|
-
end
|
107
|
-
|
108
|
-
### log\_group\_name
|
109
|
-
|
110
|
-
The name of the log group that the LMF is watching.
|
111
|
-
|
112
|
-
# Check which log group the LMF 'error-watcher' is watching
|
113
|
-
describe aws_cloudwatch_log_metric_filter(
|
114
|
-
filter_name: 'error-watcher',
|
115
|
-
) do
|
116
|
-
its('log_group_name') { should cmp 'app-log-group' }
|
117
|
-
end
|
118
|
-
|
119
|
-
### metric\_name, metric\_namespace
|
120
|
-
|
121
|
-
The name and namespace of the Cloudwatch Metric that will be updated when the LMF matches. You also need the `metric_namespace` to uniquely identify the metric.
|
122
|
-
|
123
|
-
# Ensure that the LMF has the right metric name
|
124
|
-
describe aws_cloudwatch_log_metric_filter(
|
125
|
-
filter_name: 'my-filter',
|
126
|
-
log_group_name: 'my-log-group',
|
127
|
-
) do
|
128
|
-
its('metric_name') { should cmp 'MyMetric' }
|
129
|
-
its('metric_namespace') { should cmp 'MyFantasticMetrics' }
|
130
|
-
end
|
131
|
-
|
132
|
-
### pattern
|
133
|
-
|
134
|
-
The pattern used to match entries from the logs in the log group.
|
135
|
-
|
136
|
-
# Ensure that the LMF is watching for errors
|
137
|
-
describe aws_cloudwatch_log_metric_filter(
|
138
|
-
filter_name: 'error-watcher',
|
139
|
-
log_group_name: 'app-log-group',
|
140
|
-
) do
|
141
|
-
its('pattern') { should cmp 'ERROR' }
|
142
|
-
end
|
143
|
-
|
144
|
-
<br>
|
145
|
-
|
146
|
-
## Matchers
|
147
|
-
|
148
|
-
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/).
|
149
|
-
|
150
|
-
### exist
|
151
|
-
|
152
|
-
Matches (i.e., passes the test) if the resource parameters (search criteria) were able to locate exactly one LMF.
|
153
|
-
|
154
|
-
describe aws_cloudwatch_log_metric_filter(
|
155
|
-
log_group_name: 'my-log-group',
|
156
|
-
) do
|
157
|
-
it { should exist }
|
158
|
-
end
|
159
|
-
|
160
|
-
## AWS Permissions
|
161
|
-
|
162
|
-
Your [Principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/intro-structure.html#intro-structure-principal) will need the `cloudwatch:DescribeAlarmsForMetric` action with Effect set to Allow.
|
163
|
-
|
164
|
-
You can find detailed documentation at [Actions, Resources, and Condition Keys for Amazon CloudWatch](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazoncloudwatch.html).
|
@@ -1,111 +0,0 @@
|
|
1
|
-
---
|
2
|
-
title: About the aws_config_delivery_channel Resource
|
3
|
-
---
|
4
|
-
|
5
|
-
# aws_config_delivery_channel
|
6
|
-
|
7
|
-
The AWS Config service can monitor and record changes to your AWS resource configurations. A Delivery Channel can record the changes
|
8
|
-
to an S3 Bucket, an SNS or both.
|
9
|
-
|
10
|
-
Use the `aws_config_delivery_channel` InSpec audit resource to examine how the AWS Config service delivers those change notifications.
|
11
|
-
|
12
|
-
As of April 2018, each AWS region may have only one Delivery Channel.
|
13
|
-
|
14
|
-
<br>
|
15
|
-
|
16
|
-
## Availability
|
17
|
-
|
18
|
-
### Installation
|
19
|
-
|
20
|
-
This resource is distributed along with InSpec itself. You can use it automatically.
|
21
|
-
|
22
|
-
### Version
|
23
|
-
|
24
|
-
This resource first became available in v2.1.21 of InSpec.
|
25
|
-
|
26
|
-
## Resource Parameters
|
27
|
-
|
28
|
-
An `aws_config_delivery_channel` resource block declares the tests for a single AWS Config Delivery Channel.
|
29
|
-
|
30
|
-
You may specify the Delivery Channel name:
|
31
|
-
|
32
|
-
describe aws_config_delivery_channel('my_channel') do
|
33
|
-
it { should exist }
|
34
|
-
end
|
35
|
-
|
36
|
-
describe aws_config_delivery_channel(channel_name: 'my-channel') do
|
37
|
-
it { should exist }
|
38
|
-
end
|
39
|
-
|
40
|
-
However, since you may only have one Delivery Channel per region, and InSpec connections are per-region, you may also omit the `channel_name` to obtain the one Delivery Channel (if any) that exists:
|
41
|
-
|
42
|
-
describe aws_config_delivery_channel do
|
43
|
-
it { should exist }
|
44
|
-
end
|
45
|
-
|
46
|
-
<br>
|
47
|
-
|
48
|
-
## Examples
|
49
|
-
|
50
|
-
The following examples show how to use this InSpec audit resource.
|
51
|
-
|
52
|
-
### Test how frequently the channel writes configuration changes to the s3 bucket.
|
53
|
-
|
54
|
-
describe aws_config_delivery_channel(channel_name: 'my-recorder') do
|
55
|
-
its(delivery_frequency_in_hours) { should be > 3 }
|
56
|
-
end
|
57
|
-
|
58
|
-
## Properties
|
59
|
-
|
60
|
-
### channel\_name
|
61
|
-
|
62
|
-
Returns the name of the Delivery Channel.
|
63
|
-
|
64
|
-
describe aws_config_delivery_channel do
|
65
|
-
its('channel_name') { should cmp 'my-channel' }
|
66
|
-
end
|
67
|
-
|
68
|
-
### delivery\_frequency\_in\_hours
|
69
|
-
|
70
|
-
Provides how often the AWS Config sends configuration changes to the s3 bucket in the delivery channel.
|
71
|
-
|
72
|
-
describe aws_config_delivery_channel(channel_name: 'my_channel')
|
73
|
-
its('delivery_frequency_in_hours') { should eq 24 }
|
74
|
-
its('delivery_frequency_in_hours') { should be > 24 }
|
75
|
-
end
|
76
|
-
|
77
|
-
### s3\_bucket\_name
|
78
|
-
|
79
|
-
Provides the name of the s3 bucket that the channel sends configuration changes to. This is an optional value since a Delivery Channel can also talk to an SNS.
|
80
|
-
|
81
|
-
describe aws_config_delivery_channel(channel_name: 'my_channel')
|
82
|
-
its('s3_bucket_name') { should eq 'my_bucket' }
|
83
|
-
end
|
84
|
-
|
85
|
-
### s3\_key\_prefix
|
86
|
-
|
87
|
-
Provides the s3 object key prefix (or "path") under which configuration data will be recorded.
|
88
|
-
|
89
|
-
describe aws_config_delivery_channel(channel_name: 'my_channel')
|
90
|
-
its('s3_key_prefix') { should eq 'log/' }
|
91
|
-
end
|
92
|
-
|
93
|
-
### sns\_topic\_arn
|
94
|
-
|
95
|
-
Provides the ARN of the SNS topic for which the channel sends notifications about configuration changes.
|
96
|
-
|
97
|
-
describe aws_config_delivery_channel(channel_name: 'my_channel')
|
98
|
-
its('sns_topic_arn') { should eq 'arn:aws:sns:us-east-1:721741954427:sns_topic' }
|
99
|
-
end
|
100
|
-
|
101
|
-
<br>
|
102
|
-
|
103
|
-
## Matchers
|
104
|
-
|
105
|
-
This resource provides no matchers, aside from the standard `exist` matcher.
|
106
|
-
|
107
|
-
## AWS Permissions
|
108
|
-
|
109
|
-
Your [Principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/intro-structure.html#intro-structure-principal) will need the `config:DescribeDeliveryChannels` action with Effect set to Allow.
|
110
|
-
|
111
|
-
You can find detailed documentation at [Actions, Resources, and Condition Keys for AWS Config](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awsconfig.html).
|
@@ -1,96 +0,0 @@
|
|
1
|
-
---
|
2
|
-
title: About the aws_config_recorder Resource
|
3
|
-
---
|
4
|
-
|
5
|
-
# aws\_config\_recorder
|
6
|
-
|
7
|
-
Use the `aws_config_recorder` InSpec audit resource to test properties of your AWS Config Service.
|
8
|
-
|
9
|
-
The AWS Config service can monitor and record changes to your AWS resource configurations. The Aws Config Recorder is used to detect changes in resource configurations and capture these changes as configuration items.
|
10
|
-
|
11
|
-
As of April 2018, you are only permitted one configuration recorder per region.
|
12
|
-
|
13
|
-
<br>
|
14
|
-
|
15
|
-
## Availability
|
16
|
-
|
17
|
-
### Installation
|
18
|
-
|
19
|
-
This resource is distributed along with InSpec itself. You can use it automatically.
|
20
|
-
|
21
|
-
### Version
|
22
|
-
|
23
|
-
This resource first became available in v2.0.32 of InSpec.
|
24
|
-
|
25
|
-
## Resource Parameters
|
26
|
-
|
27
|
-
An `aws_config_recorder` resource block declares the tests for a single AWS configuration recorder.
|
28
|
-
|
29
|
-
You may specify a recorder by name:
|
30
|
-
|
31
|
-
describe aws_config_recorder('my_recorder') do
|
32
|
-
it { should exist }
|
33
|
-
end
|
34
|
-
|
35
|
-
describe aws_config_recorder(recorder_name: 'my-recorder') do
|
36
|
-
it { should exist }
|
37
|
-
end
|
38
|
-
|
39
|
-
However, since you may only have one recorder per region, and InSpec connections are per-region, you may also omit the `recorder_name` to obtain the one recorder (if any) that exists:
|
40
|
-
|
41
|
-
describe aws_config_recorder do
|
42
|
-
it { should exist }
|
43
|
-
end
|
44
|
-
|
45
|
-
<br>
|
46
|
-
|
47
|
-
## Examples
|
48
|
-
|
49
|
-
The following examples show how to use this InSpec audit resource.
|
50
|
-
|
51
|
-
### Test if the recorder is active and recording.
|
52
|
-
|
53
|
-
describe aws_config_recorder(recorder_name: 'my-recorder') do
|
54
|
-
it { should be_recording }
|
55
|
-
end
|
56
|
-
|
57
|
-
## Properties
|
58
|
-
|
59
|
-
### role\_arn
|
60
|
-
|
61
|
-
Provides the IAM role arn associated with the configuration recorder. The role is used to grant permissions to S3 Buckets, SNS topics and to get configuration details for supported AWS resources.
|
62
|
-
|
63
|
-
describe aws_config_recorder(username: 'bob')
|
64
|
-
its('role_arn') { should eq 'arn:aws:iam::721741954427:role/My_Recorder' }
|
65
|
-
end
|
66
|
-
|
67
|
-
### resource\_types
|
68
|
-
|
69
|
-
Provides a list of AWS resource types for which the AWS Config records configuration will change. Note that if be_recording_all_resource_types is true than this property is meaningless and will return and empty array.
|
70
|
-
|
71
|
-
describe aws_config_recorder(username: 'bob')
|
72
|
-
its('resource_types') { should include 'AWS::EC2::CustomerGateway' }
|
73
|
-
its('resource_types') { should include 'AWS::EC2::EIP' }
|
74
|
-
end
|
75
|
-
|
76
|
-
<br>
|
77
|
-
|
78
|
-
## Matchers
|
79
|
-
|
80
|
-
### be\_recording\_all\_resource\_types
|
81
|
-
|
82
|
-
Indicates if the ConfigurationRecorder will record changes for all resources, regardless of type. If this is true, resource_types is ignored.
|
83
|
-
|
84
|
-
it { should be_recording_all_resource_types }
|
85
|
-
|
86
|
-
### be\_recording\_all\_global\_types
|
87
|
-
|
88
|
-
Indicates whether the ConfigurationRecorder will record changes for global resource types (such as [Principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/intro-structure.html#intro-structure-principal)s).
|
89
|
-
|
90
|
-
it { should be_recording_all_global_types }
|
91
|
-
|
92
|
-
## AWS Permissions
|
93
|
-
|
94
|
-
Your [Principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/intro-structure.html#intro-structure-principal) will need the `config:DescribeConfigurationRecorders` action with Effect set to Allow.
|
95
|
-
|
96
|
-
You can find detailed documentation at [Actions, Resources, and Condition Keys for AWS Config](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awsconfig.html).
|