@cloud-copilot/iam-collect 0.1.205 → 0.1.207

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -152,6 +152,8 @@ If you prefer, you can configure iam-collect to pull data from AWS Config instea
152
152
  | ecr | Repositories | name, region, tags, resource policy, key id |
153
153
  | ecr | Registries | policy |
154
154
  | ec2 | VPC Endpoints | id, name, type, vpc, policy |
155
+ | eks | Clusters | name, authentication mode, tags |
156
+ | eks | Access Entries | cluster, principal, username, type, kubernetes groups, associated access policies, tags |
155
157
  | elasticfilesystem | File Systems | name, id, key, encryption, tags, policy |
156
158
  | es | OpenSearch Domains | name, policy, tags, KMS key id |
157
159
  | events | Event Buses | name, key id, policy, tags |
@@ -2,5 +2,5 @@
2
2
  * iam-collect version.
3
3
  * Generated by build, do not manually edit
4
4
  */
5
- export declare const IAM_COLLECT_VERSION = "0.1.204";
5
+ export declare const IAM_COLLECT_VERSION = "0.1.206";
6
6
  //# sourceMappingURL=version.d.ts.map
@@ -5,5 +5,5 @@ exports.IAM_COLLECT_VERSION = void 0;
5
5
  * iam-collect version.
6
6
  * Generated by build, do not manually edit
7
7
  */
8
- exports.IAM_COLLECT_VERSION = '0.1.204';
8
+ exports.IAM_COLLECT_VERSION = '0.1.206';
9
9
  //# sourceMappingURL=version.js.map
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * All Valid AWS Services
3
3
  */
4
- export declare const allServices: readonly ["apigateway", "backup", "dynamodb", "ec2", "ecr", "elasticfilesystem", "es", "events", "glacier", "glue", "iam", "kafka", "kinesis", "kms", "lambda", "organizations", "ram", "s3", "s3-object-lambda", "s3express", "s3outposts", "s3tables", "secretsmanager", "sns", "sqs", "sso"];
4
+ export declare const allServices: readonly ["apigateway", "backup", "dynamodb", "ec2", "ecr", "eks", "elasticfilesystem", "es", "events", "glacier", "glue", "iam", "kafka", "kinesis", "kms", "lambda", "organizations", "ram", "s3", "s3-object-lambda", "s3express", "s3outposts", "s3tables", "secretsmanager", "sns", "sqs", "sso"];
5
5
  /**
6
6
  * Type representing a valid AWS service. A union of all strings in `allServices`.
7
7
  */
@@ -1 +1 @@
1
- {"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../../src/services.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,WAAW,iSA2Bd,CAAA;AAEV;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAA;AAErD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CAE5D"}
1
+ {"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../../src/services.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,WAAW,wSA4Bd,CAAA;AAEV;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAA;AAErD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CAE5D"}
@@ -11,6 +11,7 @@ exports.allServices = [
11
11
  'dynamodb',
12
12
  'ec2',
13
13
  'ecr',
14
+ 'eks',
14
15
  'elasticfilesystem',
15
16
  'es',
16
17
  'events',
@@ -1 +1 @@
1
- {"version":3,"file":"services.js","sourceRoot":"","sources":["../../src/services.ts"],"names":[],"mappings":";;;AA2CA,4CAEC;AA7CD;;GAEG;AACU,QAAA,WAAW,GAAG;IACzB,YAAY;IACZ,QAAQ;IACR,UAAU;IACV,KAAK;IACL,KAAK;IACL,mBAAmB;IACnB,IAAI;IACJ,QAAQ;IACR,SAAS;IACT,MAAM;IACN,KAAK;IACL,OAAO;IACP,SAAS;IACT,KAAK;IACL,QAAQ;IACR,eAAe;IACf,KAAK;IACL,IAAI;IACJ,kBAAkB;IAClB,WAAW;IACX,YAAY;IACZ,UAAU;IACV,gBAAgB;IAChB,KAAK;IACL,KAAK;IACL,KAAK;CACG,CAAA;AAOV;;;;;GAKG;AACH,SAAgB,gBAAgB,CAAC,OAAe;IAC9C,OAAO,OAAO,CAAC,WAAW,EAAgB,CAAA;AAC5C,CAAC"}
1
+ {"version":3,"file":"services.js","sourceRoot":"","sources":["../../src/services.ts"],"names":[],"mappings":";;;AA4CA,4CAEC;AA9CD;;GAEG;AACU,QAAA,WAAW,GAAG;IACzB,YAAY;IACZ,QAAQ;IACR,UAAU;IACV,KAAK;IACL,KAAK;IACL,KAAK;IACL,mBAAmB;IACnB,IAAI;IACJ,QAAQ;IACR,SAAS;IACT,MAAM;IACN,KAAK;IACL,OAAO;IACP,SAAS;IACT,KAAK;IACL,QAAQ;IACR,eAAe;IACf,KAAK;IACL,IAAI;IACJ,kBAAkB;IAClB,WAAW;IACX,YAAY;IACZ,UAAU;IACV,gBAAgB;IAChB,KAAK;IACL,KAAK;IACL,KAAK;CACG,CAAA;AAOV;;;;;GAKG;AACH,SAAgB,gBAAgB,CAAC,OAAe;IAC9C,OAAO,OAAO,CAAC,WAAW,EAAgB,CAAA;AAC5C,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { type Sync } from '../sync.js';
2
+ /**
3
+ * Syncs EKS clusters and their access entries. Access entries map IAM principals to
4
+ * Kubernetes permissions and only exist on clusters with the API or API_AND_CONFIG_MAP
5
+ * authentication mode.
6
+ */
7
+ export declare const EksAccessEntriesSync: Sync;
8
+ //# sourceMappingURL=accessEntries.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accessEntries.d.ts","sourceRoot":"","sources":["../../../../src/syncs/eks/accessEntries.ts"],"names":[],"mappings":"AASA,OAAO,EAAmB,KAAK,IAAI,EAAY,MAAM,YAAY,CAAA;AAQjE;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,EAAE,IAsHlC,CAAA"}
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EksAccessEntriesSync = void 0;
4
+ const client_eks_1 = require("@aws-sdk/client-eks");
5
+ const client_tools_js_1 = require("../../utils/client-tools.js");
6
+ const sync_js_1 = require("../sync.js");
7
+ const typedSync_js_1 = require("../typedSync.js");
8
+ const paginationConfig = {
9
+ inputKey: 'nextToken',
10
+ outputKey: 'nextToken'
11
+ };
12
+ /**
13
+ * Syncs EKS clusters and their access entries. Access entries map IAM principals to
14
+ * Kubernetes permissions and only exist on clusters with the API or API_AND_CONFIG_MAP
15
+ * authentication mode.
16
+ */
17
+ exports.EksAccessEntriesSync = {
18
+ awsService: 'eks',
19
+ name: 'accessEntries',
20
+ execute: async (accountId, region, credentials, storage, endpoint, syncOptions) => {
21
+ const eksClient = syncOptions.clientPool.client(client_eks_1.EKSClient, credentials, region, endpoint);
22
+ const clusterNames = await (0, typedSync_js_1.paginateResource)(eksClient, client_eks_1.ListClustersCommand, 'clusters', paginationConfig);
23
+ const clusterRecords = [];
24
+ const accessEntryRecords = [];
25
+ for (const clusterName of clusterNames) {
26
+ const describeResult = await (0, client_tools_js_1.runAndCatch404)(async () => {
27
+ return eksClient.send(new client_eks_1.DescribeClusterCommand({ name: clusterName }));
28
+ });
29
+ const cluster = describeResult?.cluster;
30
+ if (!cluster?.arn) {
31
+ continue;
32
+ }
33
+ const authenticationMode = cluster.accessConfig?.authenticationMode;
34
+ clusterRecords.push({
35
+ arn: cluster.arn,
36
+ metadata: {
37
+ name: cluster.name,
38
+ arn: cluster.arn,
39
+ authenticationMode
40
+ },
41
+ tags: cluster.tags
42
+ });
43
+ // Access entries can only be listed when API authentication is enabled.
44
+ if (authenticationMode !== 'API' && authenticationMode !== 'API_AND_CONFIG_MAP') {
45
+ continue;
46
+ }
47
+ const principalArns = await (0, typedSync_js_1.paginateResource)(eksClient, client_eks_1.ListAccessEntriesCommand, 'accessEntries', paginationConfig, { clusterName });
48
+ for (const principalArn of principalArns) {
49
+ const describeEntryResult = await (0, client_tools_js_1.runAndCatch404)(async () => {
50
+ return eksClient.send(new client_eks_1.DescribeAccessEntryCommand({ clusterName, principalArn }));
51
+ });
52
+ const accessEntry = describeEntryResult?.accessEntry;
53
+ if (!accessEntry?.accessEntryArn) {
54
+ continue;
55
+ }
56
+ const associatedAccessPolicies = await (0, client_tools_js_1.runAndCatchAccessDeniedWithLog)(accessEntry.accessEntryArn, 'eks', 'accessEntry', 'accessPolicies', async () => {
57
+ return (0, typedSync_js_1.paginateResource)(eksClient, client_eks_1.ListAssociatedAccessPoliciesCommand, 'associatedAccessPolicies', paginationConfig, { clusterName, principalArn });
58
+ });
59
+ accessEntryRecords.push({
60
+ arn: accessEntry.accessEntryArn,
61
+ metadata: {
62
+ arn: accessEntry.accessEntryArn,
63
+ clusterName: accessEntry.clusterName,
64
+ principalArn: accessEntry.principalArn,
65
+ username: accessEntry.username,
66
+ type: accessEntry.type,
67
+ kubernetesGroups: accessEntry.kubernetesGroups
68
+ },
69
+ accessPolicies: associatedAccessPolicies?.map((policy) => ({
70
+ policyArn: policy.policyArn,
71
+ accessScope: policy.accessScope
72
+ })),
73
+ tags: accessEntry.tags
74
+ });
75
+ }
76
+ }
77
+ await (0, sync_js_1.syncData)(clusterRecords, storage, accountId, {
78
+ service: 'eks',
79
+ resourceType: 'cluster',
80
+ account: accountId,
81
+ region: region
82
+ }, syncOptions.writeOnly);
83
+ await (0, sync_js_1.syncData)(accessEntryRecords, storage, accountId, {
84
+ service: 'eks',
85
+ resourceType: 'access-entry',
86
+ account: accountId,
87
+ region: region
88
+ }, syncOptions.writeOnly);
89
+ }
90
+ };
91
+ //# sourceMappingURL=accessEntries.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accessEntries.js","sourceRoot":"","sources":["../../../../src/syncs/eks/accessEntries.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"syncMap.d.ts","sourceRoot":"","sources":["../../../src/syncs/syncMap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAoB,MAAM,gBAAgB,CAAA;AAkClE,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,WAAW,CAAA;AA0DrC;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,EAAE,CAMpE;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,EAAE,CAMtE"}
1
+ {"version":3,"file":"syncMap.d.ts","sourceRoot":"","sources":["../../../src/syncs/syncMap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAoB,MAAM,gBAAgB,CAAA;AAmClE,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,WAAW,CAAA;AA2DrC;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,EAAE,CAMpE;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,EAAE,CAMtE"}
@@ -10,6 +10,7 @@ const tables_js_1 = require("./dynamodb/tables.js");
10
10
  const vpcEndpoints_js_1 = require("./ec2/vpcEndpoints.js");
11
11
  const ecrSyncs_js_1 = require("./ecr/ecrSyncs.js");
12
12
  const fileSystems_js_1 = require("./efs/fileSystems.js");
13
+ const accessEntries_js_1 = require("./eks/accessEntries.js");
13
14
  const eventBuses_js_1 = require("./events/eventBuses.js");
14
15
  const catalogs_js_1 = require("./glue/catalogs.js");
15
16
  const authorizationDetails_js_1 = require("./iam/authorizationDetails.js");
@@ -43,6 +44,7 @@ const allSyncs = [
43
44
  dynamoDbStreams_js_1.DynamoDbStreamsSync,
44
45
  tables_js_1.DynamoDBTableSync,
45
46
  ...ecrSyncs_js_1.EcrSyncs,
47
+ accessEntries_js_1.EksAccessEntriesSync,
46
48
  fileSystems_js_1.ElasticFileSystemsSync,
47
49
  eventBuses_js_1.EventBridgeEventBusesSync,
48
50
  instanceProfiles_js_1.InstanceProfilesSync,
@@ -1 +1 @@
1
- {"version":3,"file":"syncMap.js","sourceRoot":"","sources":["../../../src/syncs/syncMap.ts"],"names":[],"mappings":";;AAkGA,4DAMC;AAQD,gEAMC;AAtHD,gDAAkE;AAClE,0DAAuD;AACvD,8DAA2D;AAC3D,sEAAmE;AACnE,oDAAwD;AACxD,2DAAwD;AACxD,mDAA4C;AAC5C,yDAA6D;AAC7D,0DAAkE;AAClE,oDAAoD;AACpD,2EAAwE;AACxE,qEAAkE;AAClE,mEAAgE;AAChE,qDAAuD;AACvD,6DAAiE;AACjE,yCAAsC;AACtC,kDAAwE;AACxE,wDAA+D;AAC/D,uEAAmE;AACnE,qDAAqD;AACrD,0DAAyD;AACzD,sDAAqD;AACrD,gDAA4D;AAC5D,gFAA+E;AAC/E,kFAAiF;AACjF,8CAAkD;AAClD,+FAAwF;AACxF,qFAA8E;AAC9E,wEAAmG;AACnG,gEAA+D;AAC/D,4DAAwD;AACxD,+CAA+C;AAC/C,+CAA8C;AAC9C,2DAAmD;AAGnD,MAAM,QAAQ,GAAG;IACf,gCAAgB;IAChB,kDAAwB;IACxB,kCAAgB;IAChB,wCAAmB;IACnB,6BAAiB;IACjB,GAAG,sBAAQ;IACX,uCAAsB;IACtB,yCAAyB;IACzB,0CAAoB;IACpB,GAAG,4CAAqB;IACxB,6BAAiB;IACjB,6BAAe;IACf,+BAAiB;IACjB,uCAAsB;IACtB,gBAAO;IACP,sBAAU;IACV,mCAAuB;IACvB,kCAAqB;IACrB,mCAAgB;IAChB,+BAAgB;IAChB,0BAAY;IACZ,oCAAkB;IAClB,kDAAsB;IACtB,4DAA2B;IAC3B,uCAA0B;IAC1B,0DAA6B;IAC7B,4DAA8B;IAC9B,+CAA0B;IAC1B,0CAAqB;IACrB,oCAAkB;IAClB,uBAAU;IACV,yBAAa;IACb,wBAAY;IACZ,6BAAW;IACX,kCAAgB;CACjB,CAAA;AAED,MAAM,OAAO,GAAG,IAAI,GAAG,EAAoD,CAAA;AAE3E,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;IAC5B,MAAM,OAAO,GAAG,IAAA,8BAAgB,EAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IACjD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE;YACnB,QAAQ,EAAE,EAAE;YACZ,MAAM,EAAE,EAAE;SACX,CAAC,CAAA;IACJ,CAAC;IACD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAE,CAAA;IACnC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACzB,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC3B,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAgB,wBAAwB,CAAC,OAAmB;IAC1D,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,IAAA,8BAAgB,EAAC,OAAO,CAAC,CAAC,CAAA;IACpD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,EAAE,CAAA;IACX,CAAC;IACD,OAAO,KAAK,CAAC,MAAM,CAAA;AACrB,CAAC;AAED;;;;;GAKG;AACH,SAAgB,0BAA0B,CAAC,OAAmB;IAC5D,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,IAAA,8BAAgB,EAAC,OAAO,CAAC,CAAC,CAAA;IACpD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,EAAE,CAAA;IACX,CAAC;IACD,OAAO,KAAK,CAAC,QAAQ,CAAA;AACvB,CAAC"}
1
+ {"version":3,"file":"syncMap.js","sourceRoot":"","sources":["../../../src/syncs/syncMap.ts"],"names":[],"mappings":";;AAoGA,4DAMC;AAQD,gEAMC;AAxHD,gDAAkE;AAClE,0DAAuD;AACvD,8DAA2D;AAC3D,sEAAmE;AACnE,oDAAwD;AACxD,2DAAwD;AACxD,mDAA4C;AAC5C,yDAA6D;AAC7D,6DAA6D;AAC7D,0DAAkE;AAClE,oDAAoD;AACpD,2EAAwE;AACxE,qEAAkE;AAClE,mEAAgE;AAChE,qDAAuD;AACvD,6DAAiE;AACjE,yCAAsC;AACtC,kDAAwE;AACxE,wDAA+D;AAC/D,uEAAmE;AACnE,qDAAqD;AACrD,0DAAyD;AACzD,sDAAqD;AACrD,gDAA4D;AAC5D,gFAA+E;AAC/E,kFAAiF;AACjF,8CAAkD;AAClD,+FAAwF;AACxF,qFAA8E;AAC9E,wEAAmG;AACnG,gEAA+D;AAC/D,4DAAwD;AACxD,+CAA+C;AAC/C,+CAA8C;AAC9C,2DAAmD;AAGnD,MAAM,QAAQ,GAAG;IACf,gCAAgB;IAChB,kDAAwB;IACxB,kCAAgB;IAChB,wCAAmB;IACnB,6BAAiB;IACjB,GAAG,sBAAQ;IACX,uCAAoB;IACpB,uCAAsB;IACtB,yCAAyB;IACzB,0CAAoB;IACpB,GAAG,4CAAqB;IACxB,6BAAiB;IACjB,6BAAe;IACf,+BAAiB;IACjB,uCAAsB;IACtB,gBAAO;IACP,sBAAU;IACV,mCAAuB;IACvB,kCAAqB;IACrB,mCAAgB;IAChB,+BAAgB;IAChB,0BAAY;IACZ,oCAAkB;IAClB,kDAAsB;IACtB,4DAA2B;IAC3B,uCAA0B;IAC1B,0DAA6B;IAC7B,4DAA8B;IAC9B,+CAA0B;IAC1B,0CAAqB;IACrB,oCAAkB;IAClB,uBAAU;IACV,yBAAa;IACb,wBAAY;IACZ,6BAAW;IACX,kCAAgB;CACjB,CAAA;AAED,MAAM,OAAO,GAAG,IAAI,GAAG,EAAoD,CAAA;AAE3E,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;IAC5B,MAAM,OAAO,GAAG,IAAA,8BAAgB,EAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IACjD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE;YACnB,QAAQ,EAAE,EAAE;YACZ,MAAM,EAAE,EAAE;SACX,CAAC,CAAA;IACJ,CAAC;IACD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAE,CAAA;IACnC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACzB,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC3B,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAgB,wBAAwB,CAAC,OAAmB;IAC1D,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,IAAA,8BAAgB,EAAC,OAAO,CAAC,CAAC,CAAA;IACpD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,EAAE,CAAA;IACX,CAAC;IACD,OAAO,KAAK,CAAC,MAAM,CAAA;AACrB,CAAC;AAED;;;;;GAKG;AACH,SAAgB,0BAA0B,CAAC,OAAmB;IAC5D,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,IAAA,8BAAgB,EAAC,OAAO,CAAC,CAAC,CAAA;IACpD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,EAAE,CAAA;IACX,CAAC;IACD,OAAO,KAAK,CAAC,QAAQ,CAAA;AACvB,CAAC"}
@@ -2,5 +2,5 @@
2
2
  * iam-collect version.
3
3
  * Generated by build, do not manually edit
4
4
  */
5
- export declare const IAM_COLLECT_VERSION = "0.1.204";
5
+ export declare const IAM_COLLECT_VERSION = "0.1.206";
6
6
  //# sourceMappingURL=version.d.ts.map
@@ -2,5 +2,5 @@
2
2
  * iam-collect version.
3
3
  * Generated by build, do not manually edit
4
4
  */
5
- export const IAM_COLLECT_VERSION = '0.1.204';
5
+ export const IAM_COLLECT_VERSION = '0.1.206';
6
6
  //# sourceMappingURL=version.js.map
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * All Valid AWS Services
3
3
  */
4
- export declare const allServices: readonly ["apigateway", "backup", "dynamodb", "ec2", "ecr", "elasticfilesystem", "es", "events", "glacier", "glue", "iam", "kafka", "kinesis", "kms", "lambda", "organizations", "ram", "s3", "s3-object-lambda", "s3express", "s3outposts", "s3tables", "secretsmanager", "sns", "sqs", "sso"];
4
+ export declare const allServices: readonly ["apigateway", "backup", "dynamodb", "ec2", "ecr", "eks", "elasticfilesystem", "es", "events", "glacier", "glue", "iam", "kafka", "kinesis", "kms", "lambda", "organizations", "ram", "s3", "s3-object-lambda", "s3express", "s3outposts", "s3tables", "secretsmanager", "sns", "sqs", "sso"];
5
5
  /**
6
6
  * Type representing a valid AWS service. A union of all strings in `allServices`.
7
7
  */
@@ -1 +1 @@
1
- {"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../../src/services.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,WAAW,iSA2Bd,CAAA;AAEV;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAA;AAErD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CAE5D"}
1
+ {"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../../src/services.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,WAAW,wSA4Bd,CAAA;AAEV;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAA;AAErD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CAE5D"}
@@ -7,6 +7,7 @@ export const allServices = [
7
7
  'dynamodb',
8
8
  'ec2',
9
9
  'ecr',
10
+ 'eks',
10
11
  'elasticfilesystem',
11
12
  'es',
12
13
  'events',
@@ -1 +1 @@
1
- {"version":3,"file":"services.js","sourceRoot":"","sources":["../../src/services.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,YAAY;IACZ,QAAQ;IACR,UAAU;IACV,KAAK;IACL,KAAK;IACL,mBAAmB;IACnB,IAAI;IACJ,QAAQ;IACR,SAAS;IACT,MAAM;IACN,KAAK;IACL,OAAO;IACP,SAAS;IACT,KAAK;IACL,QAAQ;IACR,eAAe;IACf,KAAK;IACL,IAAI;IACJ,kBAAkB;IAClB,WAAW;IACX,YAAY;IACZ,UAAU;IACV,gBAAgB;IAChB,KAAK;IACL,KAAK;IACL,KAAK;CACG,CAAA;AAOV;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,OAAO,OAAO,CAAC,WAAW,EAAgB,CAAA;AAC5C,CAAC"}
1
+ {"version":3,"file":"services.js","sourceRoot":"","sources":["../../src/services.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,YAAY;IACZ,QAAQ;IACR,UAAU;IACV,KAAK;IACL,KAAK;IACL,KAAK;IACL,mBAAmB;IACnB,IAAI;IACJ,QAAQ;IACR,SAAS;IACT,MAAM;IACN,KAAK;IACL,OAAO;IACP,SAAS;IACT,KAAK;IACL,QAAQ;IACR,eAAe;IACf,KAAK;IACL,IAAI;IACJ,kBAAkB;IAClB,WAAW;IACX,YAAY;IACZ,UAAU;IACV,gBAAgB;IAChB,KAAK;IACL,KAAK;IACL,KAAK;CACG,CAAA;AAOV;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,OAAO,OAAO,CAAC,WAAW,EAAgB,CAAA;AAC5C,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { type Sync } from '../sync.js';
2
+ /**
3
+ * Syncs EKS clusters and their access entries. Access entries map IAM principals to
4
+ * Kubernetes permissions and only exist on clusters with the API or API_AND_CONFIG_MAP
5
+ * authentication mode.
6
+ */
7
+ export declare const EksAccessEntriesSync: Sync;
8
+ //# sourceMappingURL=accessEntries.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accessEntries.d.ts","sourceRoot":"","sources":["../../../../src/syncs/eks/accessEntries.ts"],"names":[],"mappings":"AASA,OAAO,EAAmB,KAAK,IAAI,EAAY,MAAM,YAAY,CAAA;AAQjE;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,EAAE,IAsHlC,CAAA"}
@@ -0,0 +1,88 @@
1
+ import { DescribeAccessEntryCommand, DescribeClusterCommand, EKSClient, ListAccessEntriesCommand, ListAssociatedAccessPoliciesCommand, ListClustersCommand } from '@aws-sdk/client-eks';
2
+ import { runAndCatch404, runAndCatchAccessDeniedWithLog } from '../../utils/client-tools.js';
3
+ import { syncData } from '../sync.js';
4
+ import { paginateResource } from '../typedSync.js';
5
+ const paginationConfig = {
6
+ inputKey: 'nextToken',
7
+ outputKey: 'nextToken'
8
+ };
9
+ /**
10
+ * Syncs EKS clusters and their access entries. Access entries map IAM principals to
11
+ * Kubernetes permissions and only exist on clusters with the API or API_AND_CONFIG_MAP
12
+ * authentication mode.
13
+ */
14
+ export const EksAccessEntriesSync = {
15
+ awsService: 'eks',
16
+ name: 'accessEntries',
17
+ execute: async (accountId, region, credentials, storage, endpoint, syncOptions) => {
18
+ const eksClient = syncOptions.clientPool.client(EKSClient, credentials, region, endpoint);
19
+ const clusterNames = await paginateResource(eksClient, ListClustersCommand, 'clusters', paginationConfig);
20
+ const clusterRecords = [];
21
+ const accessEntryRecords = [];
22
+ for (const clusterName of clusterNames) {
23
+ const describeResult = await runAndCatch404(async () => {
24
+ return eksClient.send(new DescribeClusterCommand({ name: clusterName }));
25
+ });
26
+ const cluster = describeResult?.cluster;
27
+ if (!cluster?.arn) {
28
+ continue;
29
+ }
30
+ const authenticationMode = cluster.accessConfig?.authenticationMode;
31
+ clusterRecords.push({
32
+ arn: cluster.arn,
33
+ metadata: {
34
+ name: cluster.name,
35
+ arn: cluster.arn,
36
+ authenticationMode
37
+ },
38
+ tags: cluster.tags
39
+ });
40
+ // Access entries can only be listed when API authentication is enabled.
41
+ if (authenticationMode !== 'API' && authenticationMode !== 'API_AND_CONFIG_MAP') {
42
+ continue;
43
+ }
44
+ const principalArns = await paginateResource(eksClient, ListAccessEntriesCommand, 'accessEntries', paginationConfig, { clusterName });
45
+ for (const principalArn of principalArns) {
46
+ const describeEntryResult = await runAndCatch404(async () => {
47
+ return eksClient.send(new DescribeAccessEntryCommand({ clusterName, principalArn }));
48
+ });
49
+ const accessEntry = describeEntryResult?.accessEntry;
50
+ if (!accessEntry?.accessEntryArn) {
51
+ continue;
52
+ }
53
+ const associatedAccessPolicies = await runAndCatchAccessDeniedWithLog(accessEntry.accessEntryArn, 'eks', 'accessEntry', 'accessPolicies', async () => {
54
+ return paginateResource(eksClient, ListAssociatedAccessPoliciesCommand, 'associatedAccessPolicies', paginationConfig, { clusterName, principalArn });
55
+ });
56
+ accessEntryRecords.push({
57
+ arn: accessEntry.accessEntryArn,
58
+ metadata: {
59
+ arn: accessEntry.accessEntryArn,
60
+ clusterName: accessEntry.clusterName,
61
+ principalArn: accessEntry.principalArn,
62
+ username: accessEntry.username,
63
+ type: accessEntry.type,
64
+ kubernetesGroups: accessEntry.kubernetesGroups
65
+ },
66
+ accessPolicies: associatedAccessPolicies?.map((policy) => ({
67
+ policyArn: policy.policyArn,
68
+ accessScope: policy.accessScope
69
+ })),
70
+ tags: accessEntry.tags
71
+ });
72
+ }
73
+ }
74
+ await syncData(clusterRecords, storage, accountId, {
75
+ service: 'eks',
76
+ resourceType: 'cluster',
77
+ account: accountId,
78
+ region: region
79
+ }, syncOptions.writeOnly);
80
+ await syncData(accessEntryRecords, storage, accountId, {
81
+ service: 'eks',
82
+ resourceType: 'access-entry',
83
+ account: accountId,
84
+ region: region
85
+ }, syncOptions.writeOnly);
86
+ }
87
+ };
88
+ //# sourceMappingURL=accessEntries.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accessEntries.js","sourceRoot":"","sources":["../../../../src/syncs/eks/accessEntries.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"syncMap.d.ts","sourceRoot":"","sources":["../../../src/syncs/syncMap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAoB,MAAM,gBAAgB,CAAA;AAkClE,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,WAAW,CAAA;AA0DrC;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,EAAE,CAMpE;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,EAAE,CAMtE"}
1
+ {"version":3,"file":"syncMap.d.ts","sourceRoot":"","sources":["../../../src/syncs/syncMap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAoB,MAAM,gBAAgB,CAAA;AAmClE,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,WAAW,CAAA;AA2DrC;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,EAAE,CAMpE;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,EAAE,CAMtE"}
@@ -6,6 +6,7 @@ import { DynamoDBTableSync } from './dynamodb/tables.js';
6
6
  import { VpcEndpointsSync } from './ec2/vpcEndpoints.js';
7
7
  import { EcrSyncs } from './ecr/ecrSyncs.js';
8
8
  import { ElasticFileSystemsSync } from './efs/fileSystems.js';
9
+ import { EksAccessEntriesSync } from './eks/accessEntries.js';
9
10
  import { EventBridgeEventBusesSync } from './events/eventBuses.js';
10
11
  import { GlueCatalogSync } from './glue/catalogs.js';
11
12
  import { AuthorizationDetailsSync } from './iam/authorizationDetails.js';
@@ -40,6 +41,7 @@ const allSyncs = [
40
41
  DynamoDbStreamsSync,
41
42
  DynamoDBTableSync,
42
43
  ...EcrSyncs,
44
+ EksAccessEntriesSync,
43
45
  ElasticFileSystemsSync,
44
46
  EventBridgeEventBusesSync,
45
47
  InstanceProfilesSync,
@@ -1 +1 @@
1
- {"version":3,"file":"syncMap.js","sourceRoot":"","sources":["../../../src/syncs/syncMap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"syncMap.js","sourceRoot":"","sources":["../../../src/syncs/syncMap.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cloud-copilot/iam-collect",
3
- "version": "0.1.205",
3
+ "version": "0.1.207",
4
4
  "description": "Collect IAM information from AWS Accounts",
5
5
  "repository": {
6
6
  "type": "git",
@@ -127,6 +127,7 @@
127
127
  "@aws-sdk/client-ec2": "^3.798.0",
128
128
  "@aws-sdk/client-ecr": "^3.798.0",
129
129
  "@aws-sdk/client-efs": "^3.806.0",
130
+ "@aws-sdk/client-eks": "^3.1085.0",
130
131
  "@aws-sdk/client-eventbridge": "^3.873.0",
131
132
  "@aws-sdk/client-glacier": "^3.799.0",
132
133
  "@aws-sdk/client-glue": "^3.812.0",