@cloud-copilot/iam-simulate 0.1.102 → 0.1.104
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/README.md +22 -7
- package/dist/cjs/index.d.ts +1 -1
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/request/requestResource.d.ts +12 -0
- package/dist/cjs/request/requestResource.d.ts.map +1 -1
- package/dist/cjs/request/requestResource.js +6 -0
- package/dist/cjs/request/requestResource.js.map +1 -1
- package/dist/cjs/resource/resource.d.ts +11 -2
- package/dist/cjs/resource/resource.d.ts.map +1 -1
- package/dist/cjs/resource/resource.js +170 -8
- package/dist/cjs/resource/resource.js.map +1 -1
- package/dist/cjs/simulation_engine/contextKeys.d.ts +2 -1
- package/dist/cjs/simulation_engine/contextKeys.d.ts.map +1 -1
- package/dist/cjs/simulation_engine/contextKeys.js +13 -8
- package/dist/cjs/simulation_engine/contextKeys.js.map +1 -1
- package/dist/cjs/simulation_engine/overallResult.d.ts +13 -0
- package/dist/cjs/simulation_engine/overallResult.d.ts.map +1 -0
- package/dist/cjs/simulation_engine/overallResult.js +35 -0
- package/dist/cjs/simulation_engine/overallResult.js.map +1 -0
- package/dist/cjs/simulation_engine/policyResources.d.ts +41 -0
- package/dist/cjs/simulation_engine/policyResources.d.ts.map +1 -0
- package/dist/cjs/simulation_engine/policyResources.js +112 -0
- package/dist/cjs/simulation_engine/policyResources.js.map +1 -0
- package/dist/cjs/simulation_engine/resourceTypes.d.ts +18 -0
- package/dist/cjs/simulation_engine/resourceTypes.d.ts.map +1 -0
- package/dist/cjs/simulation_engine/resourceTypes.js +145 -0
- package/dist/cjs/simulation_engine/resourceTypes.js.map +1 -0
- package/dist/cjs/simulation_engine/simulationEngine.d.ts +92 -14
- package/dist/cjs/simulation_engine/simulationEngine.d.ts.map +1 -1
- package/dist/cjs/simulation_engine/simulationEngine.js +74 -16
- package/dist/cjs/simulation_engine/simulationEngine.js.map +1 -1
- package/dist/cjs/util/resourceStrings.d.ts +10 -0
- package/dist/cjs/util/resourceStrings.d.ts.map +1 -0
- package/dist/cjs/util/resourceStrings.js +81 -0
- package/dist/cjs/util/resourceStrings.js.map +1 -0
- package/dist/cjs/util.d.ts +0 -10
- package/dist/cjs/util.d.ts.map +1 -1
- package/dist/cjs/util.js +0 -25
- package/dist/cjs/util.js.map +1 -1
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/request/requestResource.d.ts +12 -0
- package/dist/esm/request/requestResource.d.ts.map +1 -1
- package/dist/esm/request/requestResource.js +6 -0
- package/dist/esm/request/requestResource.js.map +1 -1
- package/dist/esm/resource/resource.d.ts +11 -2
- package/dist/esm/resource/resource.d.ts.map +1 -1
- package/dist/esm/resource/resource.js +169 -8
- package/dist/esm/resource/resource.js.map +1 -1
- package/dist/esm/simulation_engine/contextKeys.d.ts +2 -1
- package/dist/esm/simulation_engine/contextKeys.d.ts.map +1 -1
- package/dist/esm/simulation_engine/contextKeys.js +14 -9
- package/dist/esm/simulation_engine/contextKeys.js.map +1 -1
- package/dist/esm/simulation_engine/overallResult.d.ts +13 -0
- package/dist/esm/simulation_engine/overallResult.d.ts.map +1 -0
- package/dist/esm/simulation_engine/overallResult.js +32 -0
- package/dist/esm/simulation_engine/overallResult.js.map +1 -0
- package/dist/esm/simulation_engine/policyResources.d.ts +41 -0
- package/dist/esm/simulation_engine/policyResources.d.ts.map +1 -0
- package/dist/esm/simulation_engine/policyResources.js +106 -0
- package/dist/esm/simulation_engine/policyResources.js.map +1 -0
- package/dist/esm/simulation_engine/resourceTypes.d.ts +18 -0
- package/dist/esm/simulation_engine/resourceTypes.d.ts.map +1 -0
- package/dist/esm/simulation_engine/resourceTypes.js +141 -0
- package/dist/esm/simulation_engine/resourceTypes.js.map +1 -0
- package/dist/esm/simulation_engine/simulationEngine.d.ts +92 -14
- package/dist/esm/simulation_engine/simulationEngine.d.ts.map +1 -1
- package/dist/esm/simulation_engine/simulationEngine.js +75 -17
- package/dist/esm/simulation_engine/simulationEngine.js.map +1 -1
- package/dist/esm/util/resourceStrings.d.ts +10 -0
- package/dist/esm/util/resourceStrings.d.ts.map +1 -0
- package/dist/esm/util/resourceStrings.js +78 -0
- package/dist/esm/util/resourceStrings.js.map +1 -0
- package/dist/esm/util.d.ts +0 -10
- package/dist/esm/util.d.ts.map +1 -1
- package/dist/esm/util.js +1 -25
- package/dist/esm/util.js.map +1 -1
- package/package.json +2 -2
|
@@ -7,8 +7,11 @@ import { StrictContextKeys } from '../context_keys/strictContextKeys.js';
|
|
|
7
7
|
import { authorize, validSimulationModes } from '../core_engine/CoreSimulatorEngine.js';
|
|
8
8
|
import { AwsRequestImpl } from '../request/request.js';
|
|
9
9
|
import { RequestContextImpl } from '../requestContext.js';
|
|
10
|
-
import {
|
|
10
|
+
import { isWildcardOnlyAction } from '../util.js';
|
|
11
11
|
import { allowedContextKeysForRequest } from './contextKeys.js';
|
|
12
|
+
import { calculateOverallResult } from './overallResult.js';
|
|
13
|
+
import { getMatchingResourceStringsForPolicies } from './policyResources.js';
|
|
14
|
+
import { getResourceTypesForAction } from './resourceTypes.js';
|
|
12
15
|
const DEFAULT_RCP = {
|
|
13
16
|
name: 'RCPFullAWSAccess',
|
|
14
17
|
policy: {
|
|
@@ -28,15 +31,18 @@ const DEFAULT_RCP = {
|
|
|
28
31
|
*
|
|
29
32
|
* @param simulation The simulation to run
|
|
30
33
|
* @param simulationOptions Options for the simulation
|
|
31
|
-
* @returns
|
|
34
|
+
* @returns The results of the simulation, or errors if the simulation could not be run
|
|
32
35
|
*/
|
|
33
36
|
export async function runSimulation(simulation, simulationOptions) {
|
|
34
37
|
const principal = simulation.request.principal;
|
|
38
|
+
const resourceArn = simulation.request.resource.resource;
|
|
39
|
+
const resourceHasWildcard = resourceArn.includes('*');
|
|
35
40
|
if (simulation.sessionPolicy) {
|
|
36
41
|
if (!isIamRoleArn(principal) &&
|
|
37
42
|
!isAssumedRoleArn(principal) &&
|
|
38
43
|
!isFederatedUserArn(principal)) {
|
|
39
44
|
return {
|
|
45
|
+
resultType: 'error',
|
|
40
46
|
errors: {
|
|
41
47
|
message: 'session.policy.invalid.principal'
|
|
42
48
|
}
|
|
@@ -139,6 +145,7 @@ export async function runSimulation(simulation, simulationOptions) {
|
|
|
139
145
|
resourcePolicyErrors.length > 0 ||
|
|
140
146
|
sessionPolicyErrors.length > 0) {
|
|
141
147
|
return {
|
|
148
|
+
resultType: 'error',
|
|
142
149
|
errors: {
|
|
143
150
|
sessionPolicyErrors,
|
|
144
151
|
identityPolicyErrors,
|
|
@@ -156,6 +163,7 @@ export async function runSimulation(simulation, simulationOptions) {
|
|
|
156
163
|
: undefined;
|
|
157
164
|
if (simulation.request.action.split(':').length != 2) {
|
|
158
165
|
return {
|
|
166
|
+
resultType: 'error',
|
|
159
167
|
errors: {
|
|
160
168
|
message: 'invalid.action'
|
|
161
169
|
}
|
|
@@ -165,6 +173,7 @@ export async function runSimulation(simulation, simulationOptions) {
|
|
|
165
173
|
const validService = await iamServiceExists(service);
|
|
166
174
|
if (!validService) {
|
|
167
175
|
return {
|
|
176
|
+
resultType: 'error',
|
|
168
177
|
errors: {
|
|
169
178
|
message: 'invalid.service'
|
|
170
179
|
}
|
|
@@ -173,17 +182,19 @@ export async function runSimulation(simulation, simulationOptions) {
|
|
|
173
182
|
const validAction = await iamActionExists(service, action);
|
|
174
183
|
if (!validAction) {
|
|
175
184
|
return {
|
|
185
|
+
resultType: 'error',
|
|
176
186
|
errors: {
|
|
177
187
|
message: 'invalid.action'
|
|
178
188
|
}
|
|
179
189
|
};
|
|
180
190
|
}
|
|
181
|
-
const resourceArn = simulation.request.resource.resource;
|
|
182
191
|
const isWildCardOnlyAction = await isWildcardOnlyAction(service, action);
|
|
183
|
-
|
|
192
|
+
const runMultipleSimulations = resourceHasWildcard && !isWildCardOnlyAction;
|
|
193
|
+
let resourceTypes = undefined;
|
|
184
194
|
if (isWildCardOnlyAction) {
|
|
185
195
|
if (resourceArn !== '*') {
|
|
186
196
|
return {
|
|
197
|
+
resultType: 'error',
|
|
187
198
|
errors: {
|
|
188
199
|
message: 'must.use.wildcard'
|
|
189
200
|
}
|
|
@@ -191,37 +202,39 @@ export async function runSimulation(simulation, simulationOptions) {
|
|
|
191
202
|
}
|
|
192
203
|
}
|
|
193
204
|
else {
|
|
194
|
-
const
|
|
195
|
-
if (
|
|
205
|
+
const actionResourceTypes = await getResourceTypesForAction(service, action, resourceArn);
|
|
206
|
+
if (actionResourceTypes.length === 0) {
|
|
196
207
|
return {
|
|
208
|
+
resultType: 'error',
|
|
197
209
|
errors: {
|
|
198
210
|
message: 'no.resource.types'
|
|
199
211
|
}
|
|
200
212
|
};
|
|
201
213
|
}
|
|
202
|
-
else if (
|
|
214
|
+
else if (actionResourceTypes.length > 1 && !resourceHasWildcard) {
|
|
203
215
|
return {
|
|
216
|
+
resultType: 'error',
|
|
204
217
|
errors: {
|
|
205
218
|
message: 'multiple.resource.types'
|
|
206
219
|
}
|
|
207
220
|
};
|
|
208
221
|
}
|
|
209
222
|
else {
|
|
210
|
-
|
|
223
|
+
resourceTypes = actionResourceTypes.map((item) => item);
|
|
211
224
|
}
|
|
212
225
|
}
|
|
213
|
-
const { validContextValues, ignoredContextKeys } = await normalizeSimulationParameters(simulation);
|
|
214
226
|
const simulationMode = validSimulationModes.includes(simulationOptions.simulationMode)
|
|
215
227
|
? simulationOptions.simulationMode
|
|
216
228
|
: 'Strict';
|
|
229
|
+
// For each resource type, find the resource patterns, for each pattern, run a simulation
|
|
217
230
|
const strictConditionKeys = simulationMode === 'Discovery'
|
|
218
231
|
? new StrictContextKeys(simulationOptions.strictConditionKeys || [])
|
|
219
232
|
: new StrictContextKeys([]);
|
|
220
|
-
const
|
|
233
|
+
const curriedAuthorize = (curriedResourceString, curriedContextValues) => authorize({
|
|
221
234
|
request: new AwsRequestImpl(principal, {
|
|
222
|
-
resource:
|
|
235
|
+
resource: curriedResourceString,
|
|
223
236
|
accountId: simulation.request.resource.accountId
|
|
224
|
-
}, simulation.request.action, new RequestContextImpl(
|
|
237
|
+
}, simulation.request.action, new RequestContextImpl(curriedContextValues)),
|
|
225
238
|
sessionPolicy,
|
|
226
239
|
identityPolicies,
|
|
227
240
|
serviceControlPolicies,
|
|
@@ -234,16 +247,61 @@ export async function runSimulation(simulation, simulationOptions) {
|
|
|
234
247
|
strictConditionKeys: strictConditionKeys
|
|
235
248
|
}
|
|
236
249
|
});
|
|
250
|
+
const policiesThatGrantAccess = [resourcePolicy, ...identityPolicies];
|
|
251
|
+
// If there is only one simulation to run, run it
|
|
252
|
+
if (!runMultipleSimulations) {
|
|
253
|
+
const { validContextValues, ignoredContextKeys } = await normalizeSimulationParameters(simulation, undefined);
|
|
254
|
+
const singleResult = curriedAuthorize(resourceArn, validContextValues);
|
|
255
|
+
return {
|
|
256
|
+
resultType: 'single',
|
|
257
|
+
overallResult: singleResult.result,
|
|
258
|
+
result: {
|
|
259
|
+
analysis: singleResult,
|
|
260
|
+
ignoredContextKeys
|
|
261
|
+
}
|
|
262
|
+
};
|
|
263
|
+
}
|
|
264
|
+
// Here, we know it is a wildcard resource and not a wildcard-only action, so we need to run multiple simulations
|
|
265
|
+
const simulationResults = [];
|
|
266
|
+
const resourceTypesToSimulate = resourceTypes && resourceTypes.length > 0 ? resourceTypes : [];
|
|
267
|
+
for (const resourceType of resourceTypesToSimulate) {
|
|
268
|
+
// If "run multiple" get the resource strings that match the wildcard pattern, otherwise, just run the one.
|
|
269
|
+
const { validContextValues, ignoredContextKeys } = await normalizeSimulationParameters(simulation, resourceType);
|
|
270
|
+
//Run the pattern directly first.
|
|
271
|
+
const exactPatternResult = curriedAuthorize(resourceArn, validContextValues);
|
|
272
|
+
if (exactPatternResult.result === 'ExplicitlyDenied') {
|
|
273
|
+
simulationResults.push({
|
|
274
|
+
analysis: exactPatternResult,
|
|
275
|
+
ignoredContextKeys,
|
|
276
|
+
resourceType: resourceType.key,
|
|
277
|
+
resourcePattern: resourceArn
|
|
278
|
+
});
|
|
279
|
+
}
|
|
280
|
+
else {
|
|
281
|
+
let resourceStrings = [simulation.request.resource.resource];
|
|
282
|
+
resourceStrings = getMatchingResourceStringsForPolicies(policiesThatGrantAccess, simulation.request.action, resourceType, simulation.request.resource.resource);
|
|
283
|
+
for (const resourceString of resourceStrings) {
|
|
284
|
+
const simulationResult = curriedAuthorize(resourceString, validContextValues);
|
|
285
|
+
simulationResults.push({
|
|
286
|
+
analysis: simulationResult,
|
|
287
|
+
ignoredContextKeys,
|
|
288
|
+
resourceType: resourceType.key,
|
|
289
|
+
resourcePattern: resourceString
|
|
290
|
+
});
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
const overallResult = calculateOverallResult(simulationResults);
|
|
237
295
|
return {
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
296
|
+
resultType: 'wildcard',
|
|
297
|
+
overallResult,
|
|
298
|
+
results: simulationResults
|
|
241
299
|
};
|
|
242
300
|
}
|
|
243
|
-
export async function normalizeSimulationParameters(simulation) {
|
|
301
|
+
export async function normalizeSimulationParameters(simulation, suggestedResourceType) {
|
|
244
302
|
const [service, action] = simulation.request.action.split(':');
|
|
245
303
|
const resourceArn = simulation.request.resource.resource;
|
|
246
|
-
const contextVariablesForAction = new Set(await allowedContextKeysForRequest(service, action, resourceArn, !!simulation.additionalSettings?.s3?.bucketAbacEnabled));
|
|
304
|
+
const contextVariablesForAction = new Set(await allowedContextKeysForRequest(service, action, resourceArn, !!simulation.additionalSettings?.s3?.bucketAbacEnabled, suggestedResourceType));
|
|
247
305
|
//Get the types of the context variables and set a string or array of strings based on that.
|
|
248
306
|
const validContextValues = {};
|
|
249
307
|
const ignoredContextKeys = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simulationEngine.js","sourceRoot":"","sources":["../../../src/simulation_engine/simulationEngine.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"simulationEngine.js","sourceRoot":"","sources":["../../../src/simulation_engine/simulationEngine.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Determines if two AWS ARN patterns have any overlap in the resources they could match.
|
|
3
|
+
* Handles wildcards (*) and single-character patterns (?) in both ARN strings.
|
|
4
|
+
*
|
|
5
|
+
* @param arn1 First ARN pattern to compare
|
|
6
|
+
* @param arn2 Second ARN pattern to compare
|
|
7
|
+
* @returns true if the patterns could match some of the same resources, false if they are completely disjoint
|
|
8
|
+
*/
|
|
9
|
+
export declare function resourceArnsOverlap(arn1: string, arn2: string): boolean;
|
|
10
|
+
//# sourceMappingURL=resourceStrings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resourceStrings.d.ts","sourceRoot":"","sources":["../../../src/util/resourceStrings.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAgDvE"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Determines if two AWS ARN patterns have any overlap in the resources they could match.
|
|
3
|
+
* Handles wildcards (*) and single-character patterns (?) in both ARN strings.
|
|
4
|
+
*
|
|
5
|
+
* @param arn1 First ARN pattern to compare
|
|
6
|
+
* @param arn2 Second ARN pattern to compare
|
|
7
|
+
* @returns true if the patterns could match some of the same resources, false if they are completely disjoint
|
|
8
|
+
*/
|
|
9
|
+
export function resourceArnsOverlap(arn1, arn2) {
|
|
10
|
+
// Fast-path
|
|
11
|
+
if (arn1 === arn2)
|
|
12
|
+
return true;
|
|
13
|
+
if (arn1 === '*' || arn2 === '*')
|
|
14
|
+
return true;
|
|
15
|
+
const A = [...arn1];
|
|
16
|
+
const B = [...arn2];
|
|
17
|
+
const n = A.length;
|
|
18
|
+
const m = B.length;
|
|
19
|
+
// BFS over states (i, j) meaning:
|
|
20
|
+
// we've consumed up to i in A and up to j in B
|
|
21
|
+
const visited = new Set();
|
|
22
|
+
const queue = [[0, 0]];
|
|
23
|
+
const key = (i, j) => `${i},${j}`;
|
|
24
|
+
while (queue.length > 0) {
|
|
25
|
+
const [i, j] = queue.shift();
|
|
26
|
+
const k = key(i, j);
|
|
27
|
+
if (visited.has(k))
|
|
28
|
+
continue;
|
|
29
|
+
visited.add(k);
|
|
30
|
+
// Accept if both ended
|
|
31
|
+
if (i === n && j === m)
|
|
32
|
+
return true;
|
|
33
|
+
const aTok = tokAt(A, i);
|
|
34
|
+
const bTok = tokAt(B, j);
|
|
35
|
+
// Epsilon transitions: '*' can match empty
|
|
36
|
+
if (aTok === '*')
|
|
37
|
+
queue.push([i + 1, j]);
|
|
38
|
+
if (bTok === '*')
|
|
39
|
+
queue.push([i, j + 1]);
|
|
40
|
+
// Consume-one-character transitions:
|
|
41
|
+
// if both can consume the same next character, advance appropriately
|
|
42
|
+
if (canConsumeSameChar(aTok, bTok)) {
|
|
43
|
+
const nextIs = nextIdxAfterOneChar(A, i);
|
|
44
|
+
const nextJs = nextIdxAfterOneChar(B, j);
|
|
45
|
+
for (const ni of nextIs) {
|
|
46
|
+
for (const nj of nextJs) {
|
|
47
|
+
queue.push([ni, nj]);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
return false;
|
|
53
|
+
}
|
|
54
|
+
function tokAt(p, idx) {
|
|
55
|
+
return idx < p.length ? p[idx] : null; // null = end
|
|
56
|
+
}
|
|
57
|
+
// Whether both patterns can consume at least one *same* next character
|
|
58
|
+
function canConsumeSameChar(a, b) {
|
|
59
|
+
if (a === null || b === null)
|
|
60
|
+
return false;
|
|
61
|
+
const aAny = a === '*' || a === '?';
|
|
62
|
+
const bAny = b === '*' || b === '?';
|
|
63
|
+
// both literals
|
|
64
|
+
if (!aAny && !bAny)
|
|
65
|
+
return a === b;
|
|
66
|
+
// at least one side can match any char
|
|
67
|
+
return true;
|
|
68
|
+
}
|
|
69
|
+
// Next indices after consuming exactly one character from pattern p at idx
|
|
70
|
+
function nextIdxAfterOneChar(p, idx) {
|
|
71
|
+
const t = tokAt(p, idx);
|
|
72
|
+
if (t === null)
|
|
73
|
+
return [];
|
|
74
|
+
if (t === '*')
|
|
75
|
+
return [idx]; // '*' stays and can keep consuming
|
|
76
|
+
return [idx + 1]; // literal or '?' consumes one and advances
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=resourceStrings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resourceStrings.js","sourceRoot":"","sources":["../../../src/util/resourceStrings.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/util.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { ResourceType } from '@cloud-copilot/iam-data';
|
|
2
1
|
import { Resource } from '@cloud-copilot/iam-policy';
|
|
3
2
|
import { AwsRequest } from './request/request.js';
|
|
4
3
|
export interface StringReplaceOptions {
|
|
@@ -67,15 +66,6 @@ export declare function isNotDefined<T>(value: T | undefined): value is undefine
|
|
|
67
66
|
* @throws an error if the service or action does not exist
|
|
68
67
|
*/
|
|
69
68
|
export declare function isWildcardOnlyAction(service: string, action: string): Promise<boolean>;
|
|
70
|
-
/**
|
|
71
|
-
* Get the the possible resource types for an action and resource
|
|
72
|
-
*
|
|
73
|
-
* @param service the service the action belongs to
|
|
74
|
-
* @param action the action to get the resource type for
|
|
75
|
-
* @param resource the resource type matching the action, if any
|
|
76
|
-
* @throws an error if the service or action does not exist, or if the action is a wildcard only action
|
|
77
|
-
*/
|
|
78
|
-
export declare function getResourceTypesForAction(service: string, action: string, resource: string): Promise<ResourceType[]>;
|
|
79
69
|
/**
|
|
80
70
|
* Convert a resource pattern from iam-data to a regex pattern
|
|
81
71
|
*
|
package/dist/esm/util.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAA;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAIjD,MAAM,WAAW,oBAAoB;IACnC,gBAAgB,EAAE,OAAO,CAAA;IACzB,cAAc,EAAE,OAAO,CAAA;CACxB;AAOD;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,UAAU,EACnB,cAAc,EAAE;IAAE,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAAC,cAAc,EAAE,KAAK,CAAA;CAAE,GACpE,MAAM,CAAA;AACT,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,UAAU,EACnB,cAAc,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAC7C;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,CAAA;AA+IzC,MAAM,WAAW,QAAQ;IACvB,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAA;CAG7B;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAenD;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CA2BxE;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,SAAS,GAAG,KAAK,IAAI,CAAC,CAE7D;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,SAAS,GAAG,KAAK,IAAI,SAAS,CAExE;AAED;;;;;;;GAOG;AACH,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAG5F;AAED;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAOrE;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAExD;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAY9D;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAa1D"}
|
package/dist/esm/util.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { iamActionDetails
|
|
1
|
+
import { iamActionDetails } from '@cloud-copilot/iam-data';
|
|
2
2
|
const matchesNothing = new RegExp('a^');
|
|
3
3
|
const defaultStringReplaceOptions = {
|
|
4
4
|
replaceWildcards: true,
|
|
@@ -206,30 +206,6 @@ export async function isWildcardOnlyAction(service, action) {
|
|
|
206
206
|
const actionDetails = await iamActionDetails(service, action);
|
|
207
207
|
return actionDetails.resourceTypes.length === 0;
|
|
208
208
|
}
|
|
209
|
-
/**
|
|
210
|
-
* Get the the possible resource types for an action and resource
|
|
211
|
-
*
|
|
212
|
-
* @param service the service the action belongs to
|
|
213
|
-
* @param action the action to get the resource type for
|
|
214
|
-
* @param resource the resource type matching the action, if any
|
|
215
|
-
* @throws an error if the service or action does not exist, or if the action is a wildcard only action
|
|
216
|
-
*/
|
|
217
|
-
export async function getResourceTypesForAction(service, action, resource) {
|
|
218
|
-
const actionDetails = await iamActionDetails(service, action);
|
|
219
|
-
if (actionDetails.resourceTypes.length === 0) {
|
|
220
|
-
throw new Error(`${service}:${action} does not have any resource types`);
|
|
221
|
-
}
|
|
222
|
-
const matchingResourceTypes = [];
|
|
223
|
-
for (const rt of actionDetails.resourceTypes) {
|
|
224
|
-
const resourceType = await iamResourceTypeDetails(service, rt.name);
|
|
225
|
-
const pattern = convertResourcePatternToRegex(resourceType.arn);
|
|
226
|
-
const match = resource.match(new RegExp(pattern));
|
|
227
|
-
if (match) {
|
|
228
|
-
matchingResourceTypes.push(resourceType);
|
|
229
|
-
}
|
|
230
|
-
}
|
|
231
|
-
return matchingResourceTypes;
|
|
232
|
-
}
|
|
233
209
|
/**
|
|
234
210
|
* Convert a resource pattern from iam-data to a regex pattern
|
|
235
211
|
*
|
package/dist/esm/util.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cloud-copilot/iam-simulate",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.104",
|
|
4
4
|
"description": "Simulate evaluation of AWS IAM policies",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
"dependencies": {
|
|
52
52
|
"@cloud-copilot/iam-data": ">=0.15.202511222 <1.0.0",
|
|
53
53
|
"@cloud-copilot/iam-policy": "^0.1.47",
|
|
54
|
-
"@cloud-copilot/iam-utils": "^0.1.
|
|
54
|
+
"@cloud-copilot/iam-utils": "^0.1.45"
|
|
55
55
|
},
|
|
56
56
|
"prettier": "@cloud-copilot/prettier-config",
|
|
57
57
|
"release": {
|