@actsecurity/iam-lens 0.1.164 → 0.1.166

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.
@@ -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, simulateExternalResourceRequest, type SimulationRequest, type AnonymousSimulationRequest, type ExternalResourceSimulationRequest, type SimulateRequestResult } from './simulate/simulate.js';
7
+ export { simulateRequest, simulateAnonymousRequest, simulateExternalPrincipalRequest, simulateVirtualPrincipal, simulateExternalResourceRequest, type SimulationRequest, type AnonymousSimulationRequest, type VirtualPrincipalSimulationRequest, type ExternalResourceSimulationRequest, 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';
@@ -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,+BAA+B,EAC/B,KAAK,iBAAiB,EACtB,KAAK,0BAA0B,EAC/B,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,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"}
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.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.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; } });
@@ -16,6 +16,7 @@ var simulate_js_1 = require("./simulate/simulate.js");
16
16
  Object.defineProperty(exports, "simulateRequest", { enumerable: true, get: function () { return simulate_js_1.simulateRequest; } });
17
17
  Object.defineProperty(exports, "simulateAnonymousRequest", { enumerable: true, get: function () { return simulate_js_1.simulateAnonymousRequest; } });
18
18
  Object.defineProperty(exports, "simulateExternalPrincipalRequest", { enumerable: true, get: function () { return simulate_js_1.simulateExternalPrincipalRequest; } });
19
+ Object.defineProperty(exports, "simulateVirtualPrincipal", { enumerable: true, get: function () { return simulate_js_1.simulateVirtualPrincipal; } });
19
20
  Object.defineProperty(exports, "simulateExternalResourceRequest", { enumerable: true, get: function () { return simulate_js_1.simulateExternalResourceRequest; } });
20
21
  var whoCan_js_1 = require("./whoCan/whoCan.js");
21
22
  Object.defineProperty(exports, "whoCan", { enumerable: true, get: function () { return whoCan_js_1.whoCan; } });
@@ -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,sDAS+B;AAR7B,8GAAA,eAAe,OAAA;AACf,uHAAA,wBAAwB,OAAA;AACxB,+HAAA,gCAAgC,OAAA;AAChC,8HAAA,+BAA+B,OAAA;AAMjC,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"}
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,sDAW+B;AAV7B,8GAAA,eAAe,OAAA;AACf,uHAAA,wBAAwB,OAAA;AACxB,+HAAA,gCAAgC,OAAA;AAChC,uHAAA,wBAAwB,OAAA;AACxB,8HAAA,+BAA+B,OAAA;AAOjC,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"}
@@ -54,6 +54,18 @@ export interface AnonymousSimulationRequest extends Omit<SimulationRequest, 'pri
54
54
  */
55
55
  resourceArn: string;
56
56
  }
57
+ /**
58
+ * A simulation request for a principal ARN that is not collected as an IAM identity.
59
+ *
60
+ * The principal's captured organization policy hierarchies still apply. Its identity policies
61
+ * and permission boundary are replaced by one synthetic allow-all policy or `inlinePolicy`.
62
+ */
63
+ export interface VirtualPrincipalSimulationRequest extends SimulationRequest {
64
+ /**
65
+ * Raw inline identity policy that replaces the default synthetic allow-all policy.
66
+ */
67
+ inlinePolicy?: Record<string, unknown>;
68
+ }
57
69
  /**
58
70
  * A simulation request targeting a resource that is not expected to exist in the collected dataset.
59
71
  */
@@ -89,6 +101,10 @@ export type InternalSimulationRequest = Omit<SimulationRequest, 'principal'> & {
89
101
  * Authenticated principal string, or undefined for an anonymous request.
90
102
  */
91
103
  principal: string | undefined;
104
+ /**
105
+ * Caller-supplied inline identity policy for a virtual principal.
106
+ */
107
+ inlinePolicy?: Record<string, unknown>;
92
108
  /**
93
109
  * Caller-supplied external resource or trust policy.
94
110
  */
@@ -147,6 +163,18 @@ export declare function simulateAnonymousRequest(simulationRequest: AnonymousSim
147
163
  * @returns the normalized request and simulation result
148
164
  */
149
165
  export declare function simulateExternalPrincipalRequest(simulationRequest: SimulationRequest, collectClient: IamCollectClient): Promise<SimulateRequestResult>;
166
+ /**
167
+ * Simulate an uncollected IAM principal while applying organization controls for its account.
168
+ *
169
+ * The principal receives a synthetic allow-all identity policy unless `inlinePolicy` replaces it.
170
+ * Permission boundaries and collected identity policies do not apply; supplied session policies still
171
+ * constrain the request.
172
+ *
173
+ * @param simulationRequest the virtual principal request details
174
+ * @param collectClient the IAM collect client to use for organization and resource-side data access
175
+ * @returns the normalized request and simulation result
176
+ */
177
+ export declare function simulateVirtualPrincipal(simulationRequest: VirtualPrincipalSimulationRequest, collectClient: IamCollectClient): Promise<SimulateRequestResult>;
150
178
  /**
151
179
  * Simulate a collected principal accessing a resource outside the collected dataset.
152
180
  * Wildcard-only actions are unsupported.
@@ -1 +1 @@
1
- {"version":3,"file":"simulate.d.ts","sourceRoot":"","sources":["../../../src/simulate/simulate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"simulate.d.ts","sourceRoot":"","sources":["../../../src/simulate/simulate.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.simulateRequest = simulateRequest;
4
4
  exports.simulateAnonymousRequest = simulateAnonymousRequest;
5
5
  exports.simulateExternalPrincipalRequest = simulateExternalPrincipalRequest;
6
+ exports.simulateVirtualPrincipal = simulateVirtualPrincipal;
6
7
  exports.simulateExternalResourceRequest = simulateExternalResourceRequest;
7
8
  exports.discoveryConstraintForStrictKey = discoveryConstraintForStrictKey;
8
9
  exports.resultMatchesExpectation = resultMatchesExpectation;
@@ -47,6 +48,20 @@ async function simulateAnonymousRequest(simulationRequest, collectClient) {
47
48
  async function simulateExternalPrincipalRequest(simulationRequest, collectClient) {
48
49
  return simulateRequestInternal({ ...simulationRequest }, 'externalPrincipal', collectClient);
49
50
  }
51
+ /**
52
+ * Simulate an uncollected IAM principal while applying organization controls for its account.
53
+ *
54
+ * The principal receives a synthetic allow-all identity policy unless `inlinePolicy` replaces it.
55
+ * Permission boundaries and collected identity policies do not apply; supplied session policies still
56
+ * constrain the request.
57
+ *
58
+ * @param simulationRequest the virtual principal request details
59
+ * @param collectClient the IAM collect client to use for organization and resource-side data access
60
+ * @returns the normalized request and simulation result
61
+ */
62
+ async function simulateVirtualPrincipal(simulationRequest, collectClient) {
63
+ return simulateRequestInternal({ ...simulationRequest }, 'virtualPrincipal', collectClient);
64
+ }
50
65
  /**
51
66
  * Simulate a collected principal accessing a resource outside the collected dataset.
52
67
  * Wildcard-only actions are unsupported.
@@ -81,7 +96,11 @@ async function simulateRequestInternal(input, variant, collectClient) {
81
96
  throw new Error(`Unable to find action details for ${simulationRequest.action}`);
82
97
  }
83
98
  const actionDetails = await (0, iam_data_1.iamActionDetails)(service, serviceAction);
84
- if (actionDetails.isWildcardOnly && variant !== 'normal') {
99
+ if (variant === 'virtualPrincipal' && !(0, iam_utils_1.splitArnParts)(simulationRequest.principal).accountId) {
100
+ throw new Error(`Virtual principal ${simulationRequest.principal} must contain an account ID.`);
101
+ }
102
+ if (actionDetails.isWildcardOnly &&
103
+ (variant === 'anonymous' || variant === 'externalPrincipal' || variant === 'externalResource')) {
85
104
  const variantName = variant === 'anonymous'
86
105
  ? 'Anonymous'
87
106
  : variant === 'externalPrincipal'
@@ -155,8 +174,9 @@ async function simulateRequestInternal(input, variant, collectClient) {
155
174
  * Build all principal-side policy inputs for the selected simulation variant.
156
175
  *
157
176
  * Collected-principal variants prepare collected identity policies, SCPs, and permission
158
- * boundaries. External principals receive only a synthetic administrator identity policy, while
159
- * anonymous requests receive no principal-side policies.
177
+ * boundaries. External principals receive only a synthetic administrator identity policy, virtual
178
+ * principals receive a synthetic or caller-provided identity policy plus captured organization
179
+ * policies, and anonymous requests receive no principal-side policies.
160
180
  *
161
181
  * @param variant the simulation policy-source variant
162
182
  * @param request the normalized request
@@ -174,6 +194,26 @@ async function principalPoliciesForVariant(variant, request, collectClient) {
174
194
  };
175
195
  }
176
196
  const principalArn = request.principal;
197
+ if (variant === 'virtualPrincipal') {
198
+ const accountId = (0, iam_utils_1.splitArnParts)(principalArn).accountId;
199
+ if (!accountId) {
200
+ throw new Error(`Virtual principal ${principalArn} must contain an account ID.`);
201
+ }
202
+ const [serviceControlPolicies, principalAccountRcps] = await Promise.all([
203
+ collectClient.getScpHierarchyForAccount(accountId),
204
+ collectClient.getRcpHierarchyForAccount(accountId)
205
+ ]);
206
+ return {
207
+ identityPolicies: [
208
+ request.inlinePolicy
209
+ ? { name: 'iam-lens:virtual-inline-policy', policy: request.inlinePolicy }
210
+ : generatedPolicies_js_1.syntheticIdentityPolicy
211
+ ],
212
+ serviceControlPolicies,
213
+ permissionBoundaryPolicies: undefined,
214
+ principalAccountRcps
215
+ };
216
+ }
177
217
  const collectedPolicies = await (0, principals_js_1.getAllPoliciesForPrincipal)(collectClient, principalArn);
178
218
  return {
179
219
  identityPolicies: prepareIdentityPolicies(principalArn, collectedPolicies),
@@ -384,8 +424,14 @@ async function getResourcePolicies(collectClient, action, service, resourceArn,
384
424
  const resourcePolicy = resourceArn
385
425
  ? await (0, resources_js_1.getResourcePolicyForResource)(collectClient, resourceArn, resourceAccount)
386
426
  : undefined;
427
+ // AWS does not apply RCPs when a service principal assumes a service-linked role.
428
+ const servicePrincipalAssumesServiceLinkedRole = principalArn !== undefined &&
429
+ resourceArn !== undefined &&
430
+ (0, principals_js_1.isServicePrincipal)(principalArn) &&
431
+ (0, principals_js_1.isServiceLinkedRole)(resourceArn);
387
432
  let resourceRcps = [];
388
433
  if (resourceArn &&
434
+ !servicePrincipalAssumesServiceLinkedRole &&
389
435
  action.localeCompare(kmsRetireGrantAction, undefined, { sensitivity: 'base' }) !== 0) {
390
436
  const resourceArnParts = (0, iam_utils_1.splitArnParts)(resourceArn);
391
437
  const isAwsManagedKmsKey = resourceArnParts.service === 'kms' &&
@@ -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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"}
@@ -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, simulateExternalResourceRequest, type SimulationRequest, type AnonymousSimulationRequest, type ExternalResourceSimulationRequest, type SimulateRequestResult } from './simulate/simulate.js';
7
+ export { simulateRequest, simulateAnonymousRequest, simulateExternalPrincipalRequest, simulateVirtualPrincipal, simulateExternalResourceRequest, type SimulationRequest, type AnonymousSimulationRequest, type VirtualPrincipalSimulationRequest, type ExternalResourceSimulationRequest, 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';
@@ -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,+BAA+B,EAC/B,KAAK,iBAAiB,EACtB,KAAK,0BAA0B,EAC/B,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,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"}
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, simulateExternalResourceRequest } from './simulate/simulate.js';
5
+ export { simulateRequest, simulateAnonymousRequest, simulateExternalPrincipalRequest, simulateVirtualPrincipal, simulateExternalResourceRequest } 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';
@@ -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,+BAA+B,EAKhC,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"}
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,EAMhC,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"}
@@ -54,6 +54,18 @@ export interface AnonymousSimulationRequest extends Omit<SimulationRequest, 'pri
54
54
  */
55
55
  resourceArn: string;
56
56
  }
57
+ /**
58
+ * A simulation request for a principal ARN that is not collected as an IAM identity.
59
+ *
60
+ * The principal's captured organization policy hierarchies still apply. Its identity policies
61
+ * and permission boundary are replaced by one synthetic allow-all policy or `inlinePolicy`.
62
+ */
63
+ export interface VirtualPrincipalSimulationRequest extends SimulationRequest {
64
+ /**
65
+ * Raw inline identity policy that replaces the default synthetic allow-all policy.
66
+ */
67
+ inlinePolicy?: Record<string, unknown>;
68
+ }
57
69
  /**
58
70
  * A simulation request targeting a resource that is not expected to exist in the collected dataset.
59
71
  */
@@ -89,6 +101,10 @@ export type InternalSimulationRequest = Omit<SimulationRequest, 'principal'> & {
89
101
  * Authenticated principal string, or undefined for an anonymous request.
90
102
  */
91
103
  principal: string | undefined;
104
+ /**
105
+ * Caller-supplied inline identity policy for a virtual principal.
106
+ */
107
+ inlinePolicy?: Record<string, unknown>;
92
108
  /**
93
109
  * Caller-supplied external resource or trust policy.
94
110
  */
@@ -147,6 +163,18 @@ export declare function simulateAnonymousRequest(simulationRequest: AnonymousSim
147
163
  * @returns the normalized request and simulation result
148
164
  */
149
165
  export declare function simulateExternalPrincipalRequest(simulationRequest: SimulationRequest, collectClient: IamCollectClient): Promise<SimulateRequestResult>;
166
+ /**
167
+ * Simulate an uncollected IAM principal while applying organization controls for its account.
168
+ *
169
+ * The principal receives a synthetic allow-all identity policy unless `inlinePolicy` replaces it.
170
+ * Permission boundaries and collected identity policies do not apply; supplied session policies still
171
+ * constrain the request.
172
+ *
173
+ * @param simulationRequest the virtual principal request details
174
+ * @param collectClient the IAM collect client to use for organization and resource-side data access
175
+ * @returns the normalized request and simulation result
176
+ */
177
+ export declare function simulateVirtualPrincipal(simulationRequest: VirtualPrincipalSimulationRequest, collectClient: IamCollectClient): Promise<SimulateRequestResult>;
150
178
  /**
151
179
  * Simulate a collected principal accessing a resource outside the collected dataset.
152
180
  * Wildcard-only actions are unsupported.
@@ -1 +1 @@
1
- {"version":3,"file":"simulate.d.ts","sourceRoot":"","sources":["../../../src/simulate/simulate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"simulate.d.ts","sourceRoot":"","sources":["../../../src/simulate/simulate.ts"],"names":[],"mappings":"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"}
@@ -42,6 +42,20 @@ export async function simulateAnonymousRequest(simulationRequest, collectClient)
42
42
  export async function simulateExternalPrincipalRequest(simulationRequest, collectClient) {
43
43
  return simulateRequestInternal({ ...simulationRequest }, 'externalPrincipal', collectClient);
44
44
  }
45
+ /**
46
+ * Simulate an uncollected IAM principal while applying organization controls for its account.
47
+ *
48
+ * The principal receives a synthetic allow-all identity policy unless `inlinePolicy` replaces it.
49
+ * Permission boundaries and collected identity policies do not apply; supplied session policies still
50
+ * constrain the request.
51
+ *
52
+ * @param simulationRequest the virtual principal request details
53
+ * @param collectClient the IAM collect client to use for organization and resource-side data access
54
+ * @returns the normalized request and simulation result
55
+ */
56
+ export async function simulateVirtualPrincipal(simulationRequest, collectClient) {
57
+ return simulateRequestInternal({ ...simulationRequest }, 'virtualPrincipal', collectClient);
58
+ }
45
59
  /**
46
60
  * Simulate a collected principal accessing a resource outside the collected dataset.
47
61
  * Wildcard-only actions are unsupported.
@@ -76,7 +90,11 @@ async function simulateRequestInternal(input, variant, collectClient) {
76
90
  throw new Error(`Unable to find action details for ${simulationRequest.action}`);
77
91
  }
78
92
  const actionDetails = await iamActionDetails(service, serviceAction);
79
- if (actionDetails.isWildcardOnly && variant !== 'normal') {
93
+ if (variant === 'virtualPrincipal' && !splitArnParts(simulationRequest.principal).accountId) {
94
+ throw new Error(`Virtual principal ${simulationRequest.principal} must contain an account ID.`);
95
+ }
96
+ if (actionDetails.isWildcardOnly &&
97
+ (variant === 'anonymous' || variant === 'externalPrincipal' || variant === 'externalResource')) {
80
98
  const variantName = variant === 'anonymous'
81
99
  ? 'Anonymous'
82
100
  : variant === 'externalPrincipal'
@@ -150,8 +168,9 @@ async function simulateRequestInternal(input, variant, collectClient) {
150
168
  * Build all principal-side policy inputs for the selected simulation variant.
151
169
  *
152
170
  * Collected-principal variants prepare collected identity policies, SCPs, and permission
153
- * boundaries. External principals receive only a synthetic administrator identity policy, while
154
- * anonymous requests receive no principal-side policies.
171
+ * boundaries. External principals receive only a synthetic administrator identity policy, virtual
172
+ * principals receive a synthetic or caller-provided identity policy plus captured organization
173
+ * policies, and anonymous requests receive no principal-side policies.
155
174
  *
156
175
  * @param variant the simulation policy-source variant
157
176
  * @param request the normalized request
@@ -169,6 +188,26 @@ async function principalPoliciesForVariant(variant, request, collectClient) {
169
188
  };
170
189
  }
171
190
  const principalArn = request.principal;
191
+ if (variant === 'virtualPrincipal') {
192
+ const accountId = splitArnParts(principalArn).accountId;
193
+ if (!accountId) {
194
+ throw new Error(`Virtual principal ${principalArn} must contain an account ID.`);
195
+ }
196
+ const [serviceControlPolicies, principalAccountRcps] = await Promise.all([
197
+ collectClient.getScpHierarchyForAccount(accountId),
198
+ collectClient.getRcpHierarchyForAccount(accountId)
199
+ ]);
200
+ return {
201
+ identityPolicies: [
202
+ request.inlinePolicy
203
+ ? { name: 'iam-lens:virtual-inline-policy', policy: request.inlinePolicy }
204
+ : syntheticIdentityPolicy
205
+ ],
206
+ serviceControlPolicies,
207
+ permissionBoundaryPolicies: undefined,
208
+ principalAccountRcps
209
+ };
210
+ }
172
211
  const collectedPolicies = await getAllPoliciesForPrincipal(collectClient, principalArn);
173
212
  return {
174
213
  identityPolicies: prepareIdentityPolicies(principalArn, collectedPolicies),
@@ -379,8 +418,14 @@ async function getResourcePolicies(collectClient, action, service, resourceArn,
379
418
  const resourcePolicy = resourceArn
380
419
  ? await getResourcePolicyForResource(collectClient, resourceArn, resourceAccount)
381
420
  : undefined;
421
+ // AWS does not apply RCPs when a service principal assumes a service-linked role.
422
+ const servicePrincipalAssumesServiceLinkedRole = principalArn !== undefined &&
423
+ resourceArn !== undefined &&
424
+ isServicePrincipal(principalArn) &&
425
+ isServiceLinkedRole(resourceArn);
382
426
  let resourceRcps = [];
383
427
  if (resourceArn &&
428
+ !servicePrincipalAssumesServiceLinkedRole &&
384
429
  action.localeCompare(kmsRetireGrantAction, undefined, { sensitivity: 'base' }) !== 0) {
385
430
  const resourceArnParts = splitArnParts(resourceArn);
386
431
  const isAwsManagedKmsKey = resourceArnParts.service === 'kms' &&
@@ -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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@actsecurity/iam-lens",
3
- "version": "0.1.164",
3
+ "version": "0.1.166",
4
4
  "description": "Visibility in IAM in and across AWS accounts",
5
5
  "keywords": [
6
6
  "aws",