@@ -72,7 +72,10 @@ For developers who need complete access to manage secrets across all environment
7272 {
7373 "Sid" : " ListSecretsAccountWide" ,
7474 "Effect" : " Allow" ,
75- "Action" : " secretsmanager:ListSecrets" ,
75+ "Action" : [
76+ " secretsmanager:ListSecrets" ,
77+ " secretsmanager:BatchGetSecretValue"
78+ ],
7679 "Resource" : " *"
7780 },
7881 {
@@ -117,17 +120,17 @@ For developers who should only access development and staging environments:
117120 "Version" : " 2012-10-17" ,
118121 "Statement" : [
119122 {
120- "Sid" : " ReadWriteDevStagingSecrets " ,
123+ "Sid" : " ReadWriteMyAppStagingAndProd " ,
121124 "Effect" : " Allow" ,
122125 "Action" : [
123126 " secretsmanager:GetSecretValue" ,
124- " secretsmanager:BatchGetSecretValue" ,
125127 " secretsmanager:DescribeSecret" ,
126128 " secretsmanager:ListSecretVersionIds" ,
127129 " secretsmanager:PutSecretValue" ,
128130 " secretsmanager:UpdateSecret" ,
129131 " secretsmanager:UpdateSecretVersionStage" ,
130132 " secretsmanager:DeleteSecret" ,
133+ " secretsmanager:RestoreSecret" ,
131134 " secretsmanager:TagResource" ,
132135 " secretsmanager:UntagResource"
133136 ],
@@ -138,27 +141,24 @@ For developers who should only access development and staging environments:
138141 "secretsmanager:ResourceTag/Namespace" : " myapp"
139142 },
140143 "ForAnyValue:StringEquals" : {
141- "secretsmanager:ResourceTag/Stage" : [" development" , " staging" ]
144+ "secretsmanager:ResourceTag/Stage" : [
145+ " staging" ,
146+ " production"
147+ ]
142148 }
143149 }
144150 },
145151 {
146- "Sid" : " ListOnlyMyAppDevStagingSecrets " ,
152+ "Sid" : " ListSecretsAccountWide " ,
147153 "Effect" : " Allow" ,
148- "Action" : " secretsmanager:ListSecrets" ,
149- "Resource" : " *" ,
150- "Condition" : {
151- "StringEquals" : {
152- "secretsmanager:ResourceTag/ManagedBy" : " Keep" ,
153- "secretsmanager:ResourceTag/Namespace" : " myapp"
154- },
155- "ForAnyValue:StringEquals" : {
156- "secretsmanager:ResourceTag/Stage" : [" development" , " staging" ]
157- }
158- }
154+ "Action" : [
155+ " secretsmanager:ListSecrets" ,
156+ " secretsmanager:BatchGetSecretValue"
157+ ],
158+ "Resource" : " *"
159159 },
160160 {
161- "Sid" : " CreateSecretsInDevStaging " ,
161+ "Sid" : " CreateSecretsInStagingAndProd " ,
162162 "Effect" : " Allow" ,
163163 "Action" : " secretsmanager:CreateSecret" ,
164164 "Resource" : " *" ,
@@ -168,28 +168,18 @@ For developers who should only access development and staging environments:
168168 "aws:RequestTag/Namespace" : " myapp"
169169 },
170170 "ForAnyValue:StringEquals" : {
171- "aws:RequestTag/Stage" : [" development" , " staging" ]
171+ "aws:RequestTag/Stage" : [
172+ " staging" ,
173+ " production"
174+ ]
172175 },
173176 "ForAllValues:StringEquals" : {
174- "aws:TagKeys" : [" ManagedBy" , " Namespace" , " Stage" , " VaultSlug" ]
175- }
176- }
177- },
178- {
179- "Sid" : " DenyProductionAccess" ,
180- "Effect" : " Deny" ,
181- "Action" : [
182- " secretsmanager:GetSecretValue" ,
183- " secretsmanager:BatchGetSecretValue" ,
184- " secretsmanager:DescribeSecret" ,
185- " secretsmanager:PutSecretValue" ,
186- " secretsmanager:UpdateSecret" ,
187- " secretsmanager:DeleteSecret"
188- ],
189- "Resource" : " *" ,
190- "Condition" : {
191- "StringEquals" : {
192- "secretsmanager:ResourceTag/Stage" : " production"
177+ "aws:TagKeys" : [
178+ " ManagedBy" ,
179+ " Namespace" ,
180+ " Stage" ,
181+ " VaultSlug"
182+ ]
193183 }
194184 }
195185 },
@@ -216,45 +206,26 @@ For production deployment processes that only need to read production secrets:
216206 "Version" : " 2012-10-17" ,
217207 "Statement" : [
218208 {
219- "Sid" : " ReadOnlyProductionSecrets " ,
209+ "Sid" : " ReadOnlyMyAppProduction " ,
220210 "Effect" : " Allow" ,
221211 "Action" : [
222212 " secretsmanager:GetSecretValue" ,
223- " secretsmanager:BatchGetSecretValue" ,
224213 " secretsmanager:DescribeSecret"
225214 ],
226215 "Resource" : " *" ,
227216 "Condition" : {
228217 "StringEquals" : {
229- "secretsmanager:ResourceTag/ManagedBy" : " Keep" ,
230218 "secretsmanager:ResourceTag/Namespace" : " myapp" ,
231219 "secretsmanager:ResourceTag/Stage" : " production"
232220 }
233221 }
234222 },
235223 {
236- "Sid" : " ListOnlyProductionSecrets " ,
224+ "Sid" : " ListSecretsAccountWide " ,
237225 "Effect" : " Allow" ,
238- "Action" : " secretsmanager:ListSecrets" ,
239- "Resource" : " *" ,
240- "Condition" : {
241- "StringEquals" : {
242- "secretsmanager:ResourceTag/ManagedBy" : " Keep" ,
243- "secretsmanager:ResourceTag/Namespace" : " myapp" ,
244- "secretsmanager:ResourceTag/Stage" : " production"
245- }
246- }
247- },
248- {
249- "Sid" : " DenyWriteOperations" ,
250- "Effect" : " Deny" ,
251226 "Action" : [
252- " secretsmanager:CreateSecret" ,
253- " secretsmanager:PutSecretValue" ,
254- " secretsmanager:UpdateSecret" ,
255- " secretsmanager:DeleteSecret" ,
256- " secretsmanager:TagResource" ,
257- " secretsmanager:UntagResource"
227+ " secretsmanager:ListSecrets" ,
228+ " secretsmanager:BatchGetSecretValue"
258229 ],
259230 "Resource" : " *"
260231 },
0 commit comments