You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
<td>Name of the policy check.<br />Note: Each value corresponds to an IAM Access Analyzer API. <br />- <a href="https://docs.aws.amazon.com/access-analyzer/latest/APIReference/API_ValidatePolicy.html">ValidatePolicy</a><br />- <a href="https://docs.aws.amazon.com/access-analyzer/latest/APIReference/API_CheckNoNewAccess.html">CheckNoNewAccess</a><br />- <a href="https://docs.aws.amazon.com/access-analyzer/latest/APIReference/API_CheckAccessNotGranted.html">CheckAccessNotGranted</a></td>
<td>Name of the policy check.<br />Note: Each value corresponds to an IAM Access Analyzer API. <br />- <a href="https://docs.aws.amazon.com/access-analyzer/latest/APIReference/API_ValidatePolicy.html">ValidatePolicy</a><br />- <a href="https://docs.aws.amazon.com/access-analyzer/latest/APIReference/API_CheckNoNewAccess.html">CheckNoNewAccess</a><br />- <a href="https://docs.aws.amazon.com/access-analyzer/latest/APIReference/API_CheckAccessNotGranted.html">CheckAccessNotGranted</a><br />- <a href="https://docs.aws.amazon.com/access-analyzer/latest/APIReference/API_CheckNoPublicAccess.html">CheckNoPublicAccess</a></td>
@@ -47,6 +50,7 @@ See [action.yml](action.yaml) for the full documentation for this action's input
47
50
<td>✅</td>
48
51
<td>✅</td>
49
52
<td>✅</td>
53
+
<td>✅</td>
50
54
</tr>
51
55
<tr>
52
56
<td>ignore-finding</td>
@@ -56,31 +60,47 @@ See [action.yml](action.yaml) for the full documentation for this action's input
56
60
<td>✅</td>
57
61
<td>✅</td>
58
62
<td>✅</td>
63
+
<td>✅</td>
59
64
</tr>
60
65
<tr>
61
66
<td>actions</td>
62
-
<td>List of comma-separated actions. Example format - ACTION,ACTION,ACTION. <br /><br /><strong>This attribute is only considered and required when policy-check-type is "CHECK_ACCESS_NOT_GRANTED".</strong></td>
67
+
<td>List of comma-separated actions. Example format - ACTION,ACTION,ACTION. <br /><br /><strong>This attribute is only considered when policy-check-type is "CHECK_ACCESS_NOT_GRANTED". At least one of "actions" or "resources" must be provided</strong></td>
63
68
<td>ACTION,ACTION,ACTION</td>
64
69
<td>No</td>
65
70
<td>❌</td>
66
71
<td>❌</td>
67
72
<td>✅</td>
73
+
<td>❌</td>
74
+
</tr>
75
+
<tr>
76
+
<td>resources</td>
77
+
<td>List of comma-separated resource ARNs. Example format - RESOURCE,RESOURCE,RESOURCE. <br /><br /><strong>This attribute is only considered when policy-check-type is "CHECK_ACCESS_NOT_GRANTED". At least one of "actions" or "resources" must be provided</strong></td>
78
+
<td>RESOURCE,RESOURCE,RESOURCE</td>
79
+
<td>No</td>
80
+
<td>❌</td>
81
+
<td>❌</td>
82
+
<td>✅</td>
83
+
<td>❌</td>
68
84
</tr>
69
85
<tr>
70
86
<td>reference-policy</td>
71
87
<td>A JSON formatted file that specifies the path to the reference policy that is used for a permissions comparison. <br /><br /><strong>This attribute is only considered and required when policy-check-type is "CHECK_NO_NEW_ACCESS".</strong></td>
88
+
<td>FILE_PATH.json</td>
72
89
<td>No</td>
73
90
<td>❌</td>
74
91
<td>✅</td>
75
92
<td>❌</td>
93
+
<td>❌</td>
76
94
</tr>
77
95
<tr>
78
96
<td>reference-policy-type</td>
79
97
<td>The policy type associated with the IAM policy under analysis and the reference policy. Valid values: IDENTITY, RESOURCE. <br /><br /><strong> This attribute is only considered and required when policy-check-type is "CHECK_NO_NEW_ACCESS"</strong></td>
98
+
<td>REFERENCE_POLICY_TYPE</td>
80
99
<td>No</td>
81
100
<td>❌</td>
82
101
<td>✅</td>
83
102
<td>❌</td>
103
+
<td>❌</td>
84
104
</tr>
85
105
<tr>
86
106
<td>treat-finding-type-as-blocking</td>
@@ -90,14 +110,17 @@ See [action.yml](action.yaml) for the full documentation for this action's input
90
110
<td>✅</td>
91
111
<td>❌</td>
92
112
<td>❌</td>
113
+
<td>❌</td>
93
114
</tr>
94
115
<tr>
95
116
<td>treat-findings-as-non-blocking</td>
96
-
<td>By default, the tool will exit with a non-zero exit code when it detects any findings. Set this flag to exit with an exit code of 0 when it detects findings. You can use this to run new checks in a shadow or log only mode before enforcing them. <br /><br /><strong>This attribute is considered only when policy-check-type is "CHECK_NO_NEW_ACCESS" or "CHECK_ACCESS_NOT_GRANTED".</strong></td>
117
+
<td>By default, the tool will exit with a non-zero exit code when it detects any findings. Set this flag to exit with an exit code of 0 when it detects findings. You can use this to run new checks in a shadow or log only mode before enforcing them. <br /><br /><strong>This attribute is considered only when policy-check-type is "CHECK_NO_NEW_ACCESS", "CHECK_ACCESS_NOT_GRANTED", or "CHECK_NO_PUBLIC_ACCESS.</strong></td>
118
+
<td> </td>
97
119
<td>No</td>
98
120
<td>❌</td>
99
121
<td>✅</td>
100
122
<td>✅</td>
123
+
<td>✅</td>
101
124
</tr>
102
125
<tr>
103
126
<td>allow-external-principals</td>
@@ -107,14 +130,17 @@ See [action.yml](action.yaml) for the full documentation for this action's input
107
130
<td>✅</td>
108
131
<td>❌</td>
109
132
<td>❌</td>
133
+
<td>❌</td>
110
134
</tr>
111
135
<tr>
112
136
<td>allow-dynamic-ref-without-version</td>
113
137
<td>Override the default behavior and allow dynamic SSM references without version numbers. The version number ensures that the SSM parameter value that was validated is the one that is deployed.</td>
138
+
<td> </td>
114
139
<td>No</td>
115
140
<td>✅</td>
116
141
<td>✅</td>
117
142
<td>✅</td>
143
+
<td>✅</td>
118
144
</tr>
119
145
<tr>
120
146
<td>exclude-resource-types</td>
@@ -124,6 +150,7 @@ See [action.yml](action.yaml) for the full documentation for this action's input
124
150
<td>✅</td>
125
151
<td>✅</td>
126
152
<td>✅</td>
153
+
<td>✅</td>
127
154
</tr>
128
155
</tbody>
129
156
</table>
@@ -135,18 +162,17 @@ See [action.yml](action.yaml) for the full documentation for this action's input
135
162
136
163
- Setting up the role: Role used in the GitHub workflow should have necessary permissions required
137
164
- to be called from the GitHub workflows - setup OpenID Connect(OIDC) provider and IAM role & Trust policy as described in step 1 & 2 in [this](https://aws.amazon.com/blogs/security/use-iam-roles-to-connect-github-actions-to-actions-in-aws/) blog
138
-
- to call the AWS APIs for the policy checks - ValidatePolicy, CheckNoNewAccess, CheckAccessNotGranted. Refer [this](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-checks-validating-policies.html) page for more details
165
+
- to call the AWS APIs for the policy checks - ValidatePolicy, CheckNoNewAccess, CheckAccessNotGranted, CheckNoPublicAccess. Refer [this](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-checks-validating-policies.html) page for more details
139
166
140
167
```
141
168
- name: Checkout Repo
142
169
uses: actions/checkout@v4
143
170
- name: Configure AWS Credentials
144
171
uses: aws-actions/configure-aws-credentials@v4
145
172
with:
146
-
role-to-assume: ${{ secrets.POLICY_VALIDATOR_ROLE }} # Role with permissions to invoke access-analyzer:ValidatePolicy,access-analyzer:CheckNoNewAccess, access-analyzer:CheckAccessNotGranted
173
+
role-to-assume: ${{ secrets.POLICY_VALIDATOR_ROLE }} # Role with permissions to invoke access-analyzer:ValidatePolicy,access-analyzer:CheckNoNewAccess, access-analyzer:CheckAccessNotGranted, access-analyzer:CheckNoPublicAccess
147
174
aws-region: aws-example-region
148
175
```
149
-
150
176
#### Getting started using starter workflows
151
177
152
178
To get started quickly, add a starter workflow to the `.github/workflows` directory of your repository. In order to do that, do the following -
@@ -191,13 +217,26 @@ Please find the starter workflow [here](https://github.com/actions/starter-workf
191
217
#### Using for the `CHECK_ACCESS_NOT_GRANTED` CHECK
Copy file name to clipboardExpand all lines: action.yaml
+3-1Lines changed: 3 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -16,7 +16,9 @@ inputs:
16
16
ignore-finding:
17
17
description: 'Allow validation failures to be ignored. Specify as a comma separated list of findings to be ignored. Can be individual finding codes (e.g. "PASS_ROLE_WITH_STAR_IN_RESOURCE"), a specific resource name (e.g. "MyResource"), or a combination of both separated by a period.(e.g. "MyResource.PASS_ROLE_WITH_STAR_IN_RESOURCE"). Names of finding codes may change in IAM Access Analyzer over time. Valid options: FINDING_CODE,RESOURCE_NAME,RESOURCE_NAME.FINDING_CODE'
18
18
actions:
19
-
description: 'List of comma-separated actions. Example format - ACTION,ACTION,ACTION. This attribute is considered and required when policy-check-type is "CHECK_ACCESS_NOT_GRANTED"'
19
+
description: 'List of comma-separated actions. Example format - ACTION,ACTION,ACTION. This attribute is considered when policy-check-type is "CHECK_ACCESS_NOT_GRANTED". At least one of "actions" or "resources" must be specified.'
20
+
resources:
21
+
description: 'List of comma-separated resource ARNs. Example format - RESOURCE,RESOURCE,RESOURCE. This attribute is considered when policy-check-type is "CHECK_ACCESS_NOT_GRANTED" At least one of "actions" or "resources" must be specified.'
20
22
reference-policy:
21
23
description: 'A JSON formatted file that specifies the path to the reference policy that is used for a permissions comparison. This attribute is considered and required when policy-check-type is "CHECK_NO_NEW_ACCESS"'
0 commit comments