@cloud-copilot/iam-lens 0.1.3 → 0.1.5
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/cli.d.ts +3 -0
- package/dist/cjs/cli.d.ts.map +1 -0
- package/dist/cjs/cli.js +113 -0
- package/dist/cjs/cli.js.map +1 -0
- package/dist/cjs/collect/client.d.ts +33 -0
- package/dist/cjs/collect/client.d.ts.map +1 -1
- package/dist/cjs/collect/client.js +58 -71
- package/dist/cjs/collect/client.js.map +1 -1
- package/dist/cjs/collect/inMemoryClient.d.ts +6 -0
- package/dist/cjs/collect/inMemoryClient.d.ts.map +1 -0
- package/dist/cjs/collect/inMemoryClient.js +11 -0
- package/dist/cjs/collect/inMemoryClient.js.map +1 -0
- package/dist/cjs/contextKeys.d.ts +5 -0
- package/dist/cjs/contextKeys.d.ts.map +1 -0
- package/dist/cjs/contextKeys.js +111 -0
- package/dist/cjs/contextKeys.js.map +1 -0
- package/dist/cjs/principals.d.ts +19 -20
- package/dist/cjs/principals.d.ts.map +1 -1
- package/dist/cjs/principals.js +44 -7
- package/dist/cjs/principals.js.map +1 -1
- package/dist/cjs/resources.d.ts +1 -0
- package/dist/cjs/resources.d.ts.map +1 -1
- package/dist/cjs/resources.js +20 -2
- package/dist/cjs/resources.js.map +1 -1
- package/dist/cjs/simulate.d.ts +11 -0
- package/dist/cjs/simulate.d.ts.map +1 -0
- package/dist/cjs/simulate.js +121 -0
- package/dist/cjs/simulate.js.map +1 -0
- package/dist/esm/cli.d.ts +3 -0
- package/dist/esm/cli.d.ts.map +1 -0
- package/dist/esm/cli.js +111 -0
- package/dist/esm/cli.js.map +1 -0
- package/dist/esm/collect/client.d.ts +33 -0
- package/dist/esm/collect/client.d.ts.map +1 -1
- package/dist/esm/collect/client.js +47 -60
- package/dist/esm/collect/client.js.map +1 -1
- package/dist/esm/collect/inMemoryClient.d.ts +6 -0
- package/dist/esm/collect/inMemoryClient.d.ts.map +1 -0
- package/dist/esm/collect/inMemoryClient.js +8 -0
- package/dist/esm/collect/inMemoryClient.js.map +1 -0
- package/dist/esm/contextKeys.d.ts +5 -0
- package/dist/esm/contextKeys.d.ts.map +1 -0
- package/dist/esm/contextKeys.js +108 -0
- package/dist/esm/contextKeys.js.map +1 -0
- package/dist/esm/principals.d.ts +19 -20
- package/dist/esm/principals.d.ts.map +1 -1
- package/dist/esm/principals.js +37 -4
- package/dist/esm/principals.js.map +1 -1
- package/dist/esm/resources.d.ts +1 -0
- package/dist/esm/resources.d.ts.map +1 -1
- package/dist/esm/resources.js +18 -1
- package/dist/esm/resources.js.map +1 -1
- package/dist/esm/simulate.d.ts +11 -0
- package/dist/esm/simulate.d.ts.map +1 -0
- package/dist/esm/simulate.js +118 -0
- package/dist/esm/simulate.js.map +1 -0
- package/package.json +8 -2
- package/dist/cjs/util/arn.d.ts +0 -26
- package/dist/cjs/util/arn.d.ts.map +0 -1
- package/dist/cjs/util/arn.js +0 -68
- package/dist/cjs/util/arn.js.map +0 -1
- package/dist/esm/util/arn.d.ts +0 -26
- package/dist/esm/util/arn.d.ts.map +0 -1
- package/dist/esm/util/arn.js +0 -64
- package/dist/esm/util/arn.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":""}
|
package/dist/cjs/cli.js
ADDED
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
const cli_1 = require("@cloud-copilot/cli");
|
|
5
|
+
const collect_js_1 = require("./collect/collect.js");
|
|
6
|
+
const simulate_js_1 = require("./simulate.js");
|
|
7
|
+
const main = async () => {
|
|
8
|
+
// const version = await iamLensVersion()
|
|
9
|
+
const cli = (0, cli_1.parseCliArguments)('iam-lens', {
|
|
10
|
+
simulate: {
|
|
11
|
+
description: 'Simulate an IAM request',
|
|
12
|
+
options: {
|
|
13
|
+
principal: {
|
|
14
|
+
type: 'string',
|
|
15
|
+
values: 'single',
|
|
16
|
+
description: 'The principal to simulate. Can be a user, role, session, or AWS service'
|
|
17
|
+
},
|
|
18
|
+
resource: {
|
|
19
|
+
type: 'string',
|
|
20
|
+
values: 'single',
|
|
21
|
+
description: 'The ARN of the resource to simulate access to. Ignore for wildcard actions'
|
|
22
|
+
},
|
|
23
|
+
resourceAccountId: {
|
|
24
|
+
type: 'string',
|
|
25
|
+
values: 'single',
|
|
26
|
+
description: 'The account ID of the resource, only required if it cannot be determined from the resource ARN. Ignore for wildcard actions'
|
|
27
|
+
},
|
|
28
|
+
action: {
|
|
29
|
+
type: 'string',
|
|
30
|
+
values: 'single',
|
|
31
|
+
description: 'The action to simulate; must be a valid IAM service and action such as `s3:GetObject`'
|
|
32
|
+
},
|
|
33
|
+
context: {
|
|
34
|
+
type: 'string',
|
|
35
|
+
values: 'multiple',
|
|
36
|
+
description: 'The context keys to use for the simulation. Keys are formatted as key=value. Multiple values can be separated by commas (key=value1,value2,value3)'
|
|
37
|
+
},
|
|
38
|
+
verbose: {
|
|
39
|
+
type: 'boolean',
|
|
40
|
+
description: 'Enable verbose output for the simulation',
|
|
41
|
+
character: 'v'
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}, {
|
|
46
|
+
collectConfigs: {
|
|
47
|
+
type: 'string',
|
|
48
|
+
description: 'The iam-collect configuration files to use',
|
|
49
|
+
values: 'multiple'
|
|
50
|
+
},
|
|
51
|
+
partition: {
|
|
52
|
+
type: 'string',
|
|
53
|
+
description: 'The AWS partition to use (aws, aws-cn, aws-us-gov). Defaults to aws.',
|
|
54
|
+
values: 'single'
|
|
55
|
+
}
|
|
56
|
+
}, {
|
|
57
|
+
envPrefix: 'IAM_LENS',
|
|
58
|
+
showHelpIfNoArgs: true,
|
|
59
|
+
requireSubcommand: true
|
|
60
|
+
// version: version
|
|
61
|
+
});
|
|
62
|
+
if (cli.args.collectConfigs.length === 0) {
|
|
63
|
+
cli.args.collectConfigs.push('./iam-collect.jsonc');
|
|
64
|
+
}
|
|
65
|
+
const thePartition = cli.args.partition || 'aws';
|
|
66
|
+
if (cli.subcommand === 'simulate') {
|
|
67
|
+
const collectConfigs = await (0, collect_js_1.loadCollectConfigs)(cli.args.collectConfigs);
|
|
68
|
+
const collectClient = (0, collect_js_1.getCollectClient)(collectConfigs, thePartition);
|
|
69
|
+
const { principal, resource, resourceAccountId, action, context } = cli.args;
|
|
70
|
+
const contextKeys = convertContextKeysToMap(context);
|
|
71
|
+
const result = await (0, simulate_js_1.simulateRequest)({
|
|
72
|
+
principal: principal,
|
|
73
|
+
resourceArn: resource,
|
|
74
|
+
resourceAccount: resourceAccountId,
|
|
75
|
+
action: action,
|
|
76
|
+
customContextKeys: contextKeys
|
|
77
|
+
}, collectClient);
|
|
78
|
+
console.log(`Simulation Result: ${result.analysis?.result}`);
|
|
79
|
+
if (cli.args.verbose) {
|
|
80
|
+
console.log(JSON.stringify(result, null, 2));
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
};
|
|
84
|
+
main()
|
|
85
|
+
.catch((e) => {
|
|
86
|
+
console.error(e);
|
|
87
|
+
process.exit(1);
|
|
88
|
+
})
|
|
89
|
+
.then(() => { })
|
|
90
|
+
.finally(() => { });
|
|
91
|
+
/**
|
|
92
|
+
* Convert the context keys from the CLI arguments into a map.
|
|
93
|
+
*
|
|
94
|
+
* @param contextKeys the context keys from the CLI arguments, formatted as key=value1,value2,...
|
|
95
|
+
* @returns a map of context keys where each key is associated with a single value or an array of values
|
|
96
|
+
*/
|
|
97
|
+
function convertContextKeysToMap(contextKeys) {
|
|
98
|
+
const contextMap = {};
|
|
99
|
+
for (const key of contextKeys) {
|
|
100
|
+
const [keyName, value] = key.split('=');
|
|
101
|
+
if (value) {
|
|
102
|
+
const values = value.split(',');
|
|
103
|
+
if (values.length > 1) {
|
|
104
|
+
contextMap[keyName] = values;
|
|
105
|
+
}
|
|
106
|
+
else {
|
|
107
|
+
contextMap[keyName] = values[0];
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
return contextMap;
|
|
112
|
+
}
|
|
113
|
+
//# sourceMappingURL=cli.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -233,6 +233,39 @@ export declare class IamCollectClient {
|
|
|
233
233
|
* @returns the metadata for the organization
|
|
234
234
|
*/
|
|
235
235
|
getOrganizationMetadata(organizationId: string): Promise<OrganizationMetadata>;
|
|
236
|
+
/**
|
|
237
|
+
* Gets the resource policy for a given resource ARN and account.
|
|
238
|
+
*
|
|
239
|
+
* @param resourceArn The ARN of the resource.
|
|
240
|
+
* @param accountId The ID of the account.
|
|
241
|
+
* @returns The resource policy, or undefined if not found.
|
|
242
|
+
*/
|
|
243
|
+
getResourcePolicyForArn(resourceArn: string, accountId: string): Promise<any | undefined>;
|
|
244
|
+
/**
|
|
245
|
+
* Gets the RAM share policy for a given resource ARN and account.
|
|
246
|
+
*
|
|
247
|
+
* @param resourceArn The ARN of the resource.
|
|
248
|
+
* @param accountId The ID of the account.
|
|
249
|
+
* @returns The RAM share policy, or undefined if not found.
|
|
250
|
+
*/
|
|
251
|
+
getRamSharePolicyForArn(resourceArn: string, accountId: string): Promise<any | undefined>;
|
|
252
|
+
/**
|
|
253
|
+
* Gets the tags for a given resource ARN and account.
|
|
254
|
+
*
|
|
255
|
+
* @param resourceArn The ARN of the resource.
|
|
256
|
+
* @param accountId The ID of the account.
|
|
257
|
+
* @returns The tags as a record, or undefined if not found.
|
|
258
|
+
*/
|
|
259
|
+
getTagsForResource(resourceArn: string, accountId: string): Promise<Record<string, string>>;
|
|
260
|
+
/**
|
|
261
|
+
* Gets a unique ID for an IAM resource based on its ARN and account ID.
|
|
262
|
+
* Used specifically for IAM Users and Roles
|
|
263
|
+
*
|
|
264
|
+
* @param resourceArn the ARN of the IAM resource
|
|
265
|
+
* @param accountId the ID of the account the resource belongs to
|
|
266
|
+
* @returns a unique ID for the resource, or undefined if not found
|
|
267
|
+
*/
|
|
268
|
+
getUniqueIdForIamResource(resourceArn: string): Promise<string | undefined>;
|
|
236
269
|
}
|
|
237
270
|
export {};
|
|
238
271
|
//# sourceMappingURL=client.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/collect/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAIxD,MAAM,WAAW,qBAAqB;IACpC,aAAa,EAAE,MAAM,CAAA;IACrB,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,GAAG,CAAA;KAAE,EAAE,CAAA;CAC1C;AAED,UAAU,eAAe;IACvB,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,kBAAkB,EAAE,MAAM,CAAA;IAC1B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;CAChB;AAOD,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,GAAG,CAAA;CACZ;AAOD,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,GAAG,CAAA;CACZ;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,GAAG,CAAA;CACZ;AAED,UAAU,UAAU;IAClB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,IAAI,EAAE,MAAM,EAAE,CAAA;CACf;AAED,KAAK,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;AAc7C,UAAU,cAAc;IACtB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,IAAI,EAAE,MAAM,EAAE,CAAA;CACf;AAED,KAAK,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;AAE9C,KAAK,aAAa,GAAG,MAAM,GAAG,MAAM,CAAA;AAEpC,UAAU,oBAAoB;IAC5B,EAAE,EAAE,MAAM,CAAA;IACV,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,MAAM,CAAA;IACd,cAAc,EAAE,MAAM,CAAA;IACtB,aAAa,EAAE,MAAM,CAAA;IACrB,QAAQ,EAAE;QACR,yBAAyB,CAAC,EAAE,OAAO,CAAA;QACnC,aAAa,CAAC,EAAE,OAAO,CAAA;QACvB,uBAAuB,CAAC,EAAE,OAAO,CAAA;QACjC,sBAAsB,CAAC,EAAE,OAAO,CAAA;QAChC,UAAU,CAAC,EAAE,OAAO,CAAA;KACrB,CAAA;CACF;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/collect/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,66 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.IamCollectClient = void 0;
|
|
4
|
-
const
|
|
5
|
-
// export interface IamCollectClient {
|
|
6
|
-
// /**
|
|
7
|
-
// * Does an account exist in the store?
|
|
8
|
-
// *
|
|
9
|
-
// * @param accountId the id of the account to check
|
|
10
|
-
// * @returns true if the account exists, false otherwise
|
|
11
|
-
// */
|
|
12
|
-
// accountExists: (accountId: string) => Promise<boolean>
|
|
13
|
-
// /**
|
|
14
|
-
// * Does a principal exist in the store?
|
|
15
|
-
// *
|
|
16
|
-
// * @param principalArn the arn of the principal to check
|
|
17
|
-
// * @returns true if the principal exists, false otherwise
|
|
18
|
-
// */
|
|
19
|
-
// principalExists: (principalArn: string) => Promise<boolean>
|
|
20
|
-
// /**
|
|
21
|
-
// * Get the org id for an account
|
|
22
|
-
// */
|
|
23
|
-
// getOrgIdForAccount: (accountId: string) => Promise<string | undefined>
|
|
24
|
-
// /**
|
|
25
|
-
// * Get the SCPs for an account and only the account
|
|
26
|
-
// *
|
|
27
|
-
// * @param accountId the id of the account to get the policies for
|
|
28
|
-
// * @returns the policies for the account
|
|
29
|
-
// */
|
|
30
|
-
// getScpsForAccount: (accountId: string) => Promise<OrgPolicy[]>
|
|
31
|
-
// /**
|
|
32
|
-
// * Get the SCP Hierarchy for an account. The first element is the root, the last element is the account itself.
|
|
33
|
-
// *
|
|
34
|
-
// * @param accountId the id of the account to get the policies for
|
|
35
|
-
// * @returns the policies for the account
|
|
36
|
-
// */
|
|
37
|
-
// getScpHierarchyForAccount(accountId: string): Promise<SimulationOrgPolicies[]>
|
|
38
|
-
// /**
|
|
39
|
-
// * Get the RCPs for an account
|
|
40
|
-
// *
|
|
41
|
-
// * @param accountId the account id to get the policies for
|
|
42
|
-
// * @returns the policies for the account
|
|
43
|
-
// */
|
|
44
|
-
// getRcpsForAccount: (accountId: string) => Promise<OrgPolicy[]>
|
|
45
|
-
// getRcpHierarchyForAccount(accountId: string): Promise<SimulationOrgPolicies[]>
|
|
46
|
-
// /**
|
|
47
|
-
// * Get the SCPs for an org unit
|
|
48
|
-
// *
|
|
49
|
-
// * @param orgUnitId the id of the org unit to get the policies for
|
|
50
|
-
// * @returns the policies for the org unit
|
|
51
|
-
// */
|
|
52
|
-
// getScpsForOrgUnit: (orgId: string, orgUnitId: string) => Promise<OrgPolicy[]>
|
|
53
|
-
// /**
|
|
54
|
-
// * Get the RCPs for an org unit
|
|
55
|
-
// *
|
|
56
|
-
// * @param orgUnitId
|
|
57
|
-
// * @returns
|
|
58
|
-
// */
|
|
59
|
-
// getRcpsForOrgUnit: (orgId: string, orgUnitId: string) => Promise<OrgPolicy[]>
|
|
60
|
-
// getAccountIdForBucket: (bucketName: string) => Promise<string | undefined>
|
|
61
|
-
// getAccountIdForRestApi: (apiArn: string) => Promise<string | undefined>
|
|
62
|
-
// getManagedPoliciesForUser(userArn: string): Promise<ManagedPolicy[]>
|
|
63
|
-
// }
|
|
4
|
+
const iam_utils_1 = require("@cloud-copilot/iam-utils");
|
|
64
5
|
class IamCollectClient {
|
|
65
6
|
storageClient;
|
|
66
7
|
constructor(storageClient) {
|
|
@@ -81,7 +22,7 @@ class IamCollectClient {
|
|
|
81
22
|
* @returns True if the principal exists, false otherwise.
|
|
82
23
|
*/
|
|
83
24
|
async principalExists(principalArn) {
|
|
84
|
-
const accountId = (0,
|
|
25
|
+
const accountId = (0, iam_utils_1.splitArnParts)(principalArn).accountId;
|
|
85
26
|
const principalData = await this.storageClient.getResourceMetadata(accountId, principalArn, 'metadata');
|
|
86
27
|
return !!principalData;
|
|
87
28
|
}
|
|
@@ -328,7 +269,7 @@ class IamCollectClient {
|
|
|
328
269
|
* @returns The managed policies for the user.
|
|
329
270
|
*/
|
|
330
271
|
async getManagedPoliciesForUser(userArn) {
|
|
331
|
-
const accountId = (0,
|
|
272
|
+
const accountId = (0, iam_utils_1.splitArnParts)(userArn).accountId;
|
|
332
273
|
const managedPolicies = await this.storageClient.getResourceMetadata(accountId, userArn, 'managed-policies', []);
|
|
333
274
|
const results = [];
|
|
334
275
|
for (const policyArn of managedPolicies) {
|
|
@@ -351,7 +292,7 @@ class IamCollectClient {
|
|
|
351
292
|
* @returns The inline policies for the user.
|
|
352
293
|
*/
|
|
353
294
|
async getInlinePoliciesForUser(userArn) {
|
|
354
|
-
const accountId = (0,
|
|
295
|
+
const accountId = (0, iam_utils_1.splitArnParts)(userArn).accountId;
|
|
355
296
|
const inlinePolicies = await this.storageClient.getResourceMetadata(accountId, userArn, 'inline-policies', []);
|
|
356
297
|
return inlinePolicies.map((p) => ({
|
|
357
298
|
name: p.PolicyName,
|
|
@@ -359,7 +300,7 @@ class IamCollectClient {
|
|
|
359
300
|
}));
|
|
360
301
|
}
|
|
361
302
|
async getIamUserMetadata(userArn) {
|
|
362
|
-
const accountId = (0,
|
|
303
|
+
const accountId = (0, iam_utils_1.splitArnParts)(userArn).accountId;
|
|
363
304
|
// The permissions boundary is stored as a policy ARN on the user resource metadata
|
|
364
305
|
return this.storageClient.getResourceMetadata(accountId, userArn, 'metadata');
|
|
365
306
|
}
|
|
@@ -370,7 +311,7 @@ class IamCollectClient {
|
|
|
370
311
|
* @returns The permissions boundary policy as an OrgPolicy, or undefined if none is set.
|
|
371
312
|
*/
|
|
372
313
|
async getPermissionsBoundaryForUser(userArn) {
|
|
373
|
-
const accountId = (0,
|
|
314
|
+
const accountId = (0, iam_utils_1.splitArnParts)(userArn).accountId;
|
|
374
315
|
// The permissions boundary is stored as a policy ARN on the user resource metadata
|
|
375
316
|
const userMetadata = await this.getIamUserMetadata(userArn);
|
|
376
317
|
if (!userMetadata) {
|
|
@@ -388,7 +329,7 @@ class IamCollectClient {
|
|
|
388
329
|
* @returns An array of group ARNs the user belongs to.
|
|
389
330
|
*/
|
|
390
331
|
async getGroupsForUser(userArn) {
|
|
391
|
-
const accountId = (0,
|
|
332
|
+
const accountId = (0, iam_utils_1.splitArnParts)(userArn).accountId;
|
|
392
333
|
const groups = await this.storageClient.getResourceMetadata(accountId, userArn, 'groups', []);
|
|
393
334
|
return groups;
|
|
394
335
|
}
|
|
@@ -399,7 +340,7 @@ class IamCollectClient {
|
|
|
399
340
|
* @returns The managed policies for the group.
|
|
400
341
|
*/
|
|
401
342
|
async getManagedPoliciesForGroup(groupArn) {
|
|
402
|
-
const accountId = (0,
|
|
343
|
+
const accountId = (0, iam_utils_1.splitArnParts)(groupArn).accountId;
|
|
403
344
|
const managedPolicies = await this.storageClient.getResourceMetadata(accountId, groupArn, 'managed-policies', []);
|
|
404
345
|
const results = [];
|
|
405
346
|
for (const policyArn of managedPolicies) {
|
|
@@ -408,7 +349,7 @@ class IamCollectClient {
|
|
|
408
349
|
return results;
|
|
409
350
|
}
|
|
410
351
|
async getInlinePoliciesForGroup(groupArn) {
|
|
411
|
-
const accountId = (0,
|
|
352
|
+
const accountId = (0, iam_utils_1.splitArnParts)(groupArn).accountId;
|
|
412
353
|
const inlinePolicies = await this.storageClient.getResourceMetadata(accountId, groupArn, 'inline-policies', []);
|
|
413
354
|
return inlinePolicies.map((p) => ({
|
|
414
355
|
name: p.PolicyName,
|
|
@@ -416,7 +357,7 @@ class IamCollectClient {
|
|
|
416
357
|
}));
|
|
417
358
|
}
|
|
418
359
|
async getManagedPoliciesForRole(roleArn) {
|
|
419
|
-
const accountId = (0,
|
|
360
|
+
const accountId = (0, iam_utils_1.splitArnParts)(roleArn).accountId;
|
|
420
361
|
const managedPolicies = await this.storageClient.getResourceMetadata(accountId, roleArn, 'managed-policies', []);
|
|
421
362
|
const results = [];
|
|
422
363
|
for (const policyArn of managedPolicies) {
|
|
@@ -425,7 +366,7 @@ class IamCollectClient {
|
|
|
425
366
|
return results;
|
|
426
367
|
}
|
|
427
368
|
async getInlinePoliciesForRole(roleArn) {
|
|
428
|
-
const accountId = (0,
|
|
369
|
+
const accountId = (0, iam_utils_1.splitArnParts)(roleArn).accountId;
|
|
429
370
|
const inlinePolicies = await this.storageClient.getResourceMetadata(accountId, roleArn, 'inline-policies', []);
|
|
430
371
|
return inlinePolicies.map((p) => ({
|
|
431
372
|
name: p.PolicyName,
|
|
@@ -433,7 +374,7 @@ class IamCollectClient {
|
|
|
433
374
|
}));
|
|
434
375
|
}
|
|
435
376
|
async getPermissionsBoundaryForRole(roleArn) {
|
|
436
|
-
const accountId = (0,
|
|
377
|
+
const accountId = (0, iam_utils_1.splitArnParts)(roleArn).accountId;
|
|
437
378
|
// The permissions boundary is stored as a policy ARN on the user resource metadata
|
|
438
379
|
const roleMetadata = await this.getIamUserMetadata(roleArn);
|
|
439
380
|
if (!roleMetadata) {
|
|
@@ -454,6 +395,52 @@ class IamCollectClient {
|
|
|
454
395
|
async getOrganizationMetadata(organizationId) {
|
|
455
396
|
return this.storageClient.getOrganizationMetadata(organizationId, 'metadata');
|
|
456
397
|
}
|
|
398
|
+
/**
|
|
399
|
+
* Gets the resource policy for a given resource ARN and account.
|
|
400
|
+
*
|
|
401
|
+
* @param resourceArn The ARN of the resource.
|
|
402
|
+
* @param accountId The ID of the account.
|
|
403
|
+
* @returns The resource policy, or undefined if not found.
|
|
404
|
+
*/
|
|
405
|
+
async getResourcePolicyForArn(resourceArn, accountId) {
|
|
406
|
+
const resourcePolicy = await this.storageClient.getResourceMetadata(accountId, resourceArn, 'policy');
|
|
407
|
+
return resourcePolicy;
|
|
408
|
+
}
|
|
409
|
+
/**
|
|
410
|
+
* Gets the RAM share policy for a given resource ARN and account.
|
|
411
|
+
*
|
|
412
|
+
* @param resourceArn The ARN of the resource.
|
|
413
|
+
* @param accountId The ID of the account.
|
|
414
|
+
* @returns The RAM share policy, or undefined if not found.
|
|
415
|
+
*/
|
|
416
|
+
async getRamSharePolicyForArn(resourceArn, accountId) {
|
|
417
|
+
const armSharePolicy = await this.storageClient.getRamResource(accountId, resourceArn);
|
|
418
|
+
return armSharePolicy?.policy;
|
|
419
|
+
}
|
|
420
|
+
/**
|
|
421
|
+
* Gets the tags for a given resource ARN and account.
|
|
422
|
+
*
|
|
423
|
+
* @param resourceArn The ARN of the resource.
|
|
424
|
+
* @param accountId The ID of the account.
|
|
425
|
+
* @returns The tags as a record, or undefined if not found.
|
|
426
|
+
*/
|
|
427
|
+
async getTagsForResource(resourceArn, accountId) {
|
|
428
|
+
const tags = await this.storageClient.getResourceMetadata(accountId, resourceArn, 'tags');
|
|
429
|
+
return tags || {};
|
|
430
|
+
}
|
|
431
|
+
/**
|
|
432
|
+
* Gets a unique ID for an IAM resource based on its ARN and account ID.
|
|
433
|
+
* Used specifically for IAM Users and Roles
|
|
434
|
+
*
|
|
435
|
+
* @param resourceArn the ARN of the IAM resource
|
|
436
|
+
* @param accountId the ID of the account the resource belongs to
|
|
437
|
+
* @returns a unique ID for the resource, or undefined if not found
|
|
438
|
+
*/
|
|
439
|
+
async getUniqueIdForIamResource(resourceArn) {
|
|
440
|
+
const accountId = (0, iam_utils_1.splitArnParts)(resourceArn).accountId;
|
|
441
|
+
const resourceMetadata = await this.storageClient.getResourceMetadata(accountId, resourceArn, 'metadata');
|
|
442
|
+
return resourceMetadata?.id;
|
|
443
|
+
}
|
|
457
444
|
}
|
|
458
445
|
exports.IamCollectClient = IamCollectClient;
|
|
459
446
|
//# sourceMappingURL=client.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/collect/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/collect/client.ts"],"names":[],"mappings":";;;AACA,wDAAwD;AA+FxD,MAAa,gBAAgB;IACP;IAApB,YAAoB,aAA0B;QAA1B,kBAAa,GAAb,aAAa,CAAa;IAAG,CAAC;IAElD;;;;OAIG;IACH,KAAK,CAAC,aAAa,CAAC,SAAiB;QACnC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE,CAAA;QAC1D,OAAO,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;IACrC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,eAAe,CAAC,YAAoB;QACxC,MAAM,SAAS,GAAG,IAAA,yBAAa,EAAC,YAAY,CAAC,CAAC,SAAU,CAAA;QACxD,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAChE,SAAS,EACT,YAAY,EACZ,UAAU,CACX,CAAA;QACD,OAAO,CAAC,CAAC,aAAa,CAAA;IACxB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,yBAAyB,CAAC,SAAiB;QAC/C,OAAO,IAAI,CAAC,+BAA+B,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;IAChE,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,+BAA+B,CACnC,SAAiB,EACjB,UAAyB;QAEzB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAA;QACtD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,EAAE,CAAA;QACX,CAAC;QAED,iDAAiD;QACjD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAA;QAC7D,IAAI,WAAW,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YAC5C,OAAO,EAAE,CAAA;QACX,CAAC;QAED,MAAM,eAAe,GAA4B,EAAE,CAAA;QACnD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,6BAA6B,CAAC,SAAS,CAAC,CAAA;QAExE,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;YAChC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,KAAK,EAAE,IAAI,EAAE,UAAU,CAAC,CAAA;YAE7E,eAAe,CAAC,IAAI,CAAC;gBACnB,aAAa,EAAE,IAAI;gBACnB,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC7B,IAAI,EAAE,CAAC,CAAC,GAAG;oBACX,MAAM,EAAE,CAAC,CAAC,MAAM;iBACjB,CAAC,CAAC;aACJ,CAAC,CAAA;QACJ,CAAC;QAED,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAA;QAClF,eAAe,CAAC,IAAI,CAAC;YACnB,aAAa,EAAE,SAAS;YACxB,QAAQ,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACpC,IAAI,EAAE,CAAC,CAAC,GAAG;gBACX,MAAM,EAAE,CAAC,CAAC,MAAM;aACjB,CAAC,CAAC;SACJ,CAAC,CAAA;QAEF,OAAO,eAAe,CAAA;IACxB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,6BAA6B,CAAC,SAAiB;QACnD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAA;QACtD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,EAAE,CAAA;QACX,CAAC;QACD,MAAM,KAAK,GAAa,EAAE,CAAA;QAC1B,IAAI,IAAI,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAA;QACvD,KAAK,CAAC,IAAI,CAAC,IAAK,CAAC,CAAA;QACjB,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,4BAA4B,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;YACvE,IAAI,UAAU,EAAE,CAAC;gBACf,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;YAC3B,CAAC;YACD,IAAI,GAAG,UAAU,CAAA;QACnB,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,sBAAsB,CAAC,SAAiB;QAC5C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAA;QACtD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,SAAS,CAAA;QAClB,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAA;QACvD,OAAO,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,CAAA;IAC/B,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,4BAA4B,CAAC,KAAa,EAAE,IAAY;QAC5D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAA;QACtD,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;QACvB,OAAO,EAAE,CAAC,MAAM,CAAA;IAClB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,iBAAiB,CAAC,SAAiB;QACvC,OAAO,IAAI,CAAC,wBAAwB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;IACzD,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,wBAAwB,CAC5B,SAAiB,EACjB,UAAyB;QAEzB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAA;QACtD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,EAAE,CAAA;QACX,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAA;QACvD,MAAM,cAAc,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAA;QAC1C,MAAM,UAAU,GAAG,cAAc,CAAC,UAAU,CAAC,CAAA;QAC7C,MAAM,QAAQ,GAAgB,EAAE,CAAA;QAChC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,CAAC,CAAA;YACxE,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QAC3B,CAAC;QAED,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,oBAAoB,CAAC,KAAa;QACtC,OAAO,IAAI,CAAC,aAAa,CAAC,uBAAuB,CAA2B,KAAK,EAAE,UAAU,CAAC,CAAA;IAChG,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,qBAAqB,CAAC,KAAa;QACvC,OAAO,IAAI,CAAC,aAAa,CAAC,uBAAuB,CAAqB,KAAK,EAAE,KAAK,CAAC,CAAA;IACrF,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,YAAY,CAChB,KAAa,EACb,UAAyB,EACzB,SAAiB;QAEjB,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAA;QAC7C,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,6BAA6B,CAGvE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAA;QAC1C,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,6BAA6B,CAC3E,KAAK,EACL,UAAU,EACV,QAAQ,EACR,QAAQ,CACT,CAAA;QAED,OAAO;YACL,GAAG,EAAE,UAAU,CAAC,GAAG;YACnB,IAAI,EAAE,UAAU,CAAC,IAAI;YACrB,MAAM,EAAE,cAAc;SACvB,CAAA;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,iBAAiB,CAAC,SAAiB;QACvC,OAAO,IAAI,CAAC,wBAAwB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;IACzD,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,yBAAyB,CAAC,SAAiB;QAC/C,OAAO,IAAI,CAAC,+BAA+B,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;IAChE,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,iBAAiB,CAAC,KAAa,EAAE,SAAiB;QACtD,OAAO,IAAI,CAAC,wBAAwB,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;IAChE,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,wBAAwB,CAC5B,KAAa,EACb,SAAiB,EACjB,UAAyB;QAEzB,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAA;QAClE,MAAM,OAAO,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAA;QAC7C,MAAM,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;QACvC,MAAM,QAAQ,GAAgB,EAAE,CAAA;QAChC,KAAK,MAAM,SAAS,IAAI,WAAW,EAAE,CAAC;YACpC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,CAAC,CAAA;YACxE,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QAC3B,CAAC;QAED,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,iBAAiB,CAAC,KAAa,EAAE,SAAiB;QACtD,OAAO,IAAI,CAAC,wBAAwB,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;IAChE,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,kBAAkB,CAAC,SAAiB;QACxC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAyB,kBAAkB,EAAE,EAAE,CAAC,CAAA;QAC/F,MAAM,eAAe,GAAG,KAAK,CAAC,IAAI,CAAA;QAClC,OAAO,eAAe,CAAC,SAAS,CAAC,CAAA;IACnC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,qBAAqB,CAAC,UAAkB;QAC5C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAC7C,qBAAqB,EACrB,EAAE,CACH,CAAA;QACD,MAAM,kBAAkB,GAAG,KAAK,CAAC,IAAI,CAAA;QACrC,OAAO,kBAAkB,CAAC,UAAU,CAAC,EAAE,SAAS,CAAA;IAClD,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,sBAAsB,CAAC,MAAc;QACzC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAC7C,yBAAyB,EACzB,EAAE,CACH,CAAA;QACD,MAAM,kBAAkB,GAAG,KAAK,CAAC,IAAI,CAAA;QACrC,OAAO,kBAAkB,CAAC,MAAM,CAAC,CAAA;IACnC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,yBAAyB,CAAC,OAAe;QAC7C,MAAM,SAAS,GAAG,IAAA,yBAAa,EAAC,OAAO,CAAC,CAAC,SAAU,CAAA;QACnD,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAClE,SAAS,EACT,OAAO,EACP,kBAAkB,EAClB,EAAE,CACH,CAAA;QAED,MAAM,OAAO,GAAoB,EAAE,CAAA;QAEnC,KAAK,MAAM,SAAS,IAAI,eAAe,EAAE,CAAC;YACxC,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAA;QACjE,CAAC;QAED,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,SAAiB,EAAE,SAAiB;QACzD,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAGjE,SAAS,EAAE,SAAS,EAAE,UAAU,CAAC,CAAA;QACnC,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,mBAAmB,CACjE,SAAS,EACT,SAAS,EACT,QAAQ,CACT,CAAA;QACD,OAAO;YACL,GAAG,EAAE,cAAc,CAAC,GAAG;YACvB,IAAI,EAAE,cAAc,CAAC,IAAI;YACzB,MAAM,EAAE,cAAc;SACvB,CAAA;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,wBAAwB,CAAC,OAAe;QAC5C,MAAM,SAAS,GAAG,IAAA,yBAAa,EAAC,OAAO,CAAC,CAAC,SAAU,CAAA;QACnD,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAGjE,SAAS,EAAE,OAAO,EAAE,iBAAiB,EAAE,EAAE,CAAC,CAAA;QAE5C,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAChC,IAAI,EAAE,CAAC,CAAC,UAAU;YAClB,MAAM,EAAE,CAAC,CAAC,cAAc;SACzB,CAAC,CAAC,CAAA;IACL,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,OAAe;QACtC,MAAM,SAAS,GAAG,IAAA,yBAAa,EAAC,OAAO,CAAC,CAAC,SAAU,CAAA;QACnD,mFAAmF;QACnF,OAAO,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAC3C,SAAS,EACT,OAAO,EACP,UAAU,CACX,CAAA;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,6BAA6B,CAAC,OAAe;QACjD,MAAM,SAAS,GAAG,IAAA,yBAAa,EAAC,OAAO,CAAC,CAAC,SAAU,CAAA;QACnD,mFAAmF;QACnF,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAA;QAC3D,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,SAAS,CAAA;QAClB,CAAC;QAED,MAAM,sBAAsB,GAAG,YAAY,CAAC,kBAAkB,CAAA;QAC9D,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC5B,OAAO,SAAS,CAAA;QAClB,CAAC;QAED,OAAO,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,sBAAsB,CAAC,CAAA;IACjE,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,gBAAgB,CAAC,OAAe;QACpC,MAAM,SAAS,GAAG,IAAA,yBAAa,EAAC,OAAO,CAAC,CAAC,SAAU,CAAA;QACnD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,mBAAmB,CACzD,SAAS,EACT,OAAO,EACP,QAAQ,EACR,EAAE,CACH,CAAA;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,0BAA0B,CAAC,QAAgB;QAC/C,MAAM,SAAS,GAAG,IAAA,yBAAa,EAAC,QAAQ,CAAC,CAAC,SAAU,CAAA;QACpD,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAClE,SAAS,EACT,QAAQ,EACR,kBAAkB,EAClB,EAAE,CACH,CAAA;QAED,MAAM,OAAO,GAAoB,EAAE,CAAA;QAEnC,KAAK,MAAM,SAAS,IAAI,eAAe,EAAE,CAAC;YACxC,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAA;QACjE,CAAC;QAED,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,KAAK,CAAC,yBAAyB,CAAC,QAAgB;QAC9C,MAAM,SAAS,GAAG,IAAA,yBAAa,EAAC,QAAQ,CAAC,CAAC,SAAU,CAAA;QACpD,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAGjE,SAAS,EAAE,QAAQ,EAAE,iBAAiB,EAAE,EAAE,CAAC,CAAA;QAE7C,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAChC,IAAI,EAAE,CAAC,CAAC,UAAU;YAClB,MAAM,EAAE,CAAC,CAAC,cAAc;SACzB,CAAC,CAAC,CAAA;IACL,CAAC;IAED,KAAK,CAAC,yBAAyB,CAAC,OAAe;QAC7C,MAAM,SAAS,GAAG,IAAA,yBAAa,EAAC,OAAO,CAAC,CAAC,SAAU,CAAA;QACnD,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAClE,SAAS,EACT,OAAO,EACP,kBAAkB,EAClB,EAAE,CACH,CAAA;QAED,MAAM,OAAO,GAAoB,EAAE,CAAA;QAEnC,KAAK,MAAM,SAAS,IAAI,eAAe,EAAE,CAAC;YACxC,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAA;QACjE,CAAC;QAED,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,KAAK,CAAC,wBAAwB,CAAC,OAAe;QAC5C,MAAM,SAAS,GAAG,IAAA,yBAAa,EAAC,OAAO,CAAC,CAAC,SAAU,CAAA;QACnD,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAGjE,SAAS,EAAE,OAAO,EAAE,iBAAiB,EAAE,EAAE,CAAC,CAAA;QAE5C,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAChC,IAAI,EAAE,CAAC,CAAC,UAAU;YAClB,MAAM,EAAE,CAAC,CAAC,cAAc;SACzB,CAAC,CAAC,CAAA;IACL,CAAC;IAED,KAAK,CAAC,6BAA6B,CAAC,OAAe;QACjD,MAAM,SAAS,GAAG,IAAA,yBAAa,EAAC,OAAO,CAAC,CAAC,SAAU,CAAA;QACnD,mFAAmF;QACnF,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAA;QAC3D,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,SAAS,CAAA;QAClB,CAAC;QAED,MAAM,sBAAsB,GAAG,YAAY,CAAC,kBAAkB,CAAA;QAC9D,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC5B,OAAO,SAAS,CAAA;QAClB,CAAC;QAED,OAAO,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,sBAAsB,CAAC,CAAA;IACjE,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,uBAAuB,CAAC,cAAsB;QAClD,OAAO,IAAI,CAAC,aAAa,CAAC,uBAAuB,CAC/C,cAAc,EACd,UAAU,CACX,CAAA;IACH,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,uBAAuB,CAAC,WAAmB,EAAE,SAAiB;QAClE,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,mBAAmB,CACjE,SAAS,EACT,WAAW,EACX,QAAQ,CACT,CAAA;QACD,OAAO,cAAc,CAAA;IACvB,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,uBAAuB,CAAC,WAAmB,EAAE,SAAiB;QAClE,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,cAAc,CAC5D,SAAS,EACT,WAAW,CACZ,CAAA;QACD,OAAO,cAAc,EAAE,MAAM,CAAA;IAC/B,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,kBAAkB,CACtB,WAAmB,EACnB,SAAiB;QAEjB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAGvD,SAAS,EAAE,WAAW,EAAE,MAAM,CAAC,CAAA;QACjC,OAAO,IAAI,IAAI,EAAE,CAAA;IACnB,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,yBAAyB,CAAC,WAAmB;QACjD,MAAM,SAAS,GAAG,IAAA,yBAAa,EAAC,WAAW,CAAC,CAAC,SAAU,CAAA;QACvD,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAGnE,SAAS,EAAE,WAAW,EAAE,UAAU,CAAC,CAAA;QAErC,OAAO,gBAAgB,EAAE,EAAE,CAAA;IAC7B,CAAC;CACF;AA/kBD,4CA+kBC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inMemoryClient.d.ts","sourceRoot":"","sources":["../../../src/collect/inMemoryClient.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAE9C,wBAAgB,SAAS;;;EAIxB"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.testStore = testStore;
|
|
4
|
+
const iam_collect_1 = require("@cloud-copilot/iam-collect");
|
|
5
|
+
const client_js_1 = require("./client.js");
|
|
6
|
+
function testStore() {
|
|
7
|
+
const store = (0, iam_collect_1.createInMemoryStorageClient)();
|
|
8
|
+
const client = new client_js_1.IamCollectClient(store);
|
|
9
|
+
return { store, client };
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=inMemoryClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inMemoryClient.js","sourceRoot":"","sources":["../../../src/collect/inMemoryClient.ts"],"names":[],"mappings":";;AAGA,8BAIC;AAPD,4DAAwE;AACxE,2CAA8C;AAE9C,SAAgB,SAAS;IACvB,MAAM,KAAK,GAAG,IAAA,yCAA2B,GAAE,CAAA;IAC3C,MAAM,MAAM,GAAG,IAAI,4BAAgB,CAAC,KAAK,CAAC,CAAA;IAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAA;AAC1B,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { IamCollectClient } from './collect/client.js';
|
|
2
|
+
import { SimulationRequest } from './simulate.js';
|
|
3
|
+
export type ContextKeys = Record<string, string | string[]>;
|
|
4
|
+
export declare function createContextKeys(collectClient: IamCollectClient, simulationRequest: SimulationRequest, contextKeyOverrides: ContextKeys): Promise<ContextKeys>;
|
|
5
|
+
//# sourceMappingURL=contextKeys.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contextKeys.d.ts","sourceRoot":"","sources":["../../src/contextKeys.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAEtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAEjD,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAA;AAE3D,wBAAsB,iBAAiB,CACrC,aAAa,EAAE,gBAAgB,EAC/B,iBAAiB,EAAE,iBAAiB,EACpC,mBAAmB,EAAE,WAAW,GAC/B,OAAO,CAAC,WAAW,CAAC,CAkGtB"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createContextKeys = createContextKeys;
|
|
4
|
+
const iam_utils_1 = require("@cloud-copilot/iam-utils");
|
|
5
|
+
const principals_js_1 = require("./principals.js");
|
|
6
|
+
async function createContextKeys(collectClient, simulationRequest, contextKeyOverrides) {
|
|
7
|
+
const result = {
|
|
8
|
+
'aws:SecureTransport': 'true',
|
|
9
|
+
'aws:CurrentTime': new Date().toISOString(),
|
|
10
|
+
'aws:EpochTime': Math.floor(Date.now() / 1000).toString()
|
|
11
|
+
};
|
|
12
|
+
if ((0, principals_js_1.isArnPrincipal)(simulationRequest.principal)) {
|
|
13
|
+
result['aws:PrincipalArn'] = simulationRequest.principal;
|
|
14
|
+
const arnParts = (0, iam_utils_1.splitArnParts)(simulationRequest.principal);
|
|
15
|
+
const principalAccountId = arnParts.accountId;
|
|
16
|
+
result['aws:PrincipalAccount'] = arnParts.accountId || '';
|
|
17
|
+
const orgId = await collectClient.getOrgIdForAccount(principalAccountId);
|
|
18
|
+
if (orgId) {
|
|
19
|
+
result['aws:PrincipalOrgId'] = orgId;
|
|
20
|
+
const orgStructure = await collectClient.getOrgUnitHierarchyForAccount(principalAccountId);
|
|
21
|
+
result['aws:PrincipalOrgPaths'] = [`${orgId}/${orgStructure.join('/')}/`];
|
|
22
|
+
}
|
|
23
|
+
const tags = await collectClient.getTagsForResource(simulationRequest.principal, principalAccountId);
|
|
24
|
+
for (const [key, value] of Object.entries(tags)) {
|
|
25
|
+
result[`aws:PrincipalTag/${key}`] = value;
|
|
26
|
+
}
|
|
27
|
+
result['aws:PrincipalIsAWSService'] = 'false';
|
|
28
|
+
if (simulationRequest.principal.endsWith(':root')) {
|
|
29
|
+
result['aws:PrincipalType'] = 'Account';
|
|
30
|
+
result['aws:userid'] = principalAccountId;
|
|
31
|
+
}
|
|
32
|
+
else if (arnParts.resourceType === 'user') {
|
|
33
|
+
result['aws:PrincipalType'] = 'User';
|
|
34
|
+
const userUniqueId = await collectClient.getUniqueIdForIamResource(simulationRequest.principal);
|
|
35
|
+
result['aws:userid'] = userUniqueId || 'UNKNOWN';
|
|
36
|
+
const userName = arnParts.resourcePath?.split('/').at(-1);
|
|
37
|
+
result['aws:username'] = userName;
|
|
38
|
+
}
|
|
39
|
+
else if (arnParts.resourceType === 'federated-user') {
|
|
40
|
+
result['aws:PrincipalType'] = 'FederatedUser';
|
|
41
|
+
result['aws:userid'] = `${arnParts.accountId}:${arnParts.resourcePath}`;
|
|
42
|
+
}
|
|
43
|
+
else if (arnParts.resourceType === 'assumed-role') {
|
|
44
|
+
result['aws:PrincipalType'] = 'AssumedRole';
|
|
45
|
+
const sessionName = arnParts.resourcePath?.split('/').at(-1);
|
|
46
|
+
const roleArn = (0, iam_utils_1.convertAssumedRoleArnToRoleArn)(simulationRequest.principal);
|
|
47
|
+
const roleUniqueId = await collectClient.getUniqueIdForIamResource(roleArn);
|
|
48
|
+
result['aws:userid'] = `${roleUniqueId || 'UNKNOWN'}:${sessionName}`;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
//Resource context keys
|
|
52
|
+
if (!isAwsResourceInfoExcludedAction(simulationRequest.action)) {
|
|
53
|
+
result['aws:ResourceAccount'] = simulationRequest.resourceAccount;
|
|
54
|
+
const resourceOrgId = await collectClient.getOrgIdForAccount(simulationRequest.resourceAccount);
|
|
55
|
+
if (resourceOrgId) {
|
|
56
|
+
result['aws:ResourceOrgID'] = resourceOrgId;
|
|
57
|
+
const orgStructure = await collectClient.getOrgUnitHierarchyForAccount(simulationRequest.resourceAccount);
|
|
58
|
+
result['aws:ResourceOrgPaths'] = [`${resourceOrgId}/${orgStructure.join('/')}/`];
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
if (simulationRequest.resourceArn) {
|
|
62
|
+
const resourceTags = await collectClient.getTagsForResource(simulationRequest.resourceArn, simulationRequest.resourceAccount);
|
|
63
|
+
for (const [key, value] of Object.entries(resourceTags)) {
|
|
64
|
+
result[`aws:ResourceTag/${key}`] = value;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
//Service Principal context keys
|
|
68
|
+
if ((0, principals_js_1.isServicePrincipal)(simulationRequest.principal)) {
|
|
69
|
+
result['aws:PrincipalIsAWSService'] = 'true';
|
|
70
|
+
result['aws:PrincipalServiceName'] = simulationRequest.principal;
|
|
71
|
+
result['aws:SourceAccount'] = simulationRequest.resourceAccount;
|
|
72
|
+
result['aws:SourceOrgID'] = result['aws:ResourceOrgID'];
|
|
73
|
+
result['aws:SourceOrgPaths'] = result['aws:ResourceOrgPaths'];
|
|
74
|
+
}
|
|
75
|
+
//Apply any custom context key overrides
|
|
76
|
+
for (const [key, value] of Object.entries(contextKeyOverrides)) {
|
|
77
|
+
result[key] = value;
|
|
78
|
+
}
|
|
79
|
+
return result;
|
|
80
|
+
}
|
|
81
|
+
const awsResourceInfoExcludedActions = new Set([
|
|
82
|
+
'auditmanager:updateassessmentframeworkshare',
|
|
83
|
+
'detective:acceptinvitation',
|
|
84
|
+
'ds:acceptshareddirectory',
|
|
85
|
+
'ec2:accepttransitgatewaypeeringattachment',
|
|
86
|
+
'ec2:acceptvpcendpointconnections',
|
|
87
|
+
'ec2:acceptvpcpeeringconnection',
|
|
88
|
+
'ec2:copysnapshot',
|
|
89
|
+
'ec2:createtransitgatewaypeeringattachment',
|
|
90
|
+
'ec2:createvpcendpoint',
|
|
91
|
+
'ec2:createvpcpeeringconnection',
|
|
92
|
+
'ec2:deletetransitgatewaypeeringattachment',
|
|
93
|
+
'ec2:deletevpcpeeringconnection',
|
|
94
|
+
'ec2:rejecttransitgatewaypeeringattachment',
|
|
95
|
+
'ec2:rejectvpcendpointconnections',
|
|
96
|
+
'ec2:rejectvpcpeeringconnection',
|
|
97
|
+
'guardduty:acceptadministratorinvitation',
|
|
98
|
+
'macie2:acceptinvitation',
|
|
99
|
+
'es:acceptinboundconnection',
|
|
100
|
+
'route53:associatevpcwithhostedzone',
|
|
101
|
+
'route53:createvpcassociationauthorization',
|
|
102
|
+
'route53:deletevpcassociationauthorization',
|
|
103
|
+
'route53:disassociatevpcfromhostedzone',
|
|
104
|
+
'route53:listhostedzonesbyvpc',
|
|
105
|
+
'securityhub:acceptadministratorinvitation'
|
|
106
|
+
]);
|
|
107
|
+
function isAwsResourceInfoExcludedAction(action) {
|
|
108
|
+
const lowerCaseAction = action.toLowerCase();
|
|
109
|
+
return lowerCaseAction.startsWith('ebs:') || awsResourceInfoExcludedActions.has(lowerCaseAction);
|
|
110
|
+
}
|
|
111
|
+
//# sourceMappingURL=contextKeys.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contextKeys.js","sourceRoot":"","sources":["../../src/contextKeys.ts"],"names":[],"mappings":"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"}
|