@actsecurity/iam-lens 0.1.168 → 0.1.170
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/index.d.ts +1 -1
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +2 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/simulate/simulate.d.ts +43 -1
- package/dist/cjs/simulate/simulate.d.ts.map +1 -1
- package/dist/cjs/simulate/simulate.js +115 -17
- package/dist/cjs/simulate/simulate.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 +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/simulate/simulate.d.ts +43 -1
- package/dist/esm/simulate/simulate.d.ts.map +1 -1
- package/dist/esm/simulate/simulate.js +113 -17
- package/dist/esm/simulate/simulate.js.map +1 -1
- package/package.json +1 -1
package/dist/cjs/index.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ export { getCollectClient, loadCollectConfigs, type ClientFactoryPlugin, type Co
|
|
|
4
4
|
export { principalCan, type PrincipalCanInput } from './principalCan/principalCan.js';
|
|
5
5
|
export { makePrincipalIndex } from './principalIndex/makePrincipalIndex.js';
|
|
6
6
|
export type { ContextKeys } from './simulate/contextKeys.js';
|
|
7
|
-
export { simulateRequest, simulateAnonymousRequest, simulateExternalPrincipalRequest, simulateVirtualPrincipal, simulateExternalResourceRequest, type SimulationRequest, type AnonymousSimulationRequest, type VirtualPrincipalSimulationRequest, type ExternalResourceSimulationRequest, type SimulateRequestResult } from './simulate/simulate.js';
|
|
7
|
+
export { simulateRequest, simulateAnonymousRequest, simulateExternalPrincipalRequest, simulateVirtualPrincipal, simulateExternalResourceRequest, simulateVirtualResourceRequest, type SimulationRequest, type AnonymousSimulationRequest, type VirtualPrincipalSimulationRequest, type ExternalResourceSimulationRequest, type VirtualResourceSimulationRequest, type SimulateRequestResult } from './simulate/simulate.js';
|
|
8
8
|
export { whoCan, type WhoCanPrincipalScope, type ResourceAccessRequest, type WhoCanAllowed, type WhoCanAllowedResourcePattern, type WhoCanResponse } from './whoCan/whoCan.js';
|
|
9
9
|
export { WhoCanProcessor, type WhoCanProcessorConfig, type WhoCanProcessorRequest, type WhoCanSettledEvent, type WhoCanSettledSuccess, type WhoCanSettledError, type WorkerBootstrapPlugin } from './whoCan/WhoCanProcessor.js';
|
|
10
10
|
export { type LightRequestAnalysis, type LightResourceAnalysis, type LightResourceAnalysisWithPattern, type SingleResourceLightRequestAnalysis, type WildcardResourceLightRequestAnalysis } from './whoCan/requestAnalysis.js';
|
package/dist/cjs/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,eAAe,EACf,KAAK,aAAa,EAClB,KAAK,uBAAuB,EAC7B,MAAM,qBAAqB,CAAA;AAC5B,YAAY,EACV,aAAa,EACb,YAAY,EACZ,SAAS,EACT,qBAAqB,EACrB,aAAa,EACb,cAAc,EACf,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EAC1B,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AACrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAA;AAC3E,YAAY,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AAC5D,OAAO,EACL,eAAe,EACf,wBAAwB,EACxB,gCAAgC,EAChC,wBAAwB,EACxB,+BAA+B,EAC/B,KAAK,iBAAiB,EACtB,KAAK,0BAA0B,EAC/B,KAAK,iCAAiC,EACtC,KAAK,iCAAiC,EACtC,KAAK,qBAAqB,EAC3B,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EACL,MAAM,EACN,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,aAAa,EAClB,KAAK,4BAA4B,EACjC,KAAK,cAAc,EACpB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACL,eAAe,EACf,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC3B,MAAM,6BAA6B,CAAA;AACpC,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,gCAAgC,EACrC,KAAK,kCAAkC,EACvC,KAAK,oCAAoC,EAC1C,MAAM,6BAA6B,CAAA;AACpC,OAAO,EACL,aAAa,EACb,8BAA8B,EAC9B,0BAA0B,EAC1B,kBAAkB,EAClB,KAAK,kCAAkC,EACxC,MAAM,iCAAiC,CAAA;AACxC,OAAO,EACL,UAAU,EACV,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,EAC7B,MAAM,8BAA8B,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,eAAe,EACf,KAAK,aAAa,EAClB,KAAK,uBAAuB,EAC7B,MAAM,qBAAqB,CAAA;AAC5B,YAAY,EACV,aAAa,EACb,YAAY,EACZ,SAAS,EACT,qBAAqB,EACrB,aAAa,EACb,cAAc,EACf,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EAC1B,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AACrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAA;AAC3E,YAAY,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AAC5D,OAAO,EACL,eAAe,EACf,wBAAwB,EACxB,gCAAgC,EAChC,wBAAwB,EACxB,+BAA+B,EAC/B,8BAA8B,EAC9B,KAAK,iBAAiB,EACtB,KAAK,0BAA0B,EAC/B,KAAK,iCAAiC,EACtC,KAAK,iCAAiC,EACtC,KAAK,gCAAgC,EACrC,KAAK,qBAAqB,EAC3B,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EACL,MAAM,EACN,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,aAAa,EAClB,KAAK,4BAA4B,EACjC,KAAK,cAAc,EACpB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACL,eAAe,EACf,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC3B,MAAM,6BAA6B,CAAA;AACpC,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,gCAAgC,EACrC,KAAK,kCAAkC,EACvC,KAAK,oCAAoC,EAC1C,MAAM,6BAA6B,CAAA;AACpC,OAAO,EACL,aAAa,EACb,8BAA8B,EAC9B,0BAA0B,EAC1B,kBAAkB,EAClB,KAAK,kCAAkC,EACxC,MAAM,iCAAiC,CAAA;AACxC,OAAO,EACL,UAAU,EACV,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,EAC7B,MAAM,8BAA8B,CAAA"}
|
package/dist/cjs/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Permission = exports.toPolicyStatements = exports.addPoliciesToPermissionSet = exports.buildPermissionSetFromPolicies = exports.PermissionSet = exports.WhoCanProcessor = exports.whoCan = exports.simulateExternalResourceRequest = exports.simulateVirtualPrincipal = exports.simulateExternalPrincipalRequest = exports.simulateAnonymousRequest = exports.simulateRequest = exports.makePrincipalIndex = exports.principalCan = exports.loadCollectConfigs = exports.getCollectClient = exports.NoCacheProvider = exports.InMemoryCacheProvider = exports.IamCollectClient = void 0;
|
|
3
|
+
exports.Permission = exports.toPolicyStatements = exports.addPoliciesToPermissionSet = exports.buildPermissionSetFromPolicies = exports.PermissionSet = exports.WhoCanProcessor = exports.whoCan = exports.simulateVirtualResourceRequest = exports.simulateExternalResourceRequest = exports.simulateVirtualPrincipal = exports.simulateExternalPrincipalRequest = exports.simulateAnonymousRequest = exports.simulateRequest = exports.makePrincipalIndex = exports.principalCan = exports.loadCollectConfigs = exports.getCollectClient = exports.NoCacheProvider = exports.InMemoryCacheProvider = exports.IamCollectClient = void 0;
|
|
4
4
|
var client_js_1 = require("./collect/client.js");
|
|
5
5
|
Object.defineProperty(exports, "IamCollectClient", { enumerable: true, get: function () { return client_js_1.IamCollectClient; } });
|
|
6
6
|
Object.defineProperty(exports, "InMemoryCacheProvider", { enumerable: true, get: function () { return client_js_1.InMemoryCacheProvider; } });
|
|
@@ -18,6 +18,7 @@ Object.defineProperty(exports, "simulateAnonymousRequest", { enumerable: true, g
|
|
|
18
18
|
Object.defineProperty(exports, "simulateExternalPrincipalRequest", { enumerable: true, get: function () { return simulate_js_1.simulateExternalPrincipalRequest; } });
|
|
19
19
|
Object.defineProperty(exports, "simulateVirtualPrincipal", { enumerable: true, get: function () { return simulate_js_1.simulateVirtualPrincipal; } });
|
|
20
20
|
Object.defineProperty(exports, "simulateExternalResourceRequest", { enumerable: true, get: function () { return simulate_js_1.simulateExternalResourceRequest; } });
|
|
21
|
+
Object.defineProperty(exports, "simulateVirtualResourceRequest", { enumerable: true, get: function () { return simulate_js_1.simulateVirtualResourceRequest; } });
|
|
21
22
|
var whoCan_js_1 = require("./whoCan/whoCan.js");
|
|
22
23
|
Object.defineProperty(exports, "whoCan", { enumerable: true, get: function () { return whoCan_js_1.whoCan; } });
|
|
23
24
|
var WhoCanProcessor_js_1 = require("./whoCan/WhoCanProcessor.js");
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,iDAM4B;AAL1B,6GAAA,gBAAgB,OAAA;AAChB,kHAAA,qBAAqB,OAAA;AACrB,4GAAA,eAAe,OAAA;AAYjB,mDAK6B;AAJ3B,8GAAA,gBAAgB,OAAA;AAChB,gHAAA,kBAAkB,OAAA;AAIpB,kEAAqF;AAA5E,+GAAA,YAAY,OAAA;AACrB,gFAA2E;AAAlE,2HAAA,kBAAkB,OAAA;AAE3B,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,iDAM4B;AAL1B,6GAAA,gBAAgB,OAAA;AAChB,kHAAA,qBAAqB,OAAA;AACrB,4GAAA,eAAe,OAAA;AAYjB,mDAK6B;AAJ3B,8GAAA,gBAAgB,OAAA;AAChB,gHAAA,kBAAkB,OAAA;AAIpB,kEAAqF;AAA5E,+GAAA,YAAY,OAAA;AACrB,gFAA2E;AAAlE,2HAAA,kBAAkB,OAAA;AAE3B,sDAa+B;AAZ7B,8GAAA,eAAe,OAAA;AACf,uHAAA,wBAAwB,OAAA;AACxB,+HAAA,gCAAgC,OAAA;AAChC,uHAAA,wBAAwB,OAAA;AACxB,8HAAA,+BAA+B,OAAA;AAC/B,6HAAA,8BAA8B,OAAA;AAQhC,gDAO2B;AANzB,mGAAA,MAAM,OAAA;AAOR,kEAQoC;AAPlC,qHAAA,eAAe,OAAA;AAejB,oEAMwC;AALtC,iHAAA,aAAa,OAAA;AACb,kIAAA,8BAA8B,OAAA;AAC9B,8HAAA,0BAA0B,OAAA;AAC1B,sHAAA,kBAAkB,OAAA;AAGpB,8DAMqC;AALnC,2GAAA,UAAU,OAAA"}
|
|
@@ -43,6 +43,12 @@ export interface SimulationRequest {
|
|
|
43
43
|
* Additional strict context keys to include for the simulation. These will be added to the default strict context keys.
|
|
44
44
|
*/
|
|
45
45
|
additionalStrictContextKeys?: string[];
|
|
46
|
+
/**
|
|
47
|
+
* Caller-provided Discovery-only knowledge constraints. Matching caller
|
|
48
|
+
* constraints override iam-lens-generated constraints case-insensitively;
|
|
49
|
+
* iam-simulate ignores them in Strict mode.
|
|
50
|
+
*/
|
|
51
|
+
discoveryContextKeyConstraints?: DiscoveryContextKeyConstraint[];
|
|
46
52
|
}
|
|
47
53
|
/**
|
|
48
54
|
* An unsigned simulation request against a concrete resource ARN.
|
|
@@ -80,6 +86,13 @@ export interface ExternalResourceSimulationRequest extends Omit<SimulationReques
|
|
|
80
86
|
*/
|
|
81
87
|
resourcePolicy?: Record<string, unknown>;
|
|
82
88
|
}
|
|
89
|
+
/**
|
|
90
|
+
* A simulation request for an uncollected resource whose organization controls should apply.
|
|
91
|
+
*
|
|
92
|
+
* This has the same contract as an external-resource request: a concrete resource ARN and an
|
|
93
|
+
* optional caller-supplied resource or trust policy replace the synthetic allow-all policy.
|
|
94
|
+
*/
|
|
95
|
+
export type VirtualResourceSimulationRequest = ExternalResourceSimulationRequest;
|
|
83
96
|
/**
|
|
84
97
|
* The result of a simulation request, containing the normalized request and evaluation result.
|
|
85
98
|
*/
|
|
@@ -106,7 +119,7 @@ export type InternalSimulationRequest = Omit<SimulationRequest, 'principal'> & {
|
|
|
106
119
|
*/
|
|
107
120
|
inlinePolicy?: Record<string, unknown>;
|
|
108
121
|
/**
|
|
109
|
-
* Caller-supplied external resource or trust policy.
|
|
122
|
+
* Caller-supplied external or virtual resource policy, or trust policy.
|
|
110
123
|
*/
|
|
111
124
|
resourcePolicy?: Record<string, unknown>;
|
|
112
125
|
};
|
|
@@ -184,6 +197,35 @@ export declare function simulateVirtualPrincipal(simulationRequest: VirtualPrinc
|
|
|
184
197
|
* @returns the normalized request and simulation result
|
|
185
198
|
*/
|
|
186
199
|
export declare function simulateExternalResourceRequest(simulationRequest: ExternalResourceSimulationRequest, collectClient: IamCollectClient): Promise<SimulateRequestResult>;
|
|
200
|
+
/**
|
|
201
|
+
* Simulate a collected principal accessing an uncollected resource while applying organization
|
|
202
|
+
* controls for the resource's account.
|
|
203
|
+
*
|
|
204
|
+
* The resource receives the synthetic allow-all resource (or trust) policy of an external resource
|
|
205
|
+
* unless `resourcePolicy` replaces it, and its tags, metadata, and S3 settings are unknown. The RCP
|
|
206
|
+
* hierarchy captured for `resourceAccount`, or the account in `resourceArn` when no account is
|
|
207
|
+
* supplied, still applies. An account outside the collected organization data has none. Wildcard-only
|
|
208
|
+
* actions are unsupported.
|
|
209
|
+
*
|
|
210
|
+
* @param simulationRequest the virtual resource request and optional resource/trust policy
|
|
211
|
+
* @param collectClient the IAM collect client to use for principal-side and organization data access
|
|
212
|
+
* @returns the normalized request and simulation result
|
|
213
|
+
*/
|
|
214
|
+
export declare function simulateVirtualResourceRequest(simulationRequest: VirtualResourceSimulationRequest, collectClient: IamCollectClient): Promise<SimulateRequestResult>;
|
|
215
|
+
/**
|
|
216
|
+
* Merge iam-lens-generated and caller-provided Discovery constraints.
|
|
217
|
+
*
|
|
218
|
+
* Caller constraints replace generated constraints with the same key-name
|
|
219
|
+
* string, compared case-insensitively. Regex patterns are compared as strings;
|
|
220
|
+
* regex-overlap precedence can be added later without changing the public
|
|
221
|
+
* request contract.
|
|
222
|
+
*
|
|
223
|
+
* @param generatedConstraints constraints derived from iam-lens request context
|
|
224
|
+
* @param callerConstraints constraints supplied by the simulation caller
|
|
225
|
+
* @returns caller constraints followed by generated constraints not overridden by callers
|
|
226
|
+
* @internal
|
|
227
|
+
*/
|
|
228
|
+
export declare function mergeDiscoveryContextKeyConstraints(generatedConstraints: DiscoveryContextKeyConstraint[], callerConstraints: DiscoveryContextKeyConstraint[]): DiscoveryContextKeyConstraint[];
|
|
187
229
|
/**
|
|
188
230
|
* Convert an iam-lens context key into an iam-simulate Discovery constraint.
|
|
189
231
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simulate.d.ts","sourceRoot":"","sources":["../../../src/simulate/simulate.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,6BAA6B,EAClC,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EAEzB,KAAK,UAAU,EACf,KAAK,cAAc,EACpB,MAAM,2BAA2B,CAAA;AASlC,OAAO,EAAE,gBAAgB,EAAE,KAAK,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAanF,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAExD,OAAO,EAEL,KAAK,WAAW,EAKjB,MAAM,kBAAkB,CAAA;AAWzB;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,WAAW,EAAE,MAAM,GAAG,SAAS,CAAA;IAE/B;;OAEG;IACH,eAAe,EAAE,MAAM,GAAG,SAAS,CAAA;IAEnC;;OAEG;IACH,MAAM,EAAE,MAAM,CAAA;IAEd;;OAEG;IACH,SAAS,EAAE,MAAM,CAAA;IAEjB;;;OAGG;IACH,iBAAiB,EAAE,WAAW,CAAA;IAE9B;;OAEG;IACH,cAAc,EAAE,cAAc,CAAA;IAE9B;;OAEG;IACH,cAAc,CAAC,EAAE,cAAc,CAAA;IAE/B;;OAEG;IACH,aAAa,CAAC,EAAE,GAAG,CAAA;IAEnB;;OAEG;IACH,2BAA2B,CAAC,EAAE,MAAM,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"simulate.d.ts","sourceRoot":"","sources":["../../../src/simulate/simulate.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,8 @@ exports.simulateAnonymousRequest = simulateAnonymousRequest;
|
|
|
5
5
|
exports.simulateExternalPrincipalRequest = simulateExternalPrincipalRequest;
|
|
6
6
|
exports.simulateVirtualPrincipal = simulateVirtualPrincipal;
|
|
7
7
|
exports.simulateExternalResourceRequest = simulateExternalResourceRequest;
|
|
8
|
+
exports.simulateVirtualResourceRequest = simulateVirtualResourceRequest;
|
|
9
|
+
exports.mergeDiscoveryContextKeyConstraints = mergeDiscoveryContextKeyConstraints;
|
|
8
10
|
exports.discoveryConstraintForStrictKey = discoveryConstraintForStrictKey;
|
|
9
11
|
exports.resultMatchesExpectation = resultMatchesExpectation;
|
|
10
12
|
const iam_data_1 = require("@actsecurity/iam-data");
|
|
@@ -74,6 +76,23 @@ async function simulateVirtualPrincipal(simulationRequest, collectClient) {
|
|
|
74
76
|
async function simulateExternalResourceRequest(simulationRequest, collectClient) {
|
|
75
77
|
return simulateRequestInternal({ ...simulationRequest }, 'externalResource', collectClient);
|
|
76
78
|
}
|
|
79
|
+
/**
|
|
80
|
+
* Simulate a collected principal accessing an uncollected resource while applying organization
|
|
81
|
+
* controls for the resource's account.
|
|
82
|
+
*
|
|
83
|
+
* The resource receives the synthetic allow-all resource (or trust) policy of an external resource
|
|
84
|
+
* unless `resourcePolicy` replaces it, and its tags, metadata, and S3 settings are unknown. The RCP
|
|
85
|
+
* hierarchy captured for `resourceAccount`, or the account in `resourceArn` when no account is
|
|
86
|
+
* supplied, still applies. An account outside the collected organization data has none. Wildcard-only
|
|
87
|
+
* actions are unsupported.
|
|
88
|
+
*
|
|
89
|
+
* @param simulationRequest the virtual resource request and optional resource/trust policy
|
|
90
|
+
* @param collectClient the IAM collect client to use for principal-side and organization data access
|
|
91
|
+
* @returns the normalized request and simulation result
|
|
92
|
+
*/
|
|
93
|
+
async function simulateVirtualResourceRequest(simulationRequest, collectClient) {
|
|
94
|
+
return simulateRequestInternal({ ...simulationRequest }, 'virtualResource', collectClient);
|
|
95
|
+
}
|
|
77
96
|
/**
|
|
78
97
|
* Assemble and run every simulation variant through one policy and context processing path.
|
|
79
98
|
*
|
|
@@ -101,12 +120,17 @@ async function simulateRequestInternal(input, variant, collectClient) {
|
|
|
101
120
|
throw new Error(`Virtual principal ${simulationRequest.principal} must contain an account ID.`);
|
|
102
121
|
}
|
|
103
122
|
if (actionDetails.isWildcardOnly &&
|
|
104
|
-
(variant === 'anonymous' ||
|
|
123
|
+
(variant === 'anonymous' ||
|
|
124
|
+
variant === 'externalPrincipal' ||
|
|
125
|
+
variant === 'externalResource' ||
|
|
126
|
+
variant === 'virtualResource')) {
|
|
105
127
|
const variantName = variant === 'anonymous'
|
|
106
128
|
? 'Anonymous'
|
|
107
129
|
: variant === 'externalPrincipal'
|
|
108
130
|
? 'External principal'
|
|
109
|
-
:
|
|
131
|
+
: variant === 'externalResource'
|
|
132
|
+
? 'External resource'
|
|
133
|
+
: 'Virtual resource';
|
|
110
134
|
throw new Error(`${variantName} simulations do not support wildcard-only actions.`);
|
|
111
135
|
}
|
|
112
136
|
if (variant === 'anonymous' && !simulationRequest.resourceArn) {
|
|
@@ -115,6 +139,16 @@ async function simulateRequestInternal(input, variant, collectClient) {
|
|
|
115
139
|
if (variant === 'externalResource' && !simulationRequest.resourceArn) {
|
|
116
140
|
throw new Error('External resource simulations require a concrete resource ARN.');
|
|
117
141
|
}
|
|
142
|
+
if (variant === 'virtualResource' && !simulationRequest.resourceArn) {
|
|
143
|
+
throw new Error('Virtual resource simulations require a concrete resource ARN.');
|
|
144
|
+
}
|
|
145
|
+
if (variant === 'virtualResource' && !simulationRequest.resourceAccount) {
|
|
146
|
+
const resourceAccount = (0, iam_utils_1.splitArnParts)(simulationRequest.resourceArn).accountId;
|
|
147
|
+
if (!resourceAccount) {
|
|
148
|
+
throw new Error(`Virtual resource ${simulationRequest.resourceArn} must contain an account ID.`);
|
|
149
|
+
}
|
|
150
|
+
simulationRequest.resourceAccount = resourceAccount;
|
|
151
|
+
}
|
|
118
152
|
if (actionDetails.isWildcardOnly) {
|
|
119
153
|
simulationRequest.resourceAccount = (0, iam_utils_1.splitArnParts)(simulationRequest.principal).accountId;
|
|
120
154
|
}
|
|
@@ -127,7 +161,7 @@ async function simulateRequestInternal(input, variant, collectClient) {
|
|
|
127
161
|
if (!simulationRequest.resourceAccount) {
|
|
128
162
|
throw new Error(`Unable to find account ID for resource ${simulationRequest.resourceArn}`);
|
|
129
163
|
}
|
|
130
|
-
const requiresCollectedPrincipal = variant === 'normal' || variant === 'externalResource';
|
|
164
|
+
const requiresCollectedPrincipal = variant === 'normal' || variant === 'externalResource' || variant === 'virtualResource';
|
|
131
165
|
if (requiresCollectedPrincipal) {
|
|
132
166
|
const principalFound = await (0, principals_js_1.principalExists)(simulationRequest.principal, collectClient);
|
|
133
167
|
if (!principalFound) {
|
|
@@ -148,7 +182,7 @@ async function simulateRequestInternal(input, variant, collectClient) {
|
|
|
148
182
|
const principalArnForContext = simulationRequest.principal
|
|
149
183
|
? await resolvePrincipalArnForContext(collectClient, simulationRequest.principal)
|
|
150
184
|
: undefined;
|
|
151
|
-
const includeResourceMetadata = variant !== 'externalResource';
|
|
185
|
+
const includeResourceMetadata = variant !== 'externalResource' && variant !== 'virtualResource';
|
|
152
186
|
const { contextKeys, resourceTagsAreKnown } = await (0, contextKeys_js_1.createContextKeys)(collectClient, simulationRequest, service, simulationRequest.customContextKeys, principalArnForContext, { includePrincipalTags: requiresCollectedPrincipal, includeResourceMetadata });
|
|
153
187
|
const vpcEndpointPolicy = await getVpcEndpointPolicy(collectClient, contextKeys);
|
|
154
188
|
request.contextVariables = contextKeys;
|
|
@@ -171,7 +205,8 @@ async function simulateRequestInternal(input, variant, collectClient) {
|
|
|
171
205
|
...strictContextKeys,
|
|
172
206
|
...mutableExistingPrincipalTagKeys
|
|
173
207
|
]);
|
|
174
|
-
const
|
|
208
|
+
const generatedDiscoveryContextKeyConstraints = [...discoveryContextKeyNames].map((keyName) => discoveryConstraintForStrictKey(keyName, simulationRequest, mutableExistingPrincipalTagKeys));
|
|
209
|
+
const discoveryContextKeyConstraints = mergeDiscoveryContextKeyConstraints(generatedDiscoveryContextKeyConstraints, simulationRequest.discoveryContextKeyConstraints ?? []);
|
|
175
210
|
const result = await (0, iam_simulate_1.runSimulation)(simulation, {
|
|
176
211
|
simulationMode: simulationRequest.simulationMode,
|
|
177
212
|
discoveryContextKeyConstraints
|
|
@@ -264,6 +299,12 @@ async function resourcePoliciesForVariant(variant, request, service, actionIsWil
|
|
|
264
299
|
resourceControlPolicies: []
|
|
265
300
|
};
|
|
266
301
|
}
|
|
302
|
+
if (variant === 'virtualResource') {
|
|
303
|
+
return {
|
|
304
|
+
resourcePolicy: (0, generatedPolicies_js_1.externalResourcePolicy)(request),
|
|
305
|
+
resourceControlPolicies: await getResourceControlPolicies(collectClient, request.action, request.resourceArn, request.resourceAccount, request.principal, actionIsWildcard, principalAccountRcps)
|
|
306
|
+
};
|
|
307
|
+
}
|
|
267
308
|
return getResourcePolicies(collectClient, request.action, service, request.resourceArn, request.resourceAccount, request.principal, actionIsWildcard, principalAccountRcps);
|
|
268
309
|
}
|
|
269
310
|
/**
|
|
@@ -297,7 +338,7 @@ async function applyS3Settings(simulation, request, variant, collectClient) {
|
|
|
297
338
|
if (!request.resourceArn || !(0, iam_utils_1.isS3BucketOrObjectArn)(request.resourceArn)) {
|
|
298
339
|
return;
|
|
299
340
|
}
|
|
300
|
-
if (variant === 'externalResource') {
|
|
341
|
+
if (variant === 'externalResource' || variant === 'virtualResource') {
|
|
301
342
|
simulation.additionalSettings = {
|
|
302
343
|
s3: {
|
|
303
344
|
bucketAbacEnabled: request.s3AbacOverride === 'enabled',
|
|
@@ -464,6 +505,42 @@ function mutableStoredPrincipalTagKeys(capability, contextKeys, customContextKey
|
|
|
464
505
|
return (0, roleSessionTags_js_1.roleSessionCanSetTagKey)(capability, tagKey);
|
|
465
506
|
}));
|
|
466
507
|
}
|
|
508
|
+
/**
|
|
509
|
+
* Merge iam-lens-generated and caller-provided Discovery constraints.
|
|
510
|
+
*
|
|
511
|
+
* Caller constraints replace generated constraints with the same key-name
|
|
512
|
+
* string, compared case-insensitively. Regex patterns are compared as strings;
|
|
513
|
+
* regex-overlap precedence can be added later without changing the public
|
|
514
|
+
* request contract.
|
|
515
|
+
*
|
|
516
|
+
* @param generatedConstraints constraints derived from iam-lens request context
|
|
517
|
+
* @param callerConstraints constraints supplied by the simulation caller
|
|
518
|
+
* @returns caller constraints followed by generated constraints not overridden by callers
|
|
519
|
+
* @internal
|
|
520
|
+
*/
|
|
521
|
+
function mergeDiscoveryContextKeyConstraints(generatedConstraints, callerConstraints) {
|
|
522
|
+
return [
|
|
523
|
+
...callerConstraints,
|
|
524
|
+
...generatedConstraints.filter((generatedConstraint) => {
|
|
525
|
+
return !callerConstraints.some((callerConstraint) => {
|
|
526
|
+
return constraintKeyNamesMatch(callerConstraint.keyName, generatedConstraint.keyName);
|
|
527
|
+
});
|
|
528
|
+
})
|
|
529
|
+
];
|
|
530
|
+
}
|
|
531
|
+
/**
|
|
532
|
+
* Determine whether caller and generated constraint key names match.
|
|
533
|
+
*
|
|
534
|
+
* The comparison is intentionally lexical: literal names and slash-delimited
|
|
535
|
+
* regex patterns are both compared as strings with case-insensitive matching.
|
|
536
|
+
*
|
|
537
|
+
* @param callerKeyName caller-provided literal key name or slash-delimited regex pattern
|
|
538
|
+
* @param generatedKeyName iam-lens-generated literal key name or slash-delimited regex pattern
|
|
539
|
+
* @returns whether the caller constraint overrides the generated constraint
|
|
540
|
+
*/
|
|
541
|
+
function constraintKeyNamesMatch(callerKeyName, generatedKeyName) {
|
|
542
|
+
return callerKeyName.localeCompare(generatedKeyName, undefined, { sensitivity: 'base' }) === 0;
|
|
543
|
+
}
|
|
467
544
|
/**
|
|
468
545
|
* Convert an iam-lens context key into an iam-simulate Discovery constraint.
|
|
469
546
|
*
|
|
@@ -535,6 +612,34 @@ async function getResourcePolicies(collectClient, action, service, resourceArn,
|
|
|
535
612
|
const resourcePolicy = resourceArn
|
|
536
613
|
? await (0, resources_js_1.getResourcePolicyForResource)(collectClient, resourceArn, resourceAccount)
|
|
537
614
|
: undefined;
|
|
615
|
+
const resourceControlPolicies = await getResourceControlPolicies(collectClient, action, resourceArn, resourceAccount, principalArn, actionIsWildcard, principalAccountRcps);
|
|
616
|
+
if (sts_js_1.AssumeRoleActions.has(action.toLowerCase()) && !resourcePolicy) {
|
|
617
|
+
throw new Error(`Trust policy not found for resource ${resourceArn}. sts assume role actions require a trust policy.`);
|
|
618
|
+
}
|
|
619
|
+
const useResourcePolicy = resourceArn !== undefined && !((0, iam_utils_1.isIamRoleArn)(resourceArn) && service.toLowerCase() === 'iam');
|
|
620
|
+
return {
|
|
621
|
+
resourcePolicy: useResourcePolicy ? resourcePolicy : undefined,
|
|
622
|
+
resourceControlPolicies
|
|
623
|
+
};
|
|
624
|
+
}
|
|
625
|
+
/**
|
|
626
|
+
* Retrieve the RCP hierarchies applicable to a request from the resource account's organization
|
|
627
|
+
* placement, or from the principal account for a wildcard-only action.
|
|
628
|
+
*
|
|
629
|
+
* This applies the non-variant RCP rules for wildcard-only actions, service-linked roles,
|
|
630
|
+
* `kms:RetireGrant`, AWS-managed KMS keys, and the implicit full-access RCP. An account outside the
|
|
631
|
+
* collected organization data has no RCPs.
|
|
632
|
+
*
|
|
633
|
+
* @param collectClient the data client
|
|
634
|
+
* @param action the action being simulated
|
|
635
|
+
* @param resourceArn the resource ARN
|
|
636
|
+
* @param resourceAccount the resource account
|
|
637
|
+
* @param principalArn the authenticated principal ARN, when present
|
|
638
|
+
* @param actionIsWildcard whether the action uses the account-wide wildcard resource
|
|
639
|
+
* @param principalAccountRcps RCP hierarchy for the principal account
|
|
640
|
+
* @returns the filtered RCP hierarchies applicable to the request
|
|
641
|
+
*/
|
|
642
|
+
async function getResourceControlPolicies(collectClient, action, resourceArn, resourceAccount, principalArn, actionIsWildcard, principalAccountRcps) {
|
|
538
643
|
// AWS does not apply RCPs when a service principal assumes a service-linked role.
|
|
539
644
|
const servicePrincipalAssumesServiceLinkedRole = principalArn !== undefined &&
|
|
540
645
|
resourceArn !== undefined &&
|
|
@@ -558,17 +663,10 @@ async function getResourcePolicies(collectClient, action, service, resourceArn,
|
|
|
558
663
|
: actionIsWildcard
|
|
559
664
|
? principalAccountRcps
|
|
560
665
|
: resourceRcps;
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
return {
|
|
566
|
-
resourcePolicy: useResourcePolicy ? resourcePolicy : undefined,
|
|
567
|
-
resourceControlPolicies: applicableRcps.map((rcp) => ({
|
|
568
|
-
orgIdentifier: rcp.orgIdentifier,
|
|
569
|
-
policies: rcp.policies.filter((policy) => !policy.name.toLowerCase().endsWith('rcpfullawsaccess'))
|
|
570
|
-
}))
|
|
571
|
-
};
|
|
666
|
+
return applicableRcps.map((rcp) => ({
|
|
667
|
+
orgIdentifier: rcp.orgIdentifier,
|
|
668
|
+
policies: rcp.policies.filter((policy) => !policy.name.toLowerCase().endsWith('rcpfullawsaccess'))
|
|
669
|
+
}));
|
|
572
670
|
}
|
|
573
671
|
/**
|
|
574
672
|
* Resolve the canonical role ARN used for role-backed context keys.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simulate.js","sourceRoot":"","sources":["../../../src/simulate/simulate.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"simulate.js","sourceRoot":"","sources":["../../../src/simulate/simulate.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ export { getCollectClient, loadCollectConfigs, type ClientFactoryPlugin, type Co
|
|
|
4
4
|
export { principalCan, type PrincipalCanInput } from './principalCan/principalCan.js';
|
|
5
5
|
export { makePrincipalIndex } from './principalIndex/makePrincipalIndex.js';
|
|
6
6
|
export type { ContextKeys } from './simulate/contextKeys.js';
|
|
7
|
-
export { simulateRequest, simulateAnonymousRequest, simulateExternalPrincipalRequest, simulateVirtualPrincipal, simulateExternalResourceRequest, type SimulationRequest, type AnonymousSimulationRequest, type VirtualPrincipalSimulationRequest, type ExternalResourceSimulationRequest, type SimulateRequestResult } from './simulate/simulate.js';
|
|
7
|
+
export { simulateRequest, simulateAnonymousRequest, simulateExternalPrincipalRequest, simulateVirtualPrincipal, simulateExternalResourceRequest, simulateVirtualResourceRequest, type SimulationRequest, type AnonymousSimulationRequest, type VirtualPrincipalSimulationRequest, type ExternalResourceSimulationRequest, type VirtualResourceSimulationRequest, type SimulateRequestResult } from './simulate/simulate.js';
|
|
8
8
|
export { whoCan, type WhoCanPrincipalScope, type ResourceAccessRequest, type WhoCanAllowed, type WhoCanAllowedResourcePattern, type WhoCanResponse } from './whoCan/whoCan.js';
|
|
9
9
|
export { WhoCanProcessor, type WhoCanProcessorConfig, type WhoCanProcessorRequest, type WhoCanSettledEvent, type WhoCanSettledSuccess, type WhoCanSettledError, type WorkerBootstrapPlugin } from './whoCan/WhoCanProcessor.js';
|
|
10
10
|
export { type LightRequestAnalysis, type LightResourceAnalysis, type LightResourceAnalysisWithPattern, type SingleResourceLightRequestAnalysis, type WildcardResourceLightRequestAnalysis } from './whoCan/requestAnalysis.js';
|
package/dist/esm/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,eAAe,EACf,KAAK,aAAa,EAClB,KAAK,uBAAuB,EAC7B,MAAM,qBAAqB,CAAA;AAC5B,YAAY,EACV,aAAa,EACb,YAAY,EACZ,SAAS,EACT,qBAAqB,EACrB,aAAa,EACb,cAAc,EACf,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EAC1B,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AACrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAA;AAC3E,YAAY,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AAC5D,OAAO,EACL,eAAe,EACf,wBAAwB,EACxB,gCAAgC,EAChC,wBAAwB,EACxB,+BAA+B,EAC/B,KAAK,iBAAiB,EACtB,KAAK,0BAA0B,EAC/B,KAAK,iCAAiC,EACtC,KAAK,iCAAiC,EACtC,KAAK,qBAAqB,EAC3B,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EACL,MAAM,EACN,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,aAAa,EAClB,KAAK,4BAA4B,EACjC,KAAK,cAAc,EACpB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACL,eAAe,EACf,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC3B,MAAM,6BAA6B,CAAA;AACpC,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,gCAAgC,EACrC,KAAK,kCAAkC,EACvC,KAAK,oCAAoC,EAC1C,MAAM,6BAA6B,CAAA;AACpC,OAAO,EACL,aAAa,EACb,8BAA8B,EAC9B,0BAA0B,EAC1B,kBAAkB,EAClB,KAAK,kCAAkC,EACxC,MAAM,iCAAiC,CAAA;AACxC,OAAO,EACL,UAAU,EACV,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,EAC7B,MAAM,8BAA8B,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,eAAe,EACf,KAAK,aAAa,EAClB,KAAK,uBAAuB,EAC7B,MAAM,qBAAqB,CAAA;AAC5B,YAAY,EACV,aAAa,EACb,YAAY,EACZ,SAAS,EACT,qBAAqB,EACrB,aAAa,EACb,cAAc,EACf,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EAC1B,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AACrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAA;AAC3E,YAAY,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AAC5D,OAAO,EACL,eAAe,EACf,wBAAwB,EACxB,gCAAgC,EAChC,wBAAwB,EACxB,+BAA+B,EAC/B,8BAA8B,EAC9B,KAAK,iBAAiB,EACtB,KAAK,0BAA0B,EAC/B,KAAK,iCAAiC,EACtC,KAAK,iCAAiC,EACtC,KAAK,gCAAgC,EACrC,KAAK,qBAAqB,EAC3B,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EACL,MAAM,EACN,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,aAAa,EAClB,KAAK,4BAA4B,EACjC,KAAK,cAAc,EACpB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACL,eAAe,EACf,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC3B,MAAM,6BAA6B,CAAA;AACpC,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,gCAAgC,EACrC,KAAK,kCAAkC,EACvC,KAAK,oCAAoC,EAC1C,MAAM,6BAA6B,CAAA;AACpC,OAAO,EACL,aAAa,EACb,8BAA8B,EAC9B,0BAA0B,EAC1B,kBAAkB,EAClB,KAAK,kCAAkC,EACxC,MAAM,iCAAiC,CAAA;AACxC,OAAO,EACL,UAAU,EACV,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,EAC7B,MAAM,8BAA8B,CAAA"}
|
package/dist/esm/index.js
CHANGED
|
@@ -2,7 +2,7 @@ export { IamCollectClient, InMemoryCacheProvider, NoCacheProvider } from './coll
|
|
|
2
2
|
export { getCollectClient, loadCollectConfigs } from './collect/collect.js';
|
|
3
3
|
export { principalCan } from './principalCan/principalCan.js';
|
|
4
4
|
export { makePrincipalIndex } from './principalIndex/makePrincipalIndex.js';
|
|
5
|
-
export { simulateRequest, simulateAnonymousRequest, simulateExternalPrincipalRequest, simulateVirtualPrincipal, simulateExternalResourceRequest } from './simulate/simulate.js';
|
|
5
|
+
export { simulateRequest, simulateAnonymousRequest, simulateExternalPrincipalRequest, simulateVirtualPrincipal, simulateExternalResourceRequest, simulateVirtualResourceRequest } from './simulate/simulate.js';
|
|
6
6
|
export { whoCan } from './whoCan/whoCan.js';
|
|
7
7
|
export { WhoCanProcessor } from './whoCan/WhoCanProcessor.js';
|
|
8
8
|
export {} from './whoCan/requestAnalysis.js';
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,eAAe,EAGhB,MAAM,qBAAqB,CAAA;AAS5B,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAGnB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,YAAY,EAA0B,MAAM,gCAAgC,CAAA;AACrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAA;AAE3E,OAAO,EACL,eAAe,EACf,wBAAwB,EACxB,gCAAgC,EAChC,wBAAwB,EACxB,+BAA+B,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,eAAe,EAGhB,MAAM,qBAAqB,CAAA;AAS5B,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAGnB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,YAAY,EAA0B,MAAM,gCAAgC,CAAA;AACrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAA;AAE3E,OAAO,EACL,eAAe,EACf,wBAAwB,EACxB,gCAAgC,EAChC,wBAAwB,EACxB,+BAA+B,EAC/B,8BAA8B,EAO/B,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EACL,MAAM,EAMP,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACL,eAAe,EAOhB,MAAM,6BAA6B,CAAA;AACpC,OAAO,EAMN,MAAM,6BAA6B,CAAA;AACpC,OAAO,EACL,aAAa,EACb,8BAA8B,EAC9B,0BAA0B,EAC1B,kBAAkB,EAEnB,MAAM,iCAAiC,CAAA;AACxC,OAAO,EACL,UAAU,EAKX,MAAM,8BAA8B,CAAA"}
|
|
@@ -43,6 +43,12 @@ export interface SimulationRequest {
|
|
|
43
43
|
* Additional strict context keys to include for the simulation. These will be added to the default strict context keys.
|
|
44
44
|
*/
|
|
45
45
|
additionalStrictContextKeys?: string[];
|
|
46
|
+
/**
|
|
47
|
+
* Caller-provided Discovery-only knowledge constraints. Matching caller
|
|
48
|
+
* constraints override iam-lens-generated constraints case-insensitively;
|
|
49
|
+
* iam-simulate ignores them in Strict mode.
|
|
50
|
+
*/
|
|
51
|
+
discoveryContextKeyConstraints?: DiscoveryContextKeyConstraint[];
|
|
46
52
|
}
|
|
47
53
|
/**
|
|
48
54
|
* An unsigned simulation request against a concrete resource ARN.
|
|
@@ -80,6 +86,13 @@ export interface ExternalResourceSimulationRequest extends Omit<SimulationReques
|
|
|
80
86
|
*/
|
|
81
87
|
resourcePolicy?: Record<string, unknown>;
|
|
82
88
|
}
|
|
89
|
+
/**
|
|
90
|
+
* A simulation request for an uncollected resource whose organization controls should apply.
|
|
91
|
+
*
|
|
92
|
+
* This has the same contract as an external-resource request: a concrete resource ARN and an
|
|
93
|
+
* optional caller-supplied resource or trust policy replace the synthetic allow-all policy.
|
|
94
|
+
*/
|
|
95
|
+
export type VirtualResourceSimulationRequest = ExternalResourceSimulationRequest;
|
|
83
96
|
/**
|
|
84
97
|
* The result of a simulation request, containing the normalized request and evaluation result.
|
|
85
98
|
*/
|
|
@@ -106,7 +119,7 @@ export type InternalSimulationRequest = Omit<SimulationRequest, 'principal'> & {
|
|
|
106
119
|
*/
|
|
107
120
|
inlinePolicy?: Record<string, unknown>;
|
|
108
121
|
/**
|
|
109
|
-
* Caller-supplied external resource or trust policy.
|
|
122
|
+
* Caller-supplied external or virtual resource policy, or trust policy.
|
|
110
123
|
*/
|
|
111
124
|
resourcePolicy?: Record<string, unknown>;
|
|
112
125
|
};
|
|
@@ -184,6 +197,35 @@ export declare function simulateVirtualPrincipal(simulationRequest: VirtualPrinc
|
|
|
184
197
|
* @returns the normalized request and simulation result
|
|
185
198
|
*/
|
|
186
199
|
export declare function simulateExternalResourceRequest(simulationRequest: ExternalResourceSimulationRequest, collectClient: IamCollectClient): Promise<SimulateRequestResult>;
|
|
200
|
+
/**
|
|
201
|
+
* Simulate a collected principal accessing an uncollected resource while applying organization
|
|
202
|
+
* controls for the resource's account.
|
|
203
|
+
*
|
|
204
|
+
* The resource receives the synthetic allow-all resource (or trust) policy of an external resource
|
|
205
|
+
* unless `resourcePolicy` replaces it, and its tags, metadata, and S3 settings are unknown. The RCP
|
|
206
|
+
* hierarchy captured for `resourceAccount`, or the account in `resourceArn` when no account is
|
|
207
|
+
* supplied, still applies. An account outside the collected organization data has none. Wildcard-only
|
|
208
|
+
* actions are unsupported.
|
|
209
|
+
*
|
|
210
|
+
* @param simulationRequest the virtual resource request and optional resource/trust policy
|
|
211
|
+
* @param collectClient the IAM collect client to use for principal-side and organization data access
|
|
212
|
+
* @returns the normalized request and simulation result
|
|
213
|
+
*/
|
|
214
|
+
export declare function simulateVirtualResourceRequest(simulationRequest: VirtualResourceSimulationRequest, collectClient: IamCollectClient): Promise<SimulateRequestResult>;
|
|
215
|
+
/**
|
|
216
|
+
* Merge iam-lens-generated and caller-provided Discovery constraints.
|
|
217
|
+
*
|
|
218
|
+
* Caller constraints replace generated constraints with the same key-name
|
|
219
|
+
* string, compared case-insensitively. Regex patterns are compared as strings;
|
|
220
|
+
* regex-overlap precedence can be added later without changing the public
|
|
221
|
+
* request contract.
|
|
222
|
+
*
|
|
223
|
+
* @param generatedConstraints constraints derived from iam-lens request context
|
|
224
|
+
* @param callerConstraints constraints supplied by the simulation caller
|
|
225
|
+
* @returns caller constraints followed by generated constraints not overridden by callers
|
|
226
|
+
* @internal
|
|
227
|
+
*/
|
|
228
|
+
export declare function mergeDiscoveryContextKeyConstraints(generatedConstraints: DiscoveryContextKeyConstraint[], callerConstraints: DiscoveryContextKeyConstraint[]): DiscoveryContextKeyConstraint[];
|
|
187
229
|
/**
|
|
188
230
|
* Convert an iam-lens context key into an iam-simulate Discovery constraint.
|
|
189
231
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simulate.d.ts","sourceRoot":"","sources":["../../../src/simulate/simulate.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,6BAA6B,EAClC,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EAEzB,KAAK,UAAU,EACf,KAAK,cAAc,EACpB,MAAM,2BAA2B,CAAA;AASlC,OAAO,EAAE,gBAAgB,EAAE,KAAK,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAanF,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAExD,OAAO,EAEL,KAAK,WAAW,EAKjB,MAAM,kBAAkB,CAAA;AAWzB;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,WAAW,EAAE,MAAM,GAAG,SAAS,CAAA;IAE/B;;OAEG;IACH,eAAe,EAAE,MAAM,GAAG,SAAS,CAAA;IAEnC;;OAEG;IACH,MAAM,EAAE,MAAM,CAAA;IAEd;;OAEG;IACH,SAAS,EAAE,MAAM,CAAA;IAEjB;;;OAGG;IACH,iBAAiB,EAAE,WAAW,CAAA;IAE9B;;OAEG;IACH,cAAc,EAAE,cAAc,CAAA;IAE9B;;OAEG;IACH,cAAc,CAAC,EAAE,cAAc,CAAA;IAE/B;;OAEG;IACH,aAAa,CAAC,EAAE,GAAG,CAAA;IAEnB;;OAEG;IACH,2BAA2B,CAAC,EAAE,MAAM,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"simulate.d.ts","sourceRoot":"","sources":["../../../src/simulate/simulate.ts"],"names":[],"mappings":"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"}
|
|
@@ -68,6 +68,23 @@ export async function simulateVirtualPrincipal(simulationRequest, collectClient)
|
|
|
68
68
|
export async function simulateExternalResourceRequest(simulationRequest, collectClient) {
|
|
69
69
|
return simulateRequestInternal({ ...simulationRequest }, 'externalResource', collectClient);
|
|
70
70
|
}
|
|
71
|
+
/**
|
|
72
|
+
* Simulate a collected principal accessing an uncollected resource while applying organization
|
|
73
|
+
* controls for the resource's account.
|
|
74
|
+
*
|
|
75
|
+
* The resource receives the synthetic allow-all resource (or trust) policy of an external resource
|
|
76
|
+
* unless `resourcePolicy` replaces it, and its tags, metadata, and S3 settings are unknown. The RCP
|
|
77
|
+
* hierarchy captured for `resourceAccount`, or the account in `resourceArn` when no account is
|
|
78
|
+
* supplied, still applies. An account outside the collected organization data has none. Wildcard-only
|
|
79
|
+
* actions are unsupported.
|
|
80
|
+
*
|
|
81
|
+
* @param simulationRequest the virtual resource request and optional resource/trust policy
|
|
82
|
+
* @param collectClient the IAM collect client to use for principal-side and organization data access
|
|
83
|
+
* @returns the normalized request and simulation result
|
|
84
|
+
*/
|
|
85
|
+
export async function simulateVirtualResourceRequest(simulationRequest, collectClient) {
|
|
86
|
+
return simulateRequestInternal({ ...simulationRequest }, 'virtualResource', collectClient);
|
|
87
|
+
}
|
|
71
88
|
/**
|
|
72
89
|
* Assemble and run every simulation variant through one policy and context processing path.
|
|
73
90
|
*
|
|
@@ -95,12 +112,17 @@ async function simulateRequestInternal(input, variant, collectClient) {
|
|
|
95
112
|
throw new Error(`Virtual principal ${simulationRequest.principal} must contain an account ID.`);
|
|
96
113
|
}
|
|
97
114
|
if (actionDetails.isWildcardOnly &&
|
|
98
|
-
(variant === 'anonymous' ||
|
|
115
|
+
(variant === 'anonymous' ||
|
|
116
|
+
variant === 'externalPrincipal' ||
|
|
117
|
+
variant === 'externalResource' ||
|
|
118
|
+
variant === 'virtualResource')) {
|
|
99
119
|
const variantName = variant === 'anonymous'
|
|
100
120
|
? 'Anonymous'
|
|
101
121
|
: variant === 'externalPrincipal'
|
|
102
122
|
? 'External principal'
|
|
103
|
-
:
|
|
123
|
+
: variant === 'externalResource'
|
|
124
|
+
? 'External resource'
|
|
125
|
+
: 'Virtual resource';
|
|
104
126
|
throw new Error(`${variantName} simulations do not support wildcard-only actions.`);
|
|
105
127
|
}
|
|
106
128
|
if (variant === 'anonymous' && !simulationRequest.resourceArn) {
|
|
@@ -109,6 +131,16 @@ async function simulateRequestInternal(input, variant, collectClient) {
|
|
|
109
131
|
if (variant === 'externalResource' && !simulationRequest.resourceArn) {
|
|
110
132
|
throw new Error('External resource simulations require a concrete resource ARN.');
|
|
111
133
|
}
|
|
134
|
+
if (variant === 'virtualResource' && !simulationRequest.resourceArn) {
|
|
135
|
+
throw new Error('Virtual resource simulations require a concrete resource ARN.');
|
|
136
|
+
}
|
|
137
|
+
if (variant === 'virtualResource' && !simulationRequest.resourceAccount) {
|
|
138
|
+
const resourceAccount = splitArnParts(simulationRequest.resourceArn).accountId;
|
|
139
|
+
if (!resourceAccount) {
|
|
140
|
+
throw new Error(`Virtual resource ${simulationRequest.resourceArn} must contain an account ID.`);
|
|
141
|
+
}
|
|
142
|
+
simulationRequest.resourceAccount = resourceAccount;
|
|
143
|
+
}
|
|
112
144
|
if (actionDetails.isWildcardOnly) {
|
|
113
145
|
simulationRequest.resourceAccount = splitArnParts(simulationRequest.principal).accountId;
|
|
114
146
|
}
|
|
@@ -121,7 +153,7 @@ async function simulateRequestInternal(input, variant, collectClient) {
|
|
|
121
153
|
if (!simulationRequest.resourceAccount) {
|
|
122
154
|
throw new Error(`Unable to find account ID for resource ${simulationRequest.resourceArn}`);
|
|
123
155
|
}
|
|
124
|
-
const requiresCollectedPrincipal = variant === 'normal' || variant === 'externalResource';
|
|
156
|
+
const requiresCollectedPrincipal = variant === 'normal' || variant === 'externalResource' || variant === 'virtualResource';
|
|
125
157
|
if (requiresCollectedPrincipal) {
|
|
126
158
|
const principalFound = await principalExists(simulationRequest.principal, collectClient);
|
|
127
159
|
if (!principalFound) {
|
|
@@ -142,7 +174,7 @@ async function simulateRequestInternal(input, variant, collectClient) {
|
|
|
142
174
|
const principalArnForContext = simulationRequest.principal
|
|
143
175
|
? await resolvePrincipalArnForContext(collectClient, simulationRequest.principal)
|
|
144
176
|
: undefined;
|
|
145
|
-
const includeResourceMetadata = variant !== 'externalResource';
|
|
177
|
+
const includeResourceMetadata = variant !== 'externalResource' && variant !== 'virtualResource';
|
|
146
178
|
const { contextKeys, resourceTagsAreKnown } = await createContextKeys(collectClient, simulationRequest, service, simulationRequest.customContextKeys, principalArnForContext, { includePrincipalTags: requiresCollectedPrincipal, includeResourceMetadata });
|
|
147
179
|
const vpcEndpointPolicy = await getVpcEndpointPolicy(collectClient, contextKeys);
|
|
148
180
|
request.contextVariables = contextKeys;
|
|
@@ -165,7 +197,8 @@ async function simulateRequestInternal(input, variant, collectClient) {
|
|
|
165
197
|
...strictContextKeys,
|
|
166
198
|
...mutableExistingPrincipalTagKeys
|
|
167
199
|
]);
|
|
168
|
-
const
|
|
200
|
+
const generatedDiscoveryContextKeyConstraints = [...discoveryContextKeyNames].map((keyName) => discoveryConstraintForStrictKey(keyName, simulationRequest, mutableExistingPrincipalTagKeys));
|
|
201
|
+
const discoveryContextKeyConstraints = mergeDiscoveryContextKeyConstraints(generatedDiscoveryContextKeyConstraints, simulationRequest.discoveryContextKeyConstraints ?? []);
|
|
169
202
|
const result = await runSimulation(simulation, {
|
|
170
203
|
simulationMode: simulationRequest.simulationMode,
|
|
171
204
|
discoveryContextKeyConstraints
|
|
@@ -258,6 +291,12 @@ async function resourcePoliciesForVariant(variant, request, service, actionIsWil
|
|
|
258
291
|
resourceControlPolicies: []
|
|
259
292
|
};
|
|
260
293
|
}
|
|
294
|
+
if (variant === 'virtualResource') {
|
|
295
|
+
return {
|
|
296
|
+
resourcePolicy: externalResourcePolicy(request),
|
|
297
|
+
resourceControlPolicies: await getResourceControlPolicies(collectClient, request.action, request.resourceArn, request.resourceAccount, request.principal, actionIsWildcard, principalAccountRcps)
|
|
298
|
+
};
|
|
299
|
+
}
|
|
261
300
|
return getResourcePolicies(collectClient, request.action, service, request.resourceArn, request.resourceAccount, request.principal, actionIsWildcard, principalAccountRcps);
|
|
262
301
|
}
|
|
263
302
|
/**
|
|
@@ -291,7 +330,7 @@ async function applyS3Settings(simulation, request, variant, collectClient) {
|
|
|
291
330
|
if (!request.resourceArn || !isS3BucketOrObjectArn(request.resourceArn)) {
|
|
292
331
|
return;
|
|
293
332
|
}
|
|
294
|
-
if (variant === 'externalResource') {
|
|
333
|
+
if (variant === 'externalResource' || variant === 'virtualResource') {
|
|
295
334
|
simulation.additionalSettings = {
|
|
296
335
|
s3: {
|
|
297
336
|
bucketAbacEnabled: request.s3AbacOverride === 'enabled',
|
|
@@ -458,6 +497,42 @@ function mutableStoredPrincipalTagKeys(capability, contextKeys, customContextKey
|
|
|
458
497
|
return roleSessionCanSetTagKey(capability, tagKey);
|
|
459
498
|
}));
|
|
460
499
|
}
|
|
500
|
+
/**
|
|
501
|
+
* Merge iam-lens-generated and caller-provided Discovery constraints.
|
|
502
|
+
*
|
|
503
|
+
* Caller constraints replace generated constraints with the same key-name
|
|
504
|
+
* string, compared case-insensitively. Regex patterns are compared as strings;
|
|
505
|
+
* regex-overlap precedence can be added later without changing the public
|
|
506
|
+
* request contract.
|
|
507
|
+
*
|
|
508
|
+
* @param generatedConstraints constraints derived from iam-lens request context
|
|
509
|
+
* @param callerConstraints constraints supplied by the simulation caller
|
|
510
|
+
* @returns caller constraints followed by generated constraints not overridden by callers
|
|
511
|
+
* @internal
|
|
512
|
+
*/
|
|
513
|
+
export function mergeDiscoveryContextKeyConstraints(generatedConstraints, callerConstraints) {
|
|
514
|
+
return [
|
|
515
|
+
...callerConstraints,
|
|
516
|
+
...generatedConstraints.filter((generatedConstraint) => {
|
|
517
|
+
return !callerConstraints.some((callerConstraint) => {
|
|
518
|
+
return constraintKeyNamesMatch(callerConstraint.keyName, generatedConstraint.keyName);
|
|
519
|
+
});
|
|
520
|
+
})
|
|
521
|
+
];
|
|
522
|
+
}
|
|
523
|
+
/**
|
|
524
|
+
* Determine whether caller and generated constraint key names match.
|
|
525
|
+
*
|
|
526
|
+
* The comparison is intentionally lexical: literal names and slash-delimited
|
|
527
|
+
* regex patterns are both compared as strings with case-insensitive matching.
|
|
528
|
+
*
|
|
529
|
+
* @param callerKeyName caller-provided literal key name or slash-delimited regex pattern
|
|
530
|
+
* @param generatedKeyName iam-lens-generated literal key name or slash-delimited regex pattern
|
|
531
|
+
* @returns whether the caller constraint overrides the generated constraint
|
|
532
|
+
*/
|
|
533
|
+
function constraintKeyNamesMatch(callerKeyName, generatedKeyName) {
|
|
534
|
+
return callerKeyName.localeCompare(generatedKeyName, undefined, { sensitivity: 'base' }) === 0;
|
|
535
|
+
}
|
|
461
536
|
/**
|
|
462
537
|
* Convert an iam-lens context key into an iam-simulate Discovery constraint.
|
|
463
538
|
*
|
|
@@ -529,6 +604,34 @@ async function getResourcePolicies(collectClient, action, service, resourceArn,
|
|
|
529
604
|
const resourcePolicy = resourceArn
|
|
530
605
|
? await getResourcePolicyForResource(collectClient, resourceArn, resourceAccount)
|
|
531
606
|
: undefined;
|
|
607
|
+
const resourceControlPolicies = await getResourceControlPolicies(collectClient, action, resourceArn, resourceAccount, principalArn, actionIsWildcard, principalAccountRcps);
|
|
608
|
+
if (AssumeRoleActions.has(action.toLowerCase()) && !resourcePolicy) {
|
|
609
|
+
throw new Error(`Trust policy not found for resource ${resourceArn}. sts assume role actions require a trust policy.`);
|
|
610
|
+
}
|
|
611
|
+
const useResourcePolicy = resourceArn !== undefined && !(isIamRoleArn(resourceArn) && service.toLowerCase() === 'iam');
|
|
612
|
+
return {
|
|
613
|
+
resourcePolicy: useResourcePolicy ? resourcePolicy : undefined,
|
|
614
|
+
resourceControlPolicies
|
|
615
|
+
};
|
|
616
|
+
}
|
|
617
|
+
/**
|
|
618
|
+
* Retrieve the RCP hierarchies applicable to a request from the resource account's organization
|
|
619
|
+
* placement, or from the principal account for a wildcard-only action.
|
|
620
|
+
*
|
|
621
|
+
* This applies the non-variant RCP rules for wildcard-only actions, service-linked roles,
|
|
622
|
+
* `kms:RetireGrant`, AWS-managed KMS keys, and the implicit full-access RCP. An account outside the
|
|
623
|
+
* collected organization data has no RCPs.
|
|
624
|
+
*
|
|
625
|
+
* @param collectClient the data client
|
|
626
|
+
* @param action the action being simulated
|
|
627
|
+
* @param resourceArn the resource ARN
|
|
628
|
+
* @param resourceAccount the resource account
|
|
629
|
+
* @param principalArn the authenticated principal ARN, when present
|
|
630
|
+
* @param actionIsWildcard whether the action uses the account-wide wildcard resource
|
|
631
|
+
* @param principalAccountRcps RCP hierarchy for the principal account
|
|
632
|
+
* @returns the filtered RCP hierarchies applicable to the request
|
|
633
|
+
*/
|
|
634
|
+
async function getResourceControlPolicies(collectClient, action, resourceArn, resourceAccount, principalArn, actionIsWildcard, principalAccountRcps) {
|
|
532
635
|
// AWS does not apply RCPs when a service principal assumes a service-linked role.
|
|
533
636
|
const servicePrincipalAssumesServiceLinkedRole = principalArn !== undefined &&
|
|
534
637
|
resourceArn !== undefined &&
|
|
@@ -552,17 +655,10 @@ async function getResourcePolicies(collectClient, action, service, resourceArn,
|
|
|
552
655
|
: actionIsWildcard
|
|
553
656
|
? principalAccountRcps
|
|
554
657
|
: resourceRcps;
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
return {
|
|
560
|
-
resourcePolicy: useResourcePolicy ? resourcePolicy : undefined,
|
|
561
|
-
resourceControlPolicies: applicableRcps.map((rcp) => ({
|
|
562
|
-
orgIdentifier: rcp.orgIdentifier,
|
|
563
|
-
policies: rcp.policies.filter((policy) => !policy.name.toLowerCase().endsWith('rcpfullawsaccess'))
|
|
564
|
-
}))
|
|
565
|
-
};
|
|
658
|
+
return applicableRcps.map((rcp) => ({
|
|
659
|
+
orgIdentifier: rcp.orgIdentifier,
|
|
660
|
+
policies: rcp.policies.filter((policy) => !policy.name.toLowerCase().endsWith('rcpfullawsaccess'))
|
|
661
|
+
}));
|
|
566
662
|
}
|
|
567
663
|
/**
|
|
568
664
|
* Resolve the canonical role ARN used for role-backed context keys.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simulate.js","sourceRoot":"","sources":["../../../src/simulate/simulate.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"simulate.js","sourceRoot":"","sources":["../../../src/simulate/simulate.ts"],"names":[],"mappings":"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"}
|