@cloud-copilot/iam-policy 0.1.3 → 0.1.5-0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/actions/action.d.ts +7 -1
- package/dist/cjs/actions/action.d.ts.map +1 -1
- package/dist/cjs/actions/action.js +9 -0
- package/dist/cjs/actions/action.js.map +1 -1
- package/dist/cjs/annotations/annotations.d.ts +55 -0
- package/dist/cjs/annotations/annotations.d.ts.map +1 -0
- package/dist/cjs/annotations/annotations.js +29 -0
- package/dist/cjs/annotations/annotations.js.map +1 -0
- package/dist/cjs/conditions/condition.d.ts +29 -1
- package/dist/cjs/conditions/condition.d.ts.map +1 -1
- package/dist/cjs/conditions/condition.js +11 -0
- package/dist/cjs/conditions/condition.js.map +1 -1
- package/dist/cjs/parser.d.ts +2 -1
- package/dist/cjs/parser.d.ts.map +1 -1
- package/dist/cjs/parser.js +5 -1
- package/dist/cjs/parser.js.map +1 -1
- package/dist/cjs/policies/policy.d.ts +28 -3
- package/dist/cjs/policies/policy.d.ts.map +1 -1
- package/dist/cjs/policies/policy.js +26 -2
- package/dist/cjs/policies/policy.js.map +1 -1
- package/dist/cjs/principals/principal.d.ts +7 -1
- package/dist/cjs/principals/principal.d.ts.map +1 -1
- package/dist/cjs/principals/principal.js +9 -0
- package/dist/cjs/principals/principal.js.map +1 -1
- package/dist/cjs/resources/resource.d.ts +7 -1
- package/dist/cjs/resources/resource.d.ts.map +1 -1
- package/dist/cjs/resources/resource.js +8 -0
- package/dist/cjs/resources/resource.js.map +1 -1
- package/dist/cjs/statements/statement.d.ts +112 -12
- package/dist/cjs/statements/statement.d.ts.map +1 -1
- package/dist/cjs/statements/statement.js +112 -7
- package/dist/cjs/statements/statement.js.map +1 -1
- package/dist/cjs/validate/validate.d.ts.map +1 -1
- package/dist/cjs/validate/validate.js +76 -1
- package/dist/cjs/validate/validate.js.map +1 -1
- package/dist/esm/actions/action.d.ts +7 -1
- package/dist/esm/actions/action.d.ts.map +1 -1
- package/dist/esm/actions/action.js +8 -0
- package/dist/esm/actions/action.js.map +1 -1
- package/dist/esm/annotations/annotations.d.ts +55 -0
- package/dist/esm/annotations/annotations.d.ts.map +1 -0
- package/dist/esm/annotations/annotations.js +24 -0
- package/dist/esm/annotations/annotations.js.map +1 -0
- package/dist/esm/conditions/condition.d.ts +29 -1
- package/dist/esm/conditions/condition.d.ts.map +1 -1
- package/dist/esm/conditions/condition.js +11 -0
- package/dist/esm/conditions/condition.js.map +1 -1
- package/dist/esm/parser.d.ts +2 -1
- package/dist/esm/parser.d.ts.map +1 -1
- package/dist/esm/parser.js +4 -1
- package/dist/esm/parser.js.map +1 -1
- package/dist/esm/policies/policy.d.ts +28 -3
- package/dist/esm/policies/policy.d.ts.map +1 -1
- package/dist/esm/policies/policy.js +23 -2
- package/dist/esm/policies/policy.js.map +1 -1
- package/dist/esm/principals/principal.d.ts +7 -1
- package/dist/esm/principals/principal.d.ts.map +1 -1
- package/dist/esm/principals/principal.js +8 -0
- package/dist/esm/principals/principal.js.map +1 -1
- package/dist/esm/resources/resource.d.ts +7 -1
- package/dist/esm/resources/resource.d.ts.map +1 -1
- package/dist/esm/resources/resource.js +8 -0
- package/dist/esm/resources/resource.js.map +1 -1
- package/dist/esm/statements/statement.d.ts +112 -12
- package/dist/esm/statements/statement.d.ts.map +1 -1
- package/dist/esm/statements/statement.js +103 -7
- package/dist/esm/statements/statement.js.map +1 -1
- package/dist/esm/validate/validate.d.ts.map +1 -1
- package/dist/esm/validate/validate.js +76 -1
- package/dist/esm/validate/validate.js.map +1 -1
- package/package.json +1 -2
@@ -1,7 +1,8 @@
|
|
1
|
-
import { Action } from "../actions/action.js";
|
2
|
-
import {
|
3
|
-
import {
|
4
|
-
import {
|
1
|
+
import { Action, AnnotatedAction } from "../actions/action.js";
|
2
|
+
import { Annotated, Annotations } from "../annotations/annotations.js";
|
3
|
+
import { AnnotatedCondition, Condition } from "../conditions/condition.js";
|
4
|
+
import { AnnotatedPrincipal, Principal } from "../principals/principal.js";
|
5
|
+
import { AnnotatedResource, Resource } from "../resources/resource.js";
|
5
6
|
/**
|
6
7
|
* Represents a statement in an IAM policy
|
7
8
|
*/
|
@@ -55,6 +56,15 @@ export interface Statement {
|
|
55
56
|
*/
|
56
57
|
isNotResourceStatement(): this is NotResourceStatement;
|
57
58
|
}
|
59
|
+
export interface AnnotatedStatement extends Annotated, Statement {
|
60
|
+
isActionStatement(): this is AnnotatedActionStatement;
|
61
|
+
isNotActionStatement(): this is AnnotatedNotActionStatement;
|
62
|
+
isPrincipalStatement(): this is AnnotatedPrincipalStatement;
|
63
|
+
isNotPrincipalStatement(): this is AnnotatedNotPrincipalStatement;
|
64
|
+
isResourceStatement(): this is AnnotatedResourceStatement;
|
65
|
+
isNotResourceStatement(): this is AnnotatedNotResourceStatement;
|
66
|
+
conditions(): AnnotatedCondition[];
|
67
|
+
}
|
58
68
|
/**
|
59
69
|
* Represents a statement in an IAM policy that has Action
|
60
70
|
*/
|
@@ -63,6 +73,16 @@ export interface ActionStatement extends Statement {
|
|
63
73
|
* The actions for the statement
|
64
74
|
*/
|
65
75
|
actions(): Action[];
|
76
|
+
/**
|
77
|
+
* Is the Action element an array of strings
|
78
|
+
*/
|
79
|
+
actionIsArray(): boolean;
|
80
|
+
}
|
81
|
+
/**
|
82
|
+
* Represents a statement in an IAM policy that has Action and is annotated
|
83
|
+
*/
|
84
|
+
export interface AnnotatedActionStatement extends Annotated, ActionStatement {
|
85
|
+
actions(): AnnotatedAction[];
|
66
86
|
}
|
67
87
|
/**
|
68
88
|
* Represents a statement in an IAM policy that has NotAction
|
@@ -72,6 +92,16 @@ export interface NotActionStatement extends Statement {
|
|
72
92
|
* The not actions for the statement
|
73
93
|
*/
|
74
94
|
notActions(): Action[];
|
95
|
+
/**
|
96
|
+
* Is the NotAction element an array of strings
|
97
|
+
*/
|
98
|
+
notActionIsArray(): boolean;
|
99
|
+
}
|
100
|
+
/**
|
101
|
+
* Represents a statement in an IAM policy that has NotAction and is annotated
|
102
|
+
*/
|
103
|
+
export interface AnnotatedNotActionStatement extends Annotated, NotActionStatement {
|
104
|
+
notActions(): AnnotatedAction[];
|
75
105
|
}
|
76
106
|
/**
|
77
107
|
* Represents a statement in an IAM policy that has Resource
|
@@ -82,9 +112,16 @@ export interface ResourceStatement extends Statement {
|
|
82
112
|
*/
|
83
113
|
resources(): Resource[];
|
84
114
|
/**
|
85
|
-
* Is the
|
115
|
+
* Is the Resource element exactly a single wildcard: `"*"`
|
86
116
|
*/
|
87
117
|
hasSingleResourceWildcard(): boolean;
|
118
|
+
/**
|
119
|
+
* Is the Resource element an array of strings
|
120
|
+
*/
|
121
|
+
resourceIsArray(): boolean;
|
122
|
+
}
|
123
|
+
export interface AnnotatedResourceStatement extends Annotated, ResourceStatement {
|
124
|
+
resources(): AnnotatedResource[];
|
88
125
|
}
|
89
126
|
/**
|
90
127
|
* Represents a statement in an IAM policy that has NotResource
|
@@ -94,6 +131,17 @@ export interface NotResourceStatement extends Statement {
|
|
94
131
|
* The not resources for the statement
|
95
132
|
*/
|
96
133
|
notResources(): Resource[];
|
134
|
+
/**
|
135
|
+
* Is the NotResource element exactly a single wildcard: `"*"`
|
136
|
+
*/
|
137
|
+
hasSingleNotResourceWildcard(): boolean;
|
138
|
+
/**
|
139
|
+
* Is the resource element an array of strings
|
140
|
+
*/
|
141
|
+
notResourceIsArray(): boolean;
|
142
|
+
}
|
143
|
+
export interface AnnotatedNotResourceStatement extends Annotated, NotResourceStatement {
|
144
|
+
notResources(): AnnotatedResource[];
|
97
145
|
}
|
98
146
|
/**
|
99
147
|
* Represents a statement in an IAM policy that has Principal
|
@@ -103,6 +151,16 @@ export interface PrincipalStatement extends Statement {
|
|
103
151
|
* The principals for the statement
|
104
152
|
*/
|
105
153
|
principals(): Principal[];
|
154
|
+
/**
|
155
|
+
* Is the Principal type is an array of strings
|
156
|
+
*
|
157
|
+
* @param principalType the type of the Principal such as "AWS", "Service", etc.
|
158
|
+
* @returns true if the principal type is an array of strings in the raw policy
|
159
|
+
*/
|
160
|
+
principalTypeIsArray(principalType: string): boolean;
|
161
|
+
}
|
162
|
+
export interface AnnotatedPrincipalStatement extends Annotated, PrincipalStatement {
|
163
|
+
principals(): AnnotatedPrincipal[];
|
106
164
|
}
|
107
165
|
/**
|
108
166
|
* Represents a statement in an IAM policy that has NotPrincipal
|
@@ -112,23 +170,50 @@ export interface NotPrincipalStatement extends Statement {
|
|
112
170
|
* The not principals for the statement
|
113
171
|
*/
|
114
172
|
notPrincipals(): Principal[];
|
173
|
+
/**
|
174
|
+
* Is the NotPrincipal type is an array of strings
|
175
|
+
*
|
176
|
+
* @param notPrincipalType the type of the NotPrincipal such as "AWS", "Service", etc.
|
177
|
+
* @returns true if the NotPrincipal type is an array of strings in the raw policy
|
178
|
+
*/
|
179
|
+
notPrincipalTypeIsArray(notPrincipalType: string): boolean;
|
180
|
+
}
|
181
|
+
export interface AnnotatedNotPrincipalStatement extends Annotated, NotPrincipalStatement {
|
182
|
+
notPrincipals(): AnnotatedPrincipal[];
|
115
183
|
}
|
116
184
|
/**
|
117
185
|
* Implementation of the Statement interface and all its sub-interfaces
|
118
186
|
*/
|
119
|
-
export declare class StatementImpl implements Statement, ActionStatement, NotActionStatement, ResourceStatement, NotResourceStatement, PrincipalStatement {
|
187
|
+
export declare class StatementImpl implements Statement, AnnotatedStatement, ActionStatement, AnnotatedStatement, NotActionStatement, ResourceStatement, NotResourceStatement, PrincipalStatement {
|
120
188
|
private readonly statementObject;
|
121
189
|
private readonly _index;
|
122
|
-
|
190
|
+
private readonly stateful;
|
191
|
+
private readonly annotationStore;
|
192
|
+
private actionCache;
|
193
|
+
private notActionCache;
|
194
|
+
private principalCache;
|
195
|
+
private notPrincipalCache;
|
196
|
+
private resourceCache;
|
197
|
+
private notResourceCache;
|
198
|
+
private conditionCache;
|
199
|
+
constructor(statementObject: any, _index: number, stateful: boolean);
|
200
|
+
addAnnotation(key: string, value: string): void;
|
201
|
+
getAnnotations(): Annotations;
|
123
202
|
index(): number;
|
124
203
|
sid(): string | undefined;
|
125
204
|
effect(): string;
|
126
205
|
isAllow(): boolean;
|
127
206
|
isDeny(): boolean;
|
128
207
|
isPrincipalStatement(): this is PrincipalStatement;
|
208
|
+
isPrincipalStatement(): this is AnnotatedPrincipalStatement;
|
129
209
|
isNotPrincipalStatement(): this is NotPrincipalStatement;
|
210
|
+
isNotPrincipalStatement(): this is AnnotatedNotPrincipalStatement;
|
130
211
|
principals(): Principal[];
|
212
|
+
principals(): AnnotatedPrincipal[];
|
213
|
+
principalTypeIsArray(principalType: string): boolean;
|
131
214
|
notPrincipals(): Principal[];
|
215
|
+
notPrincipals(): AnnotatedPrincipal[];
|
216
|
+
notPrincipalTypeIsArray(notPrincipalType: string): boolean;
|
132
217
|
/**
|
133
218
|
* Parse the principal object into PrincipalImpl objects.
|
134
219
|
*
|
@@ -138,15 +223,30 @@ export declare class StatementImpl implements Statement, ActionStatement, NotAct
|
|
138
223
|
* @returns the backing principals for a Principal or NotPrincipal object
|
139
224
|
*/
|
140
225
|
private parsePrincipalObject;
|
141
|
-
isActionStatement(): this is
|
142
|
-
isNotActionStatement(): this is
|
226
|
+
isActionStatement(): this is AnnotatedActionStatement;
|
227
|
+
isNotActionStatement(): this is AnnotatedNotActionStatement;
|
143
228
|
actions(): Action[];
|
229
|
+
actions(): AnnotatedAction[];
|
230
|
+
private createNewActions;
|
231
|
+
actionIsArray(): boolean;
|
144
232
|
notActions(): Action[];
|
145
|
-
|
146
|
-
|
233
|
+
notActions(): AnnotatedAction[];
|
234
|
+
private createNewNotActions;
|
235
|
+
notActionIsArray(): boolean;
|
236
|
+
isResourceStatement(): this is AnnotatedResourceStatement;
|
237
|
+
isNotResourceStatement(): this is AnnotatedNotResourceStatement;
|
147
238
|
resources(): Resource[];
|
148
|
-
|
239
|
+
resources(): AnnotatedResource[];
|
240
|
+
private createNewResources;
|
149
241
|
hasSingleResourceWildcard(): boolean;
|
242
|
+
resourceIsArray(): boolean;
|
243
|
+
notResources(): Resource[];
|
244
|
+
notResources(): AnnotatedResource[];
|
245
|
+
private createNewNotResources;
|
246
|
+
notResourceIsArray(): boolean;
|
247
|
+
hasSingleNotResourceWildcard(): boolean;
|
150
248
|
conditions(): Condition[];
|
249
|
+
conditions(): AnnotatedCondition[];
|
250
|
+
private createNewConditions;
|
151
251
|
}
|
152
252
|
//# sourceMappingURL=statement.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"statement.d.ts","sourceRoot":"","sources":["../../../src/statements/statement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAc,MAAM,sBAAsB,CAAA;
|
1
|
+
{"version":3,"file":"statement.d.ts","sourceRoot":"","sources":["../../../src/statements/statement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAc,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAC1E,OAAO,EAAE,SAAS,EAAE,WAAW,EAAmB,MAAM,+BAA+B,CAAA;AACvF,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAiB,MAAM,4BAA4B,CAAA;AACzF,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAgC,MAAM,4BAA4B,CAAA;AACxG,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAgB,MAAM,0BAA0B,CAAA;AAOpF;;GAEG;AACH,MAAM,WAAW,SAAS;IAExB;;OAEG;IACH,KAAK,IAAI,MAAM,CAAA;IAEf;;OAEG;IACH,GAAG,IAAI,MAAM,GAAG,SAAS,CAAA;IAEzB;;OAEG;IACH,MAAM,IAAI,MAAM,CAAA;IAEhB;;OAEG;IACH,OAAO,IAAI,OAAO,CAAA;IAElB;;OAEG;IACH,MAAM,IAAI,OAAO,CAAA;IAEjB;;OAEG;IACH,UAAU,IAAI,SAAS,EAAE,CAAA;IAEzB;;OAEG;IACH,oBAAoB,IAAI,IAAI,IAAI,kBAAkB,CAAA;IAElD;;OAEG;IACH,uBAAuB,IAAI,IAAI,IAAI,qBAAqB,CAAA;IAExD;;OAEG;IACH,iBAAiB,IAAI,IAAI,IAAI,eAAe,CAAA;IAE5C;;OAEG;IACH,oBAAoB,IAAI,IAAI,IAAI,kBAAkB,CAAA;IAElD;;OAEG;IACH,mBAAmB,IAAI,IAAI,IAAI,iBAAiB,CAAA;IAEhD;;OAEG;IACH,sBAAsB,IAAI,IAAI,IAAI,oBAAoB,CAAA;CACvD;AAED,MAAM,WAAW,kBAAmB,SAAQ,SAAS,EAAE,SAAS;IAC9D,iBAAiB,IAAI,IAAI,IAAI,wBAAwB,CAAA;IACrD,oBAAoB,IAAI,IAAI,IAAI,2BAA2B,CAAA;IAC3D,oBAAoB,IAAI,IAAI,IAAI,2BAA2B,CAAA;IAC3D,uBAAuB,IAAI,IAAI,IAAI,8BAA8B,CAAA;IACjE,mBAAmB,IAAI,IAAI,IAAI,0BAA0B,CAAA;IACzD,sBAAsB,IAAI,IAAI,IAAI,6BAA6B,CAAA;IAC/D,UAAU,IAAI,kBAAkB,EAAE,CAAA;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,eAAgB,SAAQ,SAAS;IAChD;;OAEG;IACH,OAAO,IAAI,MAAM,EAAE,CAAA;IAEnB;;OAEG;IACH,aAAa,IAAI,OAAO,CAAA;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,wBAAyB,SAAQ,SAAS,EAAE,eAAe;IAC1E,OAAO,IAAI,eAAe,EAAE,CAAA;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,SAAS;IAEnD;;OAEG;IACH,UAAU,IAAI,MAAM,EAAE,CAAA;IAEtB;;OAEG;IACH,gBAAgB,IAAI,OAAO,CAAA;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,2BAA4B,SAAQ,SAAS,EAAE,kBAAkB;IAChF,UAAU,IAAI,eAAe,EAAE,CAAA;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,SAAS;IAClD;;OAEG;IACH,SAAS,IAAI,QAAQ,EAAE,CAAA;IAEvB;;OAEG;IACH,yBAAyB,IAAI,OAAO,CAAA;IAEpC;;OAEG;IACH,eAAe,IAAI,OAAO,CAAA;CAC3B;AAED,MAAM,WAAW,0BAA2B,SAAQ,SAAS,EAAE,iBAAiB;IAC9E,SAAS,IAAI,iBAAiB,EAAE,CAAA;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,SAAS;IACrD;;OAEG;IACH,YAAY,IAAI,QAAQ,EAAE,CAAA;IAE1B;;OAEG;IACH,4BAA4B,IAAI,OAAO,CAAA;IAEvC;;OAEG;IACH,kBAAkB,IAAI,OAAO,CAAA;CAC9B;AAED,MAAM,WAAW,6BAA8B,SAAQ,SAAS,EAAE,oBAAoB;IACpF,YAAY,IAAI,iBAAiB,EAAE,CAAA;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,SAAS;IACnD;;OAEG;IACH,UAAU,IAAI,SAAS,EAAE,CAAA;IAEzB;;;;;OAKG;IACH,oBAAoB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAA;CACrD;AAED,MAAM,WAAW,2BAA4B,SAAQ,SAAS,EAAE,kBAAkB;IAChF,UAAU,IAAI,kBAAkB,EAAE,CAAA;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,qBAAsB,SAAQ,SAAS;IAEtD;;OAEG;IACH,aAAa,IAAI,SAAS,EAAE,CAAA;IAE1B;;;;;KAKC;IACH,uBAAuB,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAA;CAC3D;AAED,MAAM,WAAW,8BAA+B,SAAQ,SAAS,EAAE,qBAAqB;IACtF,aAAa,IAAI,kBAAkB,EAAE,CAAA;CACtC;AAED;;GAEG;AACH,qBAAa,aAAc,YAAW,SAAS,EAAE,kBAAkB,EAAE,eAAe,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,kBAAkB;IAU3K,OAAO,CAAC,QAAQ,CAAC,eAAe;IAAO,OAAO,CAAC,QAAQ,CAAC,MAAM;IAAU,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAR7G,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAiB;IACjD,OAAO,CAAC,WAAW,CAAsB;IACzC,OAAO,CAAC,cAAc,CAAsB;IAC5C,OAAO,CAAC,cAAc,CAAyB;IAC/C,OAAO,CAAC,iBAAiB,CAAyB;IAClD,OAAO,CAAC,aAAa,CAAwB;IAC7C,OAAO,CAAC,gBAAgB,CAAwB;IAChD,OAAO,CAAC,cAAc,CAAyB;gBAClB,eAAe,EAAE,GAAG,EAAmB,MAAM,EAAE,MAAM,EAAmB,QAAQ,EAAE,OAAO;IAI/G,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAI/C,cAAc,IAAI,WAAW;IAI7B,KAAK,IAAI,MAAM;IAIf,GAAG,IAAI,MAAM,GAAG,SAAS;IAIzB,MAAM,IAAI,MAAM;IAIhB,OAAO,IAAI,OAAO;IAIlB,MAAM,IAAI,OAAO;IAIjB,oBAAoB,IAAI,IAAI,IAAI,kBAAkB;IAClD,oBAAoB,IAAI,IAAI,IAAI,2BAA2B;IAK3D,uBAAuB,IAAI,IAAI,IAAI,qBAAqB;IACxD,uBAAuB,IAAI,IAAI,IAAI,8BAA8B;IAKjE,UAAU,IAAI,SAAS,EAAE;IACzB,UAAU,IAAI,kBAAkB,EAAE;IAclC,oBAAoB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO;IAOpD,aAAa,IAAI,SAAS,EAAE;IAC5B,aAAa,IAAI,kBAAkB,EAAE;IAcrC,uBAAuB,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO;IAOjE;;;;;;;OAOG;IACH,OAAO,CAAC,oBAAoB;IAcrB,iBAAiB,IAAI,IAAI,IAAI,wBAAwB;IAKrD,oBAAoB,IAAI,IAAI,IAAI,2BAA2B;IAK3D,OAAO,IAAI,MAAM,EAAE;IACnB,OAAO,IAAI,eAAe,EAAE;IAcnC,OAAO,CAAC,gBAAgB;IAIjB,aAAa,IAAI,OAAO;IAIxB,UAAU,IAAI,MAAM,EAAE;IACtB,UAAU,IAAI,eAAe,EAAE;IActC,OAAO,CAAC,mBAAmB;IAIpB,gBAAgB,IAAI,OAAO;IAI3B,mBAAmB,IAAI,IAAI,IAAI,0BAA0B;IAKzD,sBAAsB,IAAI,IAAI,IAAI,6BAA6B;IAK/D,SAAS,IAAI,QAAQ,EAAE;IACvB,SAAS,IAAI,iBAAiB,EAAE;IAcvC,OAAO,CAAC,kBAAkB;IAInB,yBAAyB,IAAI,OAAO;IAOpC,eAAe,IAAI,OAAO;IAI1B,YAAY,IAAI,QAAQ,EAAE;IAC1B,YAAY,IAAI,iBAAiB,EAAE;IAc1C,OAAO,CAAC,qBAAqB;IAItB,kBAAkB,IAAI,OAAO;IAI7B,4BAA4B,IAAI,OAAO;IAQvC,UAAU,IAAI,SAAS,EAAE;IACzB,UAAU,IAAI,kBAAkB,EAAE;IAWzC,OAAO,CAAC,mBAAmB;CAW5B"}
|
@@ -1,4 +1,5 @@
|
|
1
1
|
import { ActionImpl } from "../actions/action.js";
|
2
|
+
import { AnnotationStore } from "../annotations/annotations.js";
|
2
3
|
import { ConditionImpl } from "../conditions/condition.js";
|
3
4
|
import { PrincipalImpl } from "../principals/principal.js";
|
4
5
|
import { ResourceImpl } from "../resources/resource.js";
|
@@ -6,9 +7,17 @@ import { ResourceImpl } from "../resources/resource.js";
|
|
6
7
|
* Implementation of the Statement interface and all its sub-interfaces
|
7
8
|
*/
|
8
9
|
export class StatementImpl {
|
9
|
-
constructor(statementObject, _index) {
|
10
|
+
constructor(statementObject, _index, stateful) {
|
10
11
|
this.statementObject = statementObject;
|
11
12
|
this._index = _index;
|
13
|
+
this.stateful = stateful;
|
14
|
+
this.annotationStore = new AnnotationStore();
|
15
|
+
}
|
16
|
+
addAnnotation(key, value) {
|
17
|
+
this.annotationStore.addAnnotation(key, value);
|
18
|
+
}
|
19
|
+
getAnnotations() {
|
20
|
+
return this.annotationStore;
|
12
21
|
}
|
13
22
|
index() {
|
14
23
|
return this._index;
|
@@ -35,13 +44,37 @@ export class StatementImpl {
|
|
35
44
|
if (!this.isPrincipalStatement()) {
|
36
45
|
throw new Error('Called principals on a statement without Principal, use isPrincipalStatement before calling principals');
|
37
46
|
}
|
38
|
-
|
47
|
+
if (!this.stateful) {
|
48
|
+
return this.parsePrincipalObject(this.statementObject.Principal);
|
49
|
+
}
|
50
|
+
if (!this.principalCache) {
|
51
|
+
this.principalCache = this.parsePrincipalObject(this.statementObject.Principal);
|
52
|
+
}
|
53
|
+
return this.principalCache;
|
54
|
+
}
|
55
|
+
principalTypeIsArray(principalType) {
|
56
|
+
if (!this.isPrincipalStatement()) {
|
57
|
+
throw new Error('Called principalTypeIsArray on a statement without Principal, use isPrincipalStatement before calling principalTypeIsArray');
|
58
|
+
}
|
59
|
+
return typeof this.statementObject.Principal === "object" && Array.isArray(this.statementObject.Principal[principalType]);
|
39
60
|
}
|
40
61
|
notPrincipals() {
|
41
62
|
if (!this.isNotPrincipalStatement()) {
|
42
63
|
throw new Error('Called notPrincipals on a statement without NotPrincipal, use isNotPrincipalStatement before calling notPrincipals');
|
43
64
|
}
|
44
|
-
|
65
|
+
if (!this.stateful) {
|
66
|
+
return this.parsePrincipalObject(this.statementObject.NotPrincipal);
|
67
|
+
}
|
68
|
+
if (!this.notPrincipalCache) {
|
69
|
+
this.notPrincipalCache = this.parsePrincipalObject(this.statementObject.NotPrincipal);
|
70
|
+
}
|
71
|
+
return this.notPrincipalCache;
|
72
|
+
}
|
73
|
+
notPrincipalTypeIsArray(notPrincipalType) {
|
74
|
+
if (!this.isNotPrincipalStatement()) {
|
75
|
+
throw new Error('Called notPrincipalTypeIsArray on a statement without NotPrincipal, use isNotPrincipalStatement before calling notPrincipalTypeIsArray');
|
76
|
+
}
|
77
|
+
return typeof this.statementObject.NotPrincipal === "object" && Array.isArray(this.statementObject.NotPrincipal[notPrincipalType]);
|
45
78
|
}
|
46
79
|
/**
|
47
80
|
* Parse the principal object into PrincipalImpl objects.
|
@@ -74,14 +107,38 @@ export class StatementImpl {
|
|
74
107
|
if (!this.isActionStatement()) {
|
75
108
|
throw new Error('Called actions on a statement without Action, use isActionStatement before calling actions');
|
76
109
|
}
|
110
|
+
if (!this.stateful) {
|
111
|
+
return this.createNewActions();
|
112
|
+
}
|
113
|
+
if (!this.actionCache) {
|
114
|
+
this.actionCache = this.createNewActions();
|
115
|
+
}
|
116
|
+
return this.actionCache;
|
117
|
+
}
|
118
|
+
createNewActions() {
|
77
119
|
return [this.statementObject.Action].flat().map((action) => new ActionImpl(action));
|
78
120
|
}
|
121
|
+
actionIsArray() {
|
122
|
+
return Array.isArray(this.statementObject.Action);
|
123
|
+
}
|
79
124
|
notActions() {
|
80
125
|
if (!this.isNotActionStatement()) {
|
81
126
|
throw new Error('Called notActions on a statement without NotAction, use isNotActionStatement before calling notActions');
|
82
127
|
}
|
128
|
+
if (!this.stateful) {
|
129
|
+
return this.createNewNotActions();
|
130
|
+
}
|
131
|
+
if (!this.notActionCache) {
|
132
|
+
this.notActionCache = this.createNewNotActions();
|
133
|
+
}
|
134
|
+
return this.notActionCache;
|
135
|
+
}
|
136
|
+
createNewNotActions() {
|
83
137
|
return [this.statementObject.NotAction].flat().map((action) => new ActionImpl(action));
|
84
138
|
}
|
139
|
+
notActionIsArray() {
|
140
|
+
return Array.isArray(this.statementObject.NotAction);
|
141
|
+
}
|
85
142
|
isResourceStatement() {
|
86
143
|
return this.statementObject.Resource !== undefined;
|
87
144
|
}
|
@@ -92,21 +149,60 @@ export class StatementImpl {
|
|
92
149
|
if (!this.isResourceStatement()) {
|
93
150
|
throw new Error('Called resources on a statement without Resource, use isResourceStatement before calling resources');
|
94
151
|
}
|
152
|
+
if (!this.stateful) {
|
153
|
+
return this.createNewResources();
|
154
|
+
}
|
155
|
+
if (!this.resourceCache) {
|
156
|
+
this.resourceCache = this.createNewResources();
|
157
|
+
}
|
158
|
+
return this.resourceCache;
|
159
|
+
}
|
160
|
+
createNewResources() {
|
95
161
|
return [this.statementObject.Resource].flat().map((resource) => new ResourceImpl(resource));
|
96
162
|
}
|
163
|
+
hasSingleResourceWildcard() {
|
164
|
+
if (!this.isResourceStatement()) {
|
165
|
+
throw new Error('Called hasSingleResourceWildcard on a statement without Resource, use isResourceStatement before calling hasSingleResourceWildcard');
|
166
|
+
}
|
167
|
+
return this.statementObject.Resource === '*';
|
168
|
+
}
|
169
|
+
resourceIsArray() {
|
170
|
+
return Array.isArray(this.statementObject.Resource);
|
171
|
+
}
|
97
172
|
notResources() {
|
98
173
|
if (!this.isNotResourceStatement()) {
|
99
174
|
throw new Error('Called notResources on a statement without NotResource, use isNotResourceStatement before calling notResources');
|
100
175
|
}
|
176
|
+
if (!this.stateful) {
|
177
|
+
return this.createNewNotResources();
|
178
|
+
}
|
179
|
+
if (!this.notResourceCache) {
|
180
|
+
this.notResourceCache = this.createNewNotResources();
|
181
|
+
}
|
182
|
+
return this.notResourceCache;
|
183
|
+
}
|
184
|
+
createNewNotResources() {
|
101
185
|
return [this.statementObject.NotResource].flat().map((resource) => new ResourceImpl(resource));
|
102
186
|
}
|
103
|
-
|
104
|
-
|
105
|
-
|
187
|
+
notResourceIsArray() {
|
188
|
+
return Array.isArray(this.statementObject.NotResource);
|
189
|
+
}
|
190
|
+
hasSingleNotResourceWildcard() {
|
191
|
+
if (!this.isNotResourceStatement()) {
|
192
|
+
throw new Error('Called hasSingleNotResourceWildcard on a statement without NotResource, use isNotResourceStatement before calling hasSingleNotResourceWildcard');
|
106
193
|
}
|
107
|
-
return this.
|
194
|
+
return this.statementObject.NotResource === '*';
|
108
195
|
}
|
109
196
|
conditions() {
|
197
|
+
if (!this.stateful) {
|
198
|
+
return this.createNewConditions();
|
199
|
+
}
|
200
|
+
if (!this.conditionCache) {
|
201
|
+
this.conditionCache = this.createNewConditions();
|
202
|
+
}
|
203
|
+
return this.conditionCache;
|
204
|
+
}
|
205
|
+
createNewConditions() {
|
110
206
|
if (!this.statementObject.Condition) {
|
111
207
|
return [];
|
112
208
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"statement.js","sourceRoot":"","sources":["../../../src/statements/statement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,UAAU,
|
1
|
+
{"version":3,"file":"statement.js","sourceRoot":"","sources":["../../../src/statements/statement.ts"],"names":[],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../../src/validate/validate.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../../src/validate/validate.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;CACb;AAYD,MAAM,WAAW,mBAAmB;IAClC,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,eAAe,EAAE,CAAA;IACvE,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,eAAe,EAAE,CAAA;IACpE,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,eAAe,EAAE,CAAA;IAC1E,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,eAAe,EAAE,CAAA;IACvE,oBAAoB,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,eAAe,EAAE,CAAA;IAC7E,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,eAAe,EAAE,CAAA;IACxE,mBAAmB,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,eAAe,EAAE,CAAA;CAC/E;AAED,wBAAgB,oBAAoB,CAAC,cAAc,EAAE,GAAG,EAAE,mBAAmB,GAAE,mBAAwB,GAAG,eAAe,EAAE,CA0C1H"}
|
@@ -1,3 +1,5 @@
|
|
1
|
+
const serviceRegex = /^[a-zA-Z0-9-]+$/;
|
2
|
+
const actionRegex = /^[a-zA-Z0-9*\?]+$/;
|
1
3
|
const allowedPolicyKeys = new Set(['Version', 'Statement', 'Id']);
|
2
4
|
const allowedStatementKeys = new Set(['Sid', 'Effect', 'Action', 'NotAction', 'Resource', 'NotResource', 'Principal', 'NotPrincipal', 'Condition']);
|
3
5
|
const allowedPrincipalKeys = new Set(['AWS', 'Service', 'Federated', 'CanonicalUser']);
|
@@ -12,7 +14,7 @@ export function validatePolicySyntax(policyDocument, validationCallbacks = {}) {
|
|
12
14
|
return [{ path: '', message: 'Policy must be an object, received an array' }];
|
13
15
|
}
|
14
16
|
allErrors.push(...validateKeys(policyDocument, allowedPolicyKeys, ''));
|
15
|
-
allErrors.push(...
|
17
|
+
allErrors.push(...validatePolicyVersion(policyDocument.Version));
|
16
18
|
allErrors.push(...validateDataTypeIfExists(policyDocument.Id, 'Id', 'string'));
|
17
19
|
if (!policyDocument.Statement) {
|
18
20
|
allErrors.push({
|
@@ -45,6 +47,28 @@ export function validatePolicySyntax(policyDocument, validationCallbacks = {}) {
|
|
45
47
|
}
|
46
48
|
return allErrors;
|
47
49
|
}
|
50
|
+
function validatePolicyVersion(version) {
|
51
|
+
if (version === undefined || version === null) {
|
52
|
+
return [];
|
53
|
+
}
|
54
|
+
if (typeof version !== 'string') {
|
55
|
+
return [
|
56
|
+
{
|
57
|
+
path: 'Version',
|
58
|
+
message: `Version must be a string if present`
|
59
|
+
}
|
60
|
+
];
|
61
|
+
}
|
62
|
+
if (version === '2012-10-17' || version === '2008-10-17') {
|
63
|
+
return [];
|
64
|
+
}
|
65
|
+
return [
|
66
|
+
{
|
67
|
+
path: 'Version',
|
68
|
+
message: `Version must be either "2012-10-17" or "2008-10-17"`
|
69
|
+
}
|
70
|
+
];
|
71
|
+
}
|
48
72
|
function validateStatement(statement, path, validationCallbacks) {
|
49
73
|
const statementErrors = [];
|
50
74
|
statementErrors.push(...validateKeys(statement, allowedStatementKeys, path));
|
@@ -58,6 +82,8 @@ function validateStatement(statement, path, validationCallbacks) {
|
|
58
82
|
statementErrors.push(...validateOnlyOneOf(statement, path, 'Principal', 'NotPrincipal'));
|
59
83
|
statementErrors.push(...validateTypeOrArrayOfTypeIfExists(statement.Action, `${path}.Action`, 'string'));
|
60
84
|
statementErrors.push(...validateTypeOrArrayOfTypeIfExists(statement.NotAction, `${path}.NotAction`, 'string'));
|
85
|
+
statementErrors.push(...validateActionIfPresent(statement.Action, `${path}.Action`));
|
86
|
+
statementErrors.push(...validateActionIfPresent(statement.NotAction, `${path}.NotAction`));
|
61
87
|
statementErrors.push(...validateStringOrArrayStringCallback(statement, 'Action', path, validationCallbacks.validateAction));
|
62
88
|
statementErrors.push(...validateStringOrArrayStringCallback(statement, 'NotAction', path, validationCallbacks.validateNotAction));
|
63
89
|
statementErrors.push(...validateResource(statement.Resource, `${path}.Resource`));
|
@@ -120,6 +146,55 @@ function validateResourceString(resourceString, path) {
|
|
120
146
|
}
|
121
147
|
return [];
|
122
148
|
}
|
149
|
+
function validateActionIfPresent(action, path) {
|
150
|
+
if (action === undefined || action === null) {
|
151
|
+
return [];
|
152
|
+
}
|
153
|
+
//Type errors are caught elsewhere
|
154
|
+
if (typeof action === 'string') {
|
155
|
+
return validateActionString(action, path);
|
156
|
+
}
|
157
|
+
else if (Array.isArray(action)) {
|
158
|
+
const actionErrors = [];
|
159
|
+
for (let i = 0; i < action.length; i++) {
|
160
|
+
const value = action[i];
|
161
|
+
if (typeof value === 'string') {
|
162
|
+
actionErrors.push(...validateActionString(action[i], `${path}[${i}]`));
|
163
|
+
}
|
164
|
+
}
|
165
|
+
return actionErrors;
|
166
|
+
}
|
167
|
+
return [];
|
168
|
+
}
|
169
|
+
function validateActionString(string, path) {
|
170
|
+
if (string === '*') {
|
171
|
+
return [];
|
172
|
+
}
|
173
|
+
const parts = string.split(':');
|
174
|
+
if (parts.length != 2) {
|
175
|
+
return [
|
176
|
+
{
|
177
|
+
path,
|
178
|
+
message: `Action must be a wildcard (*) or have 2 segments`
|
179
|
+
}
|
180
|
+
];
|
181
|
+
}
|
182
|
+
const [service, action] = parts;
|
183
|
+
const errors = [];
|
184
|
+
if (!serviceRegex.test(service)) {
|
185
|
+
errors.push({
|
186
|
+
path,
|
187
|
+
message: `Service can only contain letters, numbers, and hyphens`
|
188
|
+
});
|
189
|
+
}
|
190
|
+
if (!actionRegex.test(action)) {
|
191
|
+
errors.push({
|
192
|
+
path,
|
193
|
+
message: `Action can only contain letters, numbers, asterisks, and question marks`
|
194
|
+
});
|
195
|
+
}
|
196
|
+
return errors;
|
197
|
+
}
|
123
198
|
function validateCondition(condition, path) {
|
124
199
|
const conditionErrors = [];
|
125
200
|
if (condition === undefined || condition === null) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../src/validate/validate.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../src/validate/validate.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@cloud-copilot/iam-policy",
|
3
|
-
"version": "0.1.
|
3
|
+
"version": "0.1.5-0",
|
4
4
|
"description": "An ORM for AWS IAM policies",
|
5
5
|
"repository": {
|
6
6
|
"type": "git",
|
@@ -21,7 +21,6 @@
|
|
21
21
|
"clean": "rm -rf dist",
|
22
22
|
"test": "npx vitest --run --coverage",
|
23
23
|
"release": "npm install && npm run clean && npm run build && npm test && npm publish"
|
24
|
-
|
25
24
|
},
|
26
25
|
"keywords": [
|
27
26
|
"AWS",
|