Skip to content

Commit 913761b

Browse files
author
AWS
committed
Access Analyzer Update: Expand analyzer configuration capabilities for unused access analyzers. Unused access analyzer configurations now support the ability to exclude accounts and resource tags from analysis providing more granular control over the scope of analysis.
1 parent 3d71912 commit 913761b

File tree

2 files changed

+92
-9
lines changed

2 files changed

+92
-9
lines changed
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"type": "feature",
3+
"category": "Access Analyzer",
4+
"contributor": "",
5+
"description": "Expand analyzer configuration capabilities for unused access analyzers. Unused access analyzer configurations now support the ability to exclude accounts and resource tags from analysis providing more granular control over the scope of analysis."
6+
}

services/accessanalyzer/src/main/resources/codegen-resources/service-2.json

Lines changed: 86 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -415,7 +415,7 @@
415415
{"shape":"ThrottlingException"},
416416
{"shape":"AccessDeniedException"}
417417
],
418-
"documentation":"<p>Retrieves a list of resources of the specified type that have been analyzed by the specified external access analyzer. This action is not supported for unused access analyzers.</p>"
418+
"documentation":"<p>Retrieves a list of resources of the specified type that have been analyzed by the specified analyzer.</p>"
419419
},
420420
"ListAnalyzers":{
421421
"name":"ListAnalyzers",
@@ -597,6 +597,26 @@
597597
"documentation":"<p>Removes a tag from the specified resource.</p>",
598598
"idempotent":true
599599
},
600+
"UpdateAnalyzer":{
601+
"name":"UpdateAnalyzer",
602+
"http":{
603+
"method":"PUT",
604+
"requestUri":"/analyzer/{analyzerName}",
605+
"responseCode":200
606+
},
607+
"input":{"shape":"UpdateAnalyzerRequest"},
608+
"output":{"shape":"UpdateAnalyzerResponse"},
609+
"errors":[
610+
{"shape":"ResourceNotFoundException"},
611+
{"shape":"ConflictException"},
612+
{"shape":"ValidationException"},
613+
{"shape":"InternalServerException"},
614+
{"shape":"ThrottlingException"},
615+
{"shape":"AccessDeniedException"}
616+
],
617+
"documentation":"<p>Modifies the configuration of an existing analyzer.</p>",
618+
"idempotent":true
619+
},
600620
"UpdateArchiveRule":{
601621
"name":"UpdateArchiveRule",
602622
"http":{
@@ -913,6 +933,10 @@
913933
"max":100,
914934
"min":0
915935
},
936+
"AccountIdsList":{
937+
"type":"list",
938+
"member":{"shape":"String"}
939+
},
916940
"AclCanonicalId":{"type":"string"},
917941
"AclGrantee":{
918942
"type":"structure",
@@ -945,6 +969,34 @@
945969
"type":"list",
946970
"member":{"shape":"String"}
947971
},
972+
"AnalysisRule":{
973+
"type":"structure",
974+
"members":{
975+
"exclusions":{
976+
"shape":"AnalysisRuleCriteriaList",
977+
"documentation":"<p>A list of rules for the analyzer containing criteria to exclude from analysis. Entities that meet the rule criteria will not generate findings.</p>"
978+
}
979+
},
980+
"documentation":"<p>Contains information about analysis rules for the analyzer. Analysis rules determine which entities will generate findings based on the criteria you define when you create the rule.</p>"
981+
},
982+
"AnalysisRuleCriteria":{
983+
"type":"structure",
984+
"members":{
985+
"accountIds":{
986+
"shape":"AccountIdsList",
987+
"documentation":"<p>A list of Amazon Web Services account IDs to apply to the analysis rule criteria. The accounts cannot include the organization analyzer owner account. Account IDs can only be applied to the analysis rule criteria for organization-level analyzers. The list cannot include more than 2,000 account IDs.</p>"
988+
},
989+
"resourceTags":{
990+
"shape":"TagsList",
991+
"documentation":"<p>An array of key-value pairs to match for your resources. You can use the set of Unicode letters, digits, whitespace, <code>_</code>, <code>.</code>, <code>/</code>, <code>=</code>, <code>+</code>, and <code>-</code>.</p> <p>For the tag key, you can specify a value that is 1 to 128 characters in length and cannot be prefixed with <code>aws:</code>.</p> <p>For the tag value, you can specify a value that is 0 to 256 characters in length. If the specified tag value is 0 characters, the rule is applied to all principals with the specified tag key.</p>"
992+
}
993+
},
994+
"documentation":"<p>The criteria for an analysis rule for an analyzer. The criteria determine which entities will generate findings.</p>"
995+
},
996+
"AnalysisRuleCriteriaList":{
997+
"type":"list",
998+
"member":{"shape":"AnalysisRuleCriteria"}
999+
},
9481000
"AnalyzedResource":{
9491001
"type":"structure",
9501002
"required":[
@@ -1040,10 +1092,10 @@
10401092
"members":{
10411093
"unusedAccess":{
10421094
"shape":"UnusedAccessConfiguration",
1043-
"documentation":"<p>Specifies the configuration of an unused access analyzer for an Amazon Web Services organization or account. External access analyzers do not support any configuration.</p>"
1095+
"documentation":"<p>Specifies the configuration of an unused access analyzer for an Amazon Web Services organization or account.</p>"
10441096
}
10451097
},
1046-
"documentation":"<p>Contains information about the configuration of an unused access analyzer for an Amazon Web Services organization or account.</p>",
1098+
"documentation":"<p>Contains information about the configuration of an analyzer for an Amazon Web Services organization or account.</p>",
10471099
"union":true
10481100
},
10491101
"AnalyzerStatus":{
@@ -1161,7 +1213,7 @@
11611213
"documentation":"<p>The time at which the archive rule was last updated.</p>"
11621214
}
11631215
},
1164-
"documentation":"<p>Contains information about an archive rule.</p>"
1216+
"documentation":"<p>Contains information about an archive rule. Archive rules automatically archive new findings that meet the criteria you define when you create the rule.</p>"
11651217
},
11661218
"ArchiveRulesList":{
11671219
"type":"list",
@@ -1533,7 +1585,7 @@
15331585
},
15341586
"tags":{
15351587
"shape":"TagsMap",
1536-
"documentation":"<p>An array of key-value pairs to apply to the analyzer.</p>"
1588+
"documentation":"<p>An array of key-value pairs to apply to the analyzer. You can use the set of Unicode letters, digits, whitespace, <code>_</code>, <code>.</code>, <code>/</code>, <code>=</code>, <code>+</code>, and <code>-</code>.</p> <p>For the tag key, you can specify a value that is 1 to 128 characters in length and cannot be prefixed with <code>aws:</code>.</p> <p>For the tag value, you can specify a value that is 0 to 256 characters in length.</p>"
15371589
},
15381590
"clientToken":{
15391591
"shape":"String",
@@ -1542,7 +1594,7 @@
15421594
},
15431595
"configuration":{
15441596
"shape":"AnalyzerConfiguration",
1545-
"documentation":"<p>Specifies the configuration of the analyzer. If the analyzer is an unused access analyzer, the specified scope of unused access is used for the configuration. If the analyzer is an external access analyzer, this field is not used.</p>"
1597+
"documentation":"<p>Specifies the configuration of the analyzer. If the analyzer is an unused access analyzer, the specified scope of unused access is used for the configuration.</p>"
15461598
}
15471599
},
15481600
"documentation":"<p>Creates an analyzer.</p>"
@@ -3522,7 +3574,8 @@
35223574
"AWS::SNS::Topic",
35233575
"AWS::S3Express::DirectoryBucket",
35243576
"AWS::DynamoDB::Table",
3525-
"AWS::DynamoDB::Stream"
3577+
"AWS::DynamoDB::Stream",
3578+
"AWS::IAM::User"
35263579
]
35273580
},
35283581
"RetiringPrincipal":{"type":"string"},
@@ -3849,6 +3902,10 @@
38493902
},
38503903
"documentation":"<p>The response to the request.</p>"
38513904
},
3905+
"TagsList":{
3906+
"type":"list",
3907+
"member":{"shape":"TagsMap"}
3908+
},
38523909
"TagsMap":{
38533910
"type":"map",
38543911
"key":{"shape":"String"},
@@ -3981,8 +4038,9 @@
39814038
"members":{
39824039
"unusedAccessAge":{
39834040
"shape":"Integer",
3984-
"documentation":"<p>The specified access age in days for which to generate findings for unused access. For example, if you specify 90 days, the analyzer will generate findings for IAM entities within the accounts of the selected organization for any access that hasn't been used in 90 or more days since the analyzer's last scan. You can choose a value between 1 and 180 days.</p>"
3985-
}
4041+
"documentation":"<p>The specified access age in days for which to generate findings for unused access. For example, if you specify 90 days, the analyzer will generate findings for IAM entities within the accounts of the selected organization for any access that hasn't been used in 90 or more days since the analyzer's last scan. You can choose a value between 1 and 365 days.</p>"
4042+
},
4043+
"analysisRule":{"shape":"AnalysisRule"}
39864044
},
39874045
"documentation":"<p>Contains information about an unused access analyzer.</p>"
39884046
},
@@ -4082,6 +4140,25 @@
40824140
},
40834141
"documentation":"<p>Contains information about the action to take for a policy in an unused permissions finding.</p>"
40844142
},
4143+
"UpdateAnalyzerRequest":{
4144+
"type":"structure",
4145+
"required":["analyzerName"],
4146+
"members":{
4147+
"analyzerName":{
4148+
"shape":"Name",
4149+
"documentation":"<p>The name of the analyzer to modify.</p>",
4150+
"location":"uri",
4151+
"locationName":"analyzerName"
4152+
},
4153+
"configuration":{"shape":"AnalyzerConfiguration"}
4154+
}
4155+
},
4156+
"UpdateAnalyzerResponse":{
4157+
"type":"structure",
4158+
"members":{
4159+
"configuration":{"shape":"AnalyzerConfiguration"}
4160+
}
4161+
},
40854162
"UpdateArchiveRuleRequest":{
40864163
"type":"structure",
40874164
"required":[

0 commit comments

Comments
 (0)