@cloud-copilot/iam-collect 0.1.57 → 0.1.58
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 +68 -10
- package/dist/cjs/aws/coreAuth.d.ts +2 -2
- package/dist/cjs/aws/coreAuth.d.ts.map +1 -1
- package/dist/cjs/aws/coreAuth.js.map +1 -1
- package/dist/cjs/config/config.d.ts +37 -21
- package/dist/cjs/config/config.d.ts.map +1 -1
- package/dist/cjs/config/config.js +57 -18
- package/dist/cjs/config/config.js.map +1 -1
- package/dist/cjs/config/defaultConfig.d.ts.map +1 -1
- package/dist/cjs/config/defaultConfig.js +3 -5
- package/dist/cjs/config/defaultConfig.js.map +1 -1
- package/dist/cjs/regions.d.ts.map +1 -1
- package/dist/cjs/regions.js +6 -3
- package/dist/cjs/regions.js.map +1 -1
- package/dist/esm/aws/coreAuth.d.ts +2 -2
- package/dist/esm/aws/coreAuth.d.ts.map +1 -1
- package/dist/esm/aws/coreAuth.js.map +1 -1
- package/dist/esm/config/config.d.ts +37 -21
- package/dist/esm/config/config.d.ts.map +1 -1
- package/dist/esm/config/config.js +57 -18
- package/dist/esm/config/config.js.map +1 -1
- package/dist/esm/config/defaultConfig.d.ts.map +1 -1
- package/dist/esm/config/defaultConfig.js +3 -5
- package/dist/esm/config/defaultConfig.js.map +1 -1
- package/dist/esm/regions.d.ts.map +1 -1
- package/dist/esm/regions.js +6 -3
- package/dist/esm/regions.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -4,15 +4,53 @@
|
|
|
4
4
|
|
|
5
5
|
Get every possible policy in any set of AWS accounts. This is built to run out of the box in simple use cases, and also work in terribly oppressive environments with a little more configuration. If you want to analyze IAM data at scale this is what you've been looking for.
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
## Table of Contents
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
1. [Tenets](#iam-collect-tenets)
|
|
10
|
+
2. [Introduction](#introduction)
|
|
11
|
+
3. [Getting Started](#getting-started)
|
|
12
|
+
4. [Configuration](docs/Configuration.md)
|
|
13
|
+
5. [Authentication](docs/Authentication.md)
|
|
14
|
+
6. [Storage](docs/Storage.md)
|
|
15
|
+
7. [Filtering](docs/Filtering.md)
|
|
16
|
+
8. [Indexing](docs/Indexing.md)
|
|
17
|
+
9. [CLI](docs/CLI.md)
|
|
18
|
+
10. [History](docs/History.md)
|
|
19
|
+
11. [Supported Services and Data Downloaded](#supported-services-and-data-downloaded)
|
|
10
20
|
|
|
11
|
-
##
|
|
21
|
+
## iam-collect Tenets
|
|
12
22
|
|
|
13
|
-
|
|
23
|
+
1. _Centralized_ Store [all your data](#supported-services-and-data-downloaded) across all partitions, organizations, accounts, and regions in one place. This is a single source of truth for all your IAM data.
|
|
24
|
+
2. _Easy_ A few commands and you can get started and everything should just work. If resources no longer exist, data is cleaned up automatically
|
|
25
|
+
3. _Configurable_ Store your data on [disk or in S3](docs/Storage.md). You can configure exactly what [accounts, regions, and services](docs/Filtering.md) you want to collect data for; and [customize auth](docs/Authentication.md) for each.
|
|
14
26
|
|
|
15
|
-
|
|
27
|
+
## Introduction
|
|
28
|
+
|
|
29
|
+
### What is iam-collect?
|
|
30
|
+
|
|
31
|
+
iam-collect is a command-line tool that aggregates every IAM-related resource and policy across any number of AWS accounts, regions, and partitions into a single, consistent dataset. It requires minimal setup for simple use cases and allows flexible configuration to operate in even the most restrictive (compliance oriented) environments to give you a single source of truth for your IAM data.
|
|
32
|
+
|
|
33
|
+
### Why use it?
|
|
34
|
+
|
|
35
|
+
- **Centralized store:** Consolidate IAM data from multiple partitions, organizations, and accounts into one structured store.
|
|
36
|
+
- **Get everything:** Collect all the polices from all the resources in all your accounts. Terraform will show you what was intended, iam-collect will show you what is actually there.
|
|
37
|
+
- **Audit and compliance:** Generate comprehensive snapshots of your IAM landscape to support security reviews, audits, and forensics. The structured approach to storage makes it easy to build automation and tooling around the data.
|
|
38
|
+
|
|
39
|
+
### How it works at a glance
|
|
40
|
+
|
|
41
|
+
Every time you run `iam-collect download` it will:
|
|
42
|
+
|
|
43
|
+
1. **Scan:** Connect to AWS account(s) using your configured credentials or roles and retrieve IAM resources (users, roles, policies, etc.) from each target account.
|
|
44
|
+
2. **Store:** Persist the data to your chosen storage (local filesystem or S3), organizing it by partition, account, service, and resource.
|
|
45
|
+
3. **Index:** Build search-friendly JSON indexes that map resources to accounts and other relationships for fast lookups.
|
|
46
|
+
|
|
47
|
+
Then you use the data to analyze your IAM landscape, build reports, or integrate with other tools.
|
|
48
|
+
|
|
49
|
+
## Getting Started
|
|
50
|
+
|
|
51
|
+
By default, iam-collect will use the credentials configured in your environment using the [default credential chain](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-credential-providers/#fromnodeproviderchain). If you have the permissions in the SID `CollectIAMData` in the [example policy](src/aws/collect-policy.json) everything will work for the current account you have credentials for.
|
|
52
|
+
|
|
53
|
+
You don't need the AWS CLI, but a good way to make sure your credentials are configured is to ensure you can run `aws sts get-caller-identity` and a command that requires a region be set such as `aws ec2 describe-instances`.
|
|
16
54
|
|
|
17
55
|
```bash
|
|
18
56
|
npm install -g @cloud-copilot/iam-collect
|
|
@@ -22,13 +60,15 @@ iam-collect init
|
|
|
22
60
|
iam-collect download
|
|
23
61
|
```
|
|
24
62
|
|
|
25
|
-
|
|
63
|
+
### Install
|
|
64
|
+
|
|
65
|
+
You need Node.js >= 20.
|
|
26
66
|
|
|
27
67
|
```bash
|
|
28
68
|
npm install -g @cloud-copilot/iam-collect
|
|
29
69
|
```
|
|
30
70
|
|
|
31
|
-
|
|
71
|
+
### Initialize
|
|
32
72
|
|
|
33
73
|
First you need to initialize the configuration file. This will create a commented iam-collect.jsonc file with comments for the different elements.
|
|
34
74
|
|
|
@@ -38,15 +78,33 @@ iam-collect init
|
|
|
38
78
|
|
|
39
79
|
This will create a file called `iam-collect.jsonc` in the current directory with a simple default configuration and many comments on how to customize the configuration.
|
|
40
80
|
|
|
41
|
-
|
|
81
|
+
### Download
|
|
42
82
|
|
|
43
83
|
```bash
|
|
44
84
|
iam-collect download
|
|
45
85
|
```
|
|
46
86
|
|
|
47
|
-
This will download the IAM data from the current account to the `./iam-data` directory. You can change the output directory by modifying the `path` property in the `storage` configuration.
|
|
87
|
+
This will download the IAM data from the current account to the `./iam-data` directory. You can change the output directory by modifying the `path` property in the `storage` configuration. See the [storage docs](docs/Storage.md) for more details.
|
|
88
|
+
|
|
89
|
+
### Enjoy
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
ls -R ./iam-data
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
This will show you your data that was downloaded. See the [storage docs](docs/Storage.md#StorageLayoutExplained) for more details on the layout of the data.
|
|
96
|
+
|
|
97
|
+
## Additional Docs
|
|
98
|
+
|
|
99
|
+
- [Configuration](docs/Configuration.md) - Set the configuration files to use.
|
|
100
|
+
- [Authentication](docs/Authentication.md) - Configure authentication for different accounts, services, and regions.
|
|
101
|
+
- [Storage](docs/Storage.md) - Configure where your data is stored.
|
|
102
|
+
- [Filtering](docs/Filtering.md) - Configure what accounts, services, and regions are downloaded.
|
|
103
|
+
- [Indexing](docs/Indexing.md) - Disable or manually run indexing.
|
|
104
|
+
- [CLI](docs/CLI.md) - Details on the CLI commands and options.
|
|
105
|
+
- [History](docs/History.md) - How to track history of changes.
|
|
48
106
|
|
|
49
|
-
|
|
107
|
+
## Supported Services and Data Downloaded
|
|
50
108
|
|
|
51
109
|
| Service | Resource Type | Data Downloaded |
|
|
52
110
|
| ----------------- | --------------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AwsCredentialIdentity } from '@aws-sdk/types';
|
|
2
|
-
import { AuthConfig
|
|
2
|
+
import { AuthConfig } from '../config/config.js';
|
|
3
3
|
/**
|
|
4
4
|
* Credentials with additional metadata, including the AWS account ID and partition.
|
|
5
5
|
*/
|
|
@@ -41,5 +41,5 @@ export declare function getNewCredentials(accountId: string, authConfig: AuthCon
|
|
|
41
41
|
* @param logInfo any additional information to log while getting the credentials
|
|
42
42
|
* @returns new credentials based on the provided auth configuration
|
|
43
43
|
*/
|
|
44
|
-
export declare function getNewInitialCredentials(authConfig:
|
|
44
|
+
export declare function getNewInitialCredentials(authConfig: AuthConfig | undefined, logInfo?: Record<string, unknown>): Promise<AwsCredentialIdentityWithMetaData>;
|
|
45
45
|
//# sourceMappingURL=coreAuth.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coreAuth.d.ts","sourceRoot":"","sources":["../../../src/aws/coreAuth.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;AACtD,OAAO,EAAE,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"coreAuth.d.ts","sourceRoot":"","sources":["../../../src/aws/coreAuth.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAKhD;;GAEG;AACH,MAAM,WAAW,iCAAkC,SAAQ,qBAAqB;IAC9E;;OAEG;IACH,SAAS,EAAE,MAAM,CAAA;IAEjB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAA;CAClB;AAED;;;;;;GAMG;AACH,wBAAgB,GAAG,IAAI,MAAM,CAE5B;AAED;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,UAAU,GAAG,SAAS,GACjC,OAAO,CAAC,iCAAiC,CAAC,CAwC5C;AAED;;;;;;;;;GASG;AACH,wBAAsB,wBAAwB,CAC5C,UAAU,EAAE,UAAU,GAAG,SAAS,EAClC,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACpC,OAAO,CAAC,iCAAiC,CAAC,CA6C5C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coreAuth.js","sourceRoot":"","sources":["../../../src/aws/coreAuth.ts"],"names":[],"mappings":";;AAiCA,kBAEC;AAWD,8CA2CC;AAYD,4DAgDC;AArJD,wEAIsC;AAGtC,4CAAqC;AACrC,oDAAsD;AACtD,2CAA0C;AAiB1C;;;;;;GAMG;AACH,SAAgB,GAAG;IACjB,OAAO,IAAI,CAAC,GAAG,EAAE,CAAA;AACnB,CAAC;AAED;;;;;;;;GAQG;AACI,KAAK,UAAU,iBAAiB,CACrC,SAAiB,EACjB,UAAkC;IAElC,MAAM,eAAe,GAAG,MAAM,wBAAwB,CAAC,UAAU,EAAE;QACjE,SAAS;KACV,CAAC,CAAA;IAEF,IAAI,WAAW,GAAG,eAAe,CAAA;IACjC,IAAI,UAAU,EAAE,IAAI,EAAE,CAAC;QACrB,MAAM,OAAO,GAAG,OAAO,eAAe,CAAC,SAAS,SAAS,SAAS,SAAS,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,CAAA;QACxG,YAAG,CAAC,KAAK,CACP,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,eAAe,CAAC,SAAS,EAAE,EAChE,4CAA4C,CAC7C,CAAA;QACD,MAAM,YAAY,GAAG,IAAA,+CAAwB,EAAC;YAC5C,iBAAiB,EAAE,eAAe;YAClC,MAAM,EAAE;gBACN,OAAO,EAAE,OAAO;gBAChB,UAAU,EAAE,UAAU,CAAC,IAAI,CAAC,UAAU;gBACtC,eAAe,EAAE,UAAU,CAAC,IAAI,CAAC,WAAW,IAAI,eAAe,IAAA,6BAAgB,GAAE,EAAE;aACpF;SACF,CAAC,CAAA;QAEF,MAAM,eAAe,GAAG,MAAM,YAAY,EAAE,CAAA;QAC5C,WAAW,GAAG;YACZ,GAAG,eAAe;YAClB,SAAS,EAAE,SAAS;YACpB,SAAS,EAAE,eAAe,CAAC,SAAS;SACrC,CAAA;IACH,CAAC;SAAM,IAAI,eAAe,CAAC,SAAS,IAAI,SAAS,EAAE,CAAC;QAClD,wGAAwG;QACxG,oFAAoF;QACpF,YAAG,CAAC,KAAK,CAAC,+BAA+B,EAAE;YACzC,gBAAgB,EAAE,SAAS;YAC3B,gBAAgB,EAAE,eAAe,CAAC,SAAS;SAC5C,CAAC,CAAA;QACF,MAAM,IAAI,KAAK,CACb,iEAAiE,SAAS,WAAW,eAAe,CAAC,SAAS,yCAAyC,CACxJ,CAAA;IACH,CAAC;IAED,OAAO,WAAW,CAAA;AACpB,CAAC;AAED;;;;;;;;;GASG;AACI,KAAK,UAAU,wBAAwB,CAC5C,
|
|
1
|
+
{"version":3,"file":"coreAuth.js","sourceRoot":"","sources":["../../../src/aws/coreAuth.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,22 +4,6 @@ export interface AuthConfig {
|
|
|
4
4
|
* The profile to use when authenticating with AWS. If not present, the default AWS SDK credential resolution chain will be used.
|
|
5
5
|
*/
|
|
6
6
|
profile?: string;
|
|
7
|
-
role?: {
|
|
8
|
-
/**
|
|
9
|
-
* The path and name of the role to assume. Required if using a role.
|
|
10
|
-
*/
|
|
11
|
-
pathAndName: string;
|
|
12
|
-
/**
|
|
13
|
-
* Optional, the external id to use when assuming the role.
|
|
14
|
-
*/
|
|
15
|
-
externalId?: string;
|
|
16
|
-
/**
|
|
17
|
-
* Optional, the session name to use when assuming the role.
|
|
18
|
-
*/
|
|
19
|
-
sessionName?: string;
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
|
-
export interface RootAuthConfig extends AuthConfig {
|
|
23
7
|
/**
|
|
24
8
|
* An optional initial Role to assume in the first phase of the authentication process before
|
|
25
9
|
* assuming any roles in the target accounts.
|
|
@@ -48,6 +32,27 @@ export interface RootAuthConfig extends AuthConfig {
|
|
|
48
32
|
*/
|
|
49
33
|
sessionName?: string;
|
|
50
34
|
};
|
|
35
|
+
role?: {
|
|
36
|
+
/**
|
|
37
|
+
* The path and name of the role to assume. Required if using a role.
|
|
38
|
+
*/
|
|
39
|
+
pathAndName: string;
|
|
40
|
+
/**
|
|
41
|
+
* Optional, the external id to use when assuming the role.
|
|
42
|
+
*/
|
|
43
|
+
externalId?: string;
|
|
44
|
+
/**
|
|
45
|
+
* Optional, the session name to use when assuming the role.
|
|
46
|
+
*/
|
|
47
|
+
sessionName?: string;
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* An AuthConfig that is completely optional for all fields.
|
|
52
|
+
* This is used to allow for partial auth configs in the account/service/region configs.
|
|
53
|
+
*/
|
|
54
|
+
export interface OptionalAuthConfig extends Omit<AuthConfig, 'role'> {
|
|
55
|
+
role?: Partial<AuthConfig['role']>;
|
|
51
56
|
}
|
|
52
57
|
export interface FileSystemStorageConfig {
|
|
53
58
|
type: 'file';
|
|
@@ -59,7 +64,7 @@ export interface S3StorageConfig {
|
|
|
59
64
|
prefix?: string;
|
|
60
65
|
region: string;
|
|
61
66
|
endpoint?: string;
|
|
62
|
-
auth?:
|
|
67
|
+
auth?: AuthConfig;
|
|
63
68
|
}
|
|
64
69
|
export type StorageConfig = FileSystemStorageConfig | S3StorageConfig;
|
|
65
70
|
interface BaseConfig {
|
|
@@ -73,10 +78,11 @@ interface BaseConfig {
|
|
|
73
78
|
};
|
|
74
79
|
auth?: AuthConfig;
|
|
75
80
|
}
|
|
76
|
-
interface ServiceConfig extends BaseConfig {
|
|
81
|
+
interface ServiceConfig extends Omit<BaseConfig, 'auth'> {
|
|
77
82
|
endpoint?: string;
|
|
78
83
|
regionConfigs?: Record<string, Omit<ServiceConfig, 'regionConfigs'>>;
|
|
79
84
|
syncConfigs?: Record<string, SyncConfig>;
|
|
85
|
+
auth?: OptionalAuthConfig;
|
|
80
86
|
}
|
|
81
87
|
interface SyncConfig {
|
|
82
88
|
regions?: {
|
|
@@ -85,14 +91,15 @@ interface SyncConfig {
|
|
|
85
91
|
};
|
|
86
92
|
auth?: AuthConfig;
|
|
87
93
|
}
|
|
88
|
-
interface AccountConfig extends BaseConfig {
|
|
94
|
+
interface AccountConfig extends Omit<BaseConfig, 'auth'> {
|
|
89
95
|
serviceConfigs?: Record<string, ServiceConfig>;
|
|
96
|
+
auth?: OptionalAuthConfig;
|
|
90
97
|
}
|
|
91
98
|
export interface TopLevelConfig extends BaseConfig {
|
|
92
99
|
name?: string;
|
|
93
100
|
iamCollectVersion: string;
|
|
94
101
|
storage?: StorageConfig;
|
|
95
|
-
auth?:
|
|
102
|
+
auth?: AuthConfig;
|
|
96
103
|
accounts?: {
|
|
97
104
|
included?: string[];
|
|
98
105
|
};
|
|
@@ -114,8 +121,17 @@ export interface ResolvedAccountServiceRegionConfig {
|
|
|
114
121
|
* @param configs the configs to search for the default auth config
|
|
115
122
|
* @returns the default auth config, or an empty object if none found
|
|
116
123
|
*/
|
|
117
|
-
export declare function getDefaultAuthConfig(configs: TopLevelConfig[]):
|
|
124
|
+
export declare function getDefaultAuthConfig(configs: TopLevelConfig[]): AuthConfig;
|
|
118
125
|
export declare function servicesForAccount(account: string, configs: TopLevelConfig[], allServices: string[]): ServicesForAccount;
|
|
126
|
+
/**
|
|
127
|
+
* Get the regions for a specific service and account.
|
|
128
|
+
*
|
|
129
|
+
* @param service the service to get the regions for
|
|
130
|
+
* @param account the account to get the regions for
|
|
131
|
+
* @param configs the configs to search
|
|
132
|
+
* @param allRegions the list of all regions to filter from
|
|
133
|
+
* @returns the regions for the service and account
|
|
134
|
+
*/
|
|
119
135
|
export declare function regionsForService(service: string, account: string, configs: TopLevelConfig[], allRegions: string[]): RegionsForAccountService;
|
|
120
136
|
export declare function accountServiceRegionConfig(service: string, accountId: string, region: string, configs: TopLevelConfig[]): ResolvedAccountServiceRegionConfig;
|
|
121
137
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/config/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAE3C,MAAM,WAAW,UAAU;IACzB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/config/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,60 +28,69 @@ function servicesForAccount(account, configs, allServices) {
|
|
|
28
28
|
let services = allServices;
|
|
29
29
|
for (const config of configs) {
|
|
30
30
|
if (config.services?.included) {
|
|
31
|
-
services = config.services.included;
|
|
31
|
+
services = intersection(allServices, config.services.included);
|
|
32
32
|
}
|
|
33
33
|
if (config.services?.excluded) {
|
|
34
|
-
services = services
|
|
34
|
+
services = difference(services, config.services.excluded);
|
|
35
35
|
}
|
|
36
36
|
const accountServices = config.accountConfigs?.[account]?.services;
|
|
37
37
|
if (accountServices) {
|
|
38
38
|
if (accountServices.included) {
|
|
39
39
|
for (const service of accountServices.included) {
|
|
40
|
-
if (!services.includes(service)) {
|
|
40
|
+
if (!services.includes(service) && allServices.includes(service)) {
|
|
41
41
|
services.push(service);
|
|
42
42
|
}
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
45
|
if (accountServices.excluded) {
|
|
46
|
-
services = services
|
|
46
|
+
services = difference(services, accountServices.excluded);
|
|
47
47
|
}
|
|
48
48
|
}
|
|
49
49
|
}
|
|
50
50
|
return services;
|
|
51
51
|
}
|
|
52
|
+
/**
|
|
53
|
+
* Get the regions for a specific service and account.
|
|
54
|
+
*
|
|
55
|
+
* @param service the service to get the regions for
|
|
56
|
+
* @param account the account to get the regions for
|
|
57
|
+
* @param configs the configs to search
|
|
58
|
+
* @param allRegions the list of all regions to filter from
|
|
59
|
+
* @returns the regions for the service and account
|
|
60
|
+
*/
|
|
52
61
|
function regionsForService(service, account, configs, allRegions) {
|
|
53
62
|
let regions = allRegions;
|
|
54
63
|
for (const config of configs) {
|
|
55
64
|
if (config.regions?.included) {
|
|
56
|
-
regions = config.regions.included;
|
|
65
|
+
regions = intersection(allRegions, config.regions.included);
|
|
57
66
|
}
|
|
58
67
|
if (config.regions?.excluded) {
|
|
59
|
-
regions = regions
|
|
68
|
+
regions = difference(regions, config.regions.excluded);
|
|
60
69
|
}
|
|
61
70
|
const serviceConfig = config.serviceConfigs?.[service];
|
|
62
71
|
if (serviceConfig) {
|
|
63
72
|
if (serviceConfig.regions?.included) {
|
|
64
|
-
regions = serviceConfig.regions.included;
|
|
73
|
+
regions = intersection(allRegions, serviceConfig.regions.included);
|
|
65
74
|
}
|
|
66
75
|
if (serviceConfig.regions?.excluded) {
|
|
67
|
-
regions = regions
|
|
76
|
+
regions = difference(regions, serviceConfig.regions.excluded);
|
|
68
77
|
}
|
|
69
78
|
}
|
|
70
79
|
const accountConfig = config.accountConfigs?.[account];
|
|
71
80
|
if (accountConfig) {
|
|
72
81
|
if (accountConfig.regions?.included) {
|
|
73
|
-
regions = accountConfig.regions.included;
|
|
82
|
+
regions = intersection(allRegions, accountConfig.regions.included);
|
|
74
83
|
}
|
|
75
84
|
if (accountConfig.regions?.excluded) {
|
|
76
|
-
regions = regions
|
|
85
|
+
regions = difference(regions, accountConfig.regions.excluded);
|
|
77
86
|
}
|
|
78
87
|
const accountServices = accountConfig.serviceConfigs?.[service];
|
|
79
88
|
if (accountServices) {
|
|
80
89
|
if (accountServices.regions?.included) {
|
|
81
|
-
regions = accountServices.regions.included;
|
|
90
|
+
regions = intersection(allRegions, accountServices.regions.included);
|
|
82
91
|
}
|
|
83
92
|
if (accountServices.regions?.excluded) {
|
|
84
|
-
regions = regions
|
|
93
|
+
regions = difference(regions, accountServices.regions.excluded);
|
|
85
94
|
}
|
|
86
95
|
}
|
|
87
96
|
}
|
|
@@ -101,7 +110,7 @@ function accountServiceRegionConfig(service, accountId, region, configs) {
|
|
|
101
110
|
const serviceConfig = config.serviceConfigs?.[service];
|
|
102
111
|
if (serviceConfig) {
|
|
103
112
|
if (serviceConfig.auth) {
|
|
104
|
-
result.auth =
|
|
113
|
+
result.auth = mergeAuthConfigs(result.auth, serviceConfig.auth);
|
|
105
114
|
}
|
|
106
115
|
if (serviceConfig.endpoint) {
|
|
107
116
|
result.endpoint = serviceConfig.endpoint;
|
|
@@ -109,7 +118,7 @@ function accountServiceRegionConfig(service, accountId, region, configs) {
|
|
|
109
118
|
const regionConfig = serviceConfig.regionConfigs?.[region];
|
|
110
119
|
if (regionConfig) {
|
|
111
120
|
if (regionConfig.auth) {
|
|
112
|
-
result.auth =
|
|
121
|
+
result.auth = mergeAuthConfigs(result.auth, regionConfig.auth);
|
|
113
122
|
}
|
|
114
123
|
if (regionConfig.endpoint) {
|
|
115
124
|
result.endpoint = regionConfig.endpoint;
|
|
@@ -119,12 +128,12 @@ function accountServiceRegionConfig(service, accountId, region, configs) {
|
|
|
119
128
|
const accountConfig = config.accountConfigs?.[accountId];
|
|
120
129
|
if (accountConfig) {
|
|
121
130
|
if (accountConfig.auth) {
|
|
122
|
-
result.auth = accountConfig.auth;
|
|
131
|
+
result.auth = mergeAuthConfigs(result.auth, accountConfig.auth);
|
|
123
132
|
}
|
|
124
133
|
const accountServiceConfig = accountConfig.serviceConfigs?.[service];
|
|
125
134
|
if (accountServiceConfig) {
|
|
126
135
|
if (accountServiceConfig.auth) {
|
|
127
|
-
result.auth =
|
|
136
|
+
result.auth = mergeAuthConfigs(result.auth, accountServiceConfig.auth);
|
|
128
137
|
}
|
|
129
138
|
if (accountServiceConfig.endpoint) {
|
|
130
139
|
result.endpoint = accountServiceConfig.endpoint;
|
|
@@ -132,7 +141,7 @@ function accountServiceRegionConfig(service, accountId, region, configs) {
|
|
|
132
141
|
const accountRegionConfig = accountServiceConfig.regionConfigs?.[region];
|
|
133
142
|
if (accountRegionConfig) {
|
|
134
143
|
if (accountRegionConfig.auth) {
|
|
135
|
-
result.auth =
|
|
144
|
+
result.auth = mergeAuthConfigs(result.auth, accountRegionConfig.auth);
|
|
136
145
|
}
|
|
137
146
|
if (accountRegionConfig.endpoint) {
|
|
138
147
|
result.endpoint = accountRegionConfig.endpoint;
|
|
@@ -158,7 +167,7 @@ function getAccountAuthConfig(accountId, configs) {
|
|
|
158
167
|
}
|
|
159
168
|
const accountConfig = config.accountConfigs?.[accountId];
|
|
160
169
|
if (accountConfig?.auth) {
|
|
161
|
-
result =
|
|
170
|
+
result = mergeAuthConfigs(result, accountConfig.auth);
|
|
162
171
|
}
|
|
163
172
|
}
|
|
164
173
|
return result;
|
|
@@ -228,4 +237,34 @@ function getConfiguredAccounts(configs) {
|
|
|
228
237
|
}
|
|
229
238
|
return [];
|
|
230
239
|
}
|
|
240
|
+
function mergeAuthConfigs(initialConfig, newConfig) {
|
|
241
|
+
if (!initialConfig) {
|
|
242
|
+
initialConfig = {};
|
|
243
|
+
}
|
|
244
|
+
if (!newConfig) {
|
|
245
|
+
return initialConfig;
|
|
246
|
+
}
|
|
247
|
+
if ('profile' in newConfig) {
|
|
248
|
+
initialConfig.profile = newConfig.profile;
|
|
249
|
+
}
|
|
250
|
+
if ('initialRole' in newConfig) {
|
|
251
|
+
initialConfig.initialRole = {
|
|
252
|
+
...(initialConfig.initialRole || {}),
|
|
253
|
+
...newConfig.initialRole
|
|
254
|
+
};
|
|
255
|
+
}
|
|
256
|
+
if ('role' in newConfig) {
|
|
257
|
+
initialConfig.role = {
|
|
258
|
+
...(initialConfig.role || {}),
|
|
259
|
+
...newConfig.role
|
|
260
|
+
};
|
|
261
|
+
}
|
|
262
|
+
return initialConfig;
|
|
263
|
+
}
|
|
264
|
+
function intersection(a, b) {
|
|
265
|
+
return a.filter((value) => b.includes(value));
|
|
266
|
+
}
|
|
267
|
+
function difference(a, b) {
|
|
268
|
+
return a.filter((value) => !b.includes(value));
|
|
269
|
+
}
|
|
231
270
|
//# sourceMappingURL=config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/config/config.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/config/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaultConfig.d.ts","sourceRoot":"","sources":["../../../src/config/defaultConfig.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,qBAAqB,sBAAsB,CAAA;AAExD;;;;GAIG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,OAAO,CAE7C;
|
|
1
|
+
{"version":3,"file":"defaultConfig.d.ts","sourceRoot":"","sources":["../../../src/config/defaultConfig.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,qBAAqB,sBAAsB,CAAA;AAExD;;;;GAIG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,OAAO,CAE7C;AAwGD,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC,CAGxD"}
|
|
@@ -44,11 +44,9 @@ const defaultConfig = `
|
|
|
44
44
|
"prefix": "iam-data/",
|
|
45
45
|
"region": "us-west-2",
|
|
46
46
|
"endpoint": "https://s3.us-west-2.amazonaws.com", // Optional endpoint if using a specific VPC endpoint
|
|
47
|
-
//Optional auth configuration, see https://github.com/cloud-copilot/iam-collect/docs/
|
|
47
|
+
//Optional auth configuration, see https://github.com/cloud-copilot/iam-collect/docs/Storage.md
|
|
48
48
|
"auth": {
|
|
49
|
-
//
|
|
50
|
-
// Can include accountId
|
|
51
|
-
"accountId": "123456789012"
|
|
49
|
+
// See https://github.com/cloud-copilot/iam-collect/docs/Storage.md
|
|
52
50
|
}
|
|
53
51
|
},
|
|
54
52
|
*/
|
|
@@ -120,7 +118,7 @@ const defaultConfig = `
|
|
|
120
118
|
|
|
121
119
|
// Optional block for authentication, see , see https://github.com/cloud-copilot/iam-collect/docs/Authentication.md
|
|
122
120
|
// "auth": {
|
|
123
|
-
// //The type of authentication to use
|
|
121
|
+
// //The type of authentication to use before connecting to any individual accounts
|
|
124
122
|
// }
|
|
125
123
|
|
|
126
124
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaultConfig.js","sourceRoot":"","sources":["../../../src/config/defaultConfig.ts"],"names":[],"mappings":";;;AAWA,sDAEC;AAMD,kDAEC;
|
|
1
|
+
{"version":3,"file":"defaultConfig.js","sourceRoot":"","sources":["../../../src/config/defaultConfig.ts"],"names":[],"mappings":";;;AAWA,sDAEC;AAMD,kDAEC;AAwGD,4CAGC;AAhID,2BAA+B;AAC/B,+BAA8B;AAC9B,2DAAuD;AAE1C,QAAA,qBAAqB,GAAG,mBAAmB,CAAA;AAExD;;;;GAIG;AACH,SAAgB,qBAAqB;IACnC,OAAO,IAAA,cAAO,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,6BAAqB,CAAC,CAAA;AACtD,CAAC;AAED;;;GAGG;AACH,SAAgB,mBAAmB;IACjC,OAAO,IAAA,eAAU,EAAC,qBAAqB,EAAE,CAAC,CAAA;AAC5C,CAAC;AAED,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoGrB,CAAA;AAEM,KAAK,UAAU,gBAAgB;IACpC,MAAM,OAAO,GAAG,MAAM,IAAA,qCAAiB,GAAE,CAAA;IACzC,OAAO,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;AAChD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"regions.d.ts","sourceRoot":"","sources":["../../src/regions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iCAAiC,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"regions.d.ts","sourceRoot":"","sources":["../../src/regions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iCAAiC,EAAE,MAAM,mBAAmB,CAAA;AAIrE,wBAAsB,iBAAiB,CACrC,WAAW,EAAE,iCAAiC,GAC7C,OAAO,CAAC,MAAM,EAAE,CAAC,CAmBnB"}
|
package/dist/cjs/regions.js
CHANGED
|
@@ -2,14 +2,17 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getEnabledRegions = getEnabledRegions;
|
|
4
4
|
const client_account_1 = require("@aws-sdk/client-account");
|
|
5
|
+
const typedSync_js_1 = require("./syncs/typedSync.js");
|
|
5
6
|
const types_js_1 = require("./utils/types.js");
|
|
6
7
|
async function getEnabledRegions(credentials) {
|
|
7
8
|
const accountClient = new client_account_1.AccountClient({ credentials });
|
|
8
|
-
const
|
|
9
|
+
const enabledRegions = await (0, typedSync_js_1.paginateResource)(accountClient, client_account_1.ListRegionsCommand, 'Regions', {
|
|
10
|
+
inputKey: 'NextToken',
|
|
11
|
+
outputKey: 'NextToken'
|
|
12
|
+
}, {
|
|
9
13
|
RegionOptStatusContains: [client_account_1.RegionOptStatus.ENABLED, client_account_1.RegionOptStatus.ENABLED_BY_DEFAULT]
|
|
10
14
|
});
|
|
11
|
-
const
|
|
12
|
-
const regions = result.Regions?.map((r) => r.RegionName).filter(types_js_1.isDefined) || [];
|
|
15
|
+
const regions = enabledRegions.map((r) => r.RegionName).filter(types_js_1.isDefined) || [];
|
|
13
16
|
return regions;
|
|
14
17
|
}
|
|
15
18
|
//# sourceMappingURL=regions.js.map
|
package/dist/cjs/regions.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"regions.js","sourceRoot":"","sources":["../../src/regions.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"regions.js","sourceRoot":"","sources":["../../src/regions.ts"],"names":[],"mappings":";;AAKA,8CAqBC;AA1BD,4DAA4F;AAE5F,uDAAuD;AACvD,+CAA4C;AAErC,KAAK,UAAU,iBAAiB,CACrC,WAA8C;IAE9C,MAAM,aAAa,GAAG,IAAI,8BAAa,CAAC,EAAE,WAAW,EAAE,CAAC,CAAA;IAExD,MAAM,cAAc,GAAG,MAAM,IAAA,+BAAgB,EAC3C,aAAa,EACb,mCAAkB,EAClB,SAAS,EACT;QACE,QAAQ,EAAE,WAAW;QACrB,SAAS,EAAE,WAAW;KACvB,EACD;QACE,uBAAuB,EAAE,CAAC,gCAAe,CAAC,OAAO,EAAE,gCAAe,CAAC,kBAAkB,CAAC;KACvF,CACF,CAAA;IAED,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAW,CAAC,CAAC,MAAM,CAAC,oBAAS,CAAC,IAAI,EAAE,CAAA;IAEhF,OAAO,OAAO,CAAA;AAChB,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AwsCredentialIdentity } from '@aws-sdk/types';
|
|
2
|
-
import { AuthConfig
|
|
2
|
+
import { AuthConfig } from '../config/config.js';
|
|
3
3
|
/**
|
|
4
4
|
* Credentials with additional metadata, including the AWS account ID and partition.
|
|
5
5
|
*/
|
|
@@ -41,5 +41,5 @@ export declare function getNewCredentials(accountId: string, authConfig: AuthCon
|
|
|
41
41
|
* @param logInfo any additional information to log while getting the credentials
|
|
42
42
|
* @returns new credentials based on the provided auth configuration
|
|
43
43
|
*/
|
|
44
|
-
export declare function getNewInitialCredentials(authConfig:
|
|
44
|
+
export declare function getNewInitialCredentials(authConfig: AuthConfig | undefined, logInfo?: Record<string, unknown>): Promise<AwsCredentialIdentityWithMetaData>;
|
|
45
45
|
//# sourceMappingURL=coreAuth.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coreAuth.d.ts","sourceRoot":"","sources":["../../../src/aws/coreAuth.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;AACtD,OAAO,EAAE,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"coreAuth.d.ts","sourceRoot":"","sources":["../../../src/aws/coreAuth.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAKhD;;GAEG;AACH,MAAM,WAAW,iCAAkC,SAAQ,qBAAqB;IAC9E;;OAEG;IACH,SAAS,EAAE,MAAM,CAAA;IAEjB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAA;CAClB;AAED;;;;;;GAMG;AACH,wBAAgB,GAAG,IAAI,MAAM,CAE5B;AAED;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,UAAU,GAAG,SAAS,GACjC,OAAO,CAAC,iCAAiC,CAAC,CAwC5C;AAED;;;;;;;;;GASG;AACH,wBAAsB,wBAAwB,CAC5C,UAAU,EAAE,UAAU,GAAG,SAAS,EAClC,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACpC,OAAO,CAAC,iCAAiC,CAAC,CA6C5C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coreAuth.js","sourceRoot":"","sources":["../../../src/aws/coreAuth.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,qBAAqB,EACrB,wBAAwB,EACzB,MAAM,+BAA+B,CAAA;AAGtC,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAA;AACrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAiB1C;;;;;;GAMG;AACH,MAAM,UAAU,GAAG;IACjB,OAAO,IAAI,CAAC,GAAG,EAAE,CAAA;AACnB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,SAAiB,EACjB,UAAkC;IAElC,MAAM,eAAe,GAAG,MAAM,wBAAwB,CAAC,UAAU,EAAE;QACjE,SAAS;KACV,CAAC,CAAA;IAEF,IAAI,WAAW,GAAG,eAAe,CAAA;IACjC,IAAI,UAAU,EAAE,IAAI,EAAE,CAAC;QACrB,MAAM,OAAO,GAAG,OAAO,eAAe,CAAC,SAAS,SAAS,SAAS,SAAS,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,CAAA;QACxG,GAAG,CAAC,KAAK,CACP,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,eAAe,CAAC,SAAS,EAAE,EAChE,4CAA4C,CAC7C,CAAA;QACD,MAAM,YAAY,GAAG,wBAAwB,CAAC;YAC5C,iBAAiB,EAAE,eAAe;YAClC,MAAM,EAAE;gBACN,OAAO,EAAE,OAAO;gBAChB,UAAU,EAAE,UAAU,CAAC,IAAI,CAAC,UAAU;gBACtC,eAAe,EAAE,UAAU,CAAC,IAAI,CAAC,WAAW,IAAI,eAAe,gBAAgB,EAAE,EAAE;aACpF;SACF,CAAC,CAAA;QAEF,MAAM,eAAe,GAAG,MAAM,YAAY,EAAE,CAAA;QAC5C,WAAW,GAAG;YACZ,GAAG,eAAe;YAClB,SAAS,EAAE,SAAS;YACpB,SAAS,EAAE,eAAe,CAAC,SAAS;SACrC,CAAA;IACH,CAAC;SAAM,IAAI,eAAe,CAAC,SAAS,IAAI,SAAS,EAAE,CAAC;QAClD,wGAAwG;QACxG,oFAAoF;QACpF,GAAG,CAAC,KAAK,CAAC,+BAA+B,EAAE;YACzC,gBAAgB,EAAE,SAAS;YAC3B,gBAAgB,EAAE,eAAe,CAAC,SAAS;SAC5C,CAAC,CAAA;QACF,MAAM,IAAI,KAAK,CACb,iEAAiE,SAAS,WAAW,eAAe,CAAC,SAAS,yCAAyC,CACxJ,CAAA;IACH,CAAC;IAED,OAAO,WAAW,CAAA;AACpB,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,
|
|
1
|
+
{"version":3,"file":"coreAuth.js","sourceRoot":"","sources":["../../../src/aws/coreAuth.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,22 +4,6 @@ export interface AuthConfig {
|
|
|
4
4
|
* The profile to use when authenticating with AWS. If not present, the default AWS SDK credential resolution chain will be used.
|
|
5
5
|
*/
|
|
6
6
|
profile?: string;
|
|
7
|
-
role?: {
|
|
8
|
-
/**
|
|
9
|
-
* The path and name of the role to assume. Required if using a role.
|
|
10
|
-
*/
|
|
11
|
-
pathAndName: string;
|
|
12
|
-
/**
|
|
13
|
-
* Optional, the external id to use when assuming the role.
|
|
14
|
-
*/
|
|
15
|
-
externalId?: string;
|
|
16
|
-
/**
|
|
17
|
-
* Optional, the session name to use when assuming the role.
|
|
18
|
-
*/
|
|
19
|
-
sessionName?: string;
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
|
-
export interface RootAuthConfig extends AuthConfig {
|
|
23
7
|
/**
|
|
24
8
|
* An optional initial Role to assume in the first phase of the authentication process before
|
|
25
9
|
* assuming any roles in the target accounts.
|
|
@@ -48,6 +32,27 @@ export interface RootAuthConfig extends AuthConfig {
|
|
|
48
32
|
*/
|
|
49
33
|
sessionName?: string;
|
|
50
34
|
};
|
|
35
|
+
role?: {
|
|
36
|
+
/**
|
|
37
|
+
* The path and name of the role to assume. Required if using a role.
|
|
38
|
+
*/
|
|
39
|
+
pathAndName: string;
|
|
40
|
+
/**
|
|
41
|
+
* Optional, the external id to use when assuming the role.
|
|
42
|
+
*/
|
|
43
|
+
externalId?: string;
|
|
44
|
+
/**
|
|
45
|
+
* Optional, the session name to use when assuming the role.
|
|
46
|
+
*/
|
|
47
|
+
sessionName?: string;
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* An AuthConfig that is completely optional for all fields.
|
|
52
|
+
* This is used to allow for partial auth configs in the account/service/region configs.
|
|
53
|
+
*/
|
|
54
|
+
export interface OptionalAuthConfig extends Omit<AuthConfig, 'role'> {
|
|
55
|
+
role?: Partial<AuthConfig['role']>;
|
|
51
56
|
}
|
|
52
57
|
export interface FileSystemStorageConfig {
|
|
53
58
|
type: 'file';
|
|
@@ -59,7 +64,7 @@ export interface S3StorageConfig {
|
|
|
59
64
|
prefix?: string;
|
|
60
65
|
region: string;
|
|
61
66
|
endpoint?: string;
|
|
62
|
-
auth?:
|
|
67
|
+
auth?: AuthConfig;
|
|
63
68
|
}
|
|
64
69
|
export type StorageConfig = FileSystemStorageConfig | S3StorageConfig;
|
|
65
70
|
interface BaseConfig {
|
|
@@ -73,10 +78,11 @@ interface BaseConfig {
|
|
|
73
78
|
};
|
|
74
79
|
auth?: AuthConfig;
|
|
75
80
|
}
|
|
76
|
-
interface ServiceConfig extends BaseConfig {
|
|
81
|
+
interface ServiceConfig extends Omit<BaseConfig, 'auth'> {
|
|
77
82
|
endpoint?: string;
|
|
78
83
|
regionConfigs?: Record<string, Omit<ServiceConfig, 'regionConfigs'>>;
|
|
79
84
|
syncConfigs?: Record<string, SyncConfig>;
|
|
85
|
+
auth?: OptionalAuthConfig;
|
|
80
86
|
}
|
|
81
87
|
interface SyncConfig {
|
|
82
88
|
regions?: {
|
|
@@ -85,14 +91,15 @@ interface SyncConfig {
|
|
|
85
91
|
};
|
|
86
92
|
auth?: AuthConfig;
|
|
87
93
|
}
|
|
88
|
-
interface AccountConfig extends BaseConfig {
|
|
94
|
+
interface AccountConfig extends Omit<BaseConfig, 'auth'> {
|
|
89
95
|
serviceConfigs?: Record<string, ServiceConfig>;
|
|
96
|
+
auth?: OptionalAuthConfig;
|
|
90
97
|
}
|
|
91
98
|
export interface TopLevelConfig extends BaseConfig {
|
|
92
99
|
name?: string;
|
|
93
100
|
iamCollectVersion: string;
|
|
94
101
|
storage?: StorageConfig;
|
|
95
|
-
auth?:
|
|
102
|
+
auth?: AuthConfig;
|
|
96
103
|
accounts?: {
|
|
97
104
|
included?: string[];
|
|
98
105
|
};
|
|
@@ -114,8 +121,17 @@ export interface ResolvedAccountServiceRegionConfig {
|
|
|
114
121
|
* @param configs the configs to search for the default auth config
|
|
115
122
|
* @returns the default auth config, or an empty object if none found
|
|
116
123
|
*/
|
|
117
|
-
export declare function getDefaultAuthConfig(configs: TopLevelConfig[]):
|
|
124
|
+
export declare function getDefaultAuthConfig(configs: TopLevelConfig[]): AuthConfig;
|
|
118
125
|
export declare function servicesForAccount(account: string, configs: TopLevelConfig[], allServices: string[]): ServicesForAccount;
|
|
126
|
+
/**
|
|
127
|
+
* Get the regions for a specific service and account.
|
|
128
|
+
*
|
|
129
|
+
* @param service the service to get the regions for
|
|
130
|
+
* @param account the account to get the regions for
|
|
131
|
+
* @param configs the configs to search
|
|
132
|
+
* @param allRegions the list of all regions to filter from
|
|
133
|
+
* @returns the regions for the service and account
|
|
134
|
+
*/
|
|
119
135
|
export declare function regionsForService(service: string, account: string, configs: TopLevelConfig[], allRegions: string[]): RegionsForAccountService;
|
|
120
136
|
export declare function accountServiceRegionConfig(service: string, accountId: string, region: string, configs: TopLevelConfig[]): ResolvedAccountServiceRegionConfig;
|
|
121
137
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/config/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAE3C,MAAM,WAAW,UAAU;IACzB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/config/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,60 +18,69 @@ export function servicesForAccount(account, configs, allServices) {
|
|
|
18
18
|
let services = allServices;
|
|
19
19
|
for (const config of configs) {
|
|
20
20
|
if (config.services?.included) {
|
|
21
|
-
services = config.services.included;
|
|
21
|
+
services = intersection(allServices, config.services.included);
|
|
22
22
|
}
|
|
23
23
|
if (config.services?.excluded) {
|
|
24
|
-
services = services
|
|
24
|
+
services = difference(services, config.services.excluded);
|
|
25
25
|
}
|
|
26
26
|
const accountServices = config.accountConfigs?.[account]?.services;
|
|
27
27
|
if (accountServices) {
|
|
28
28
|
if (accountServices.included) {
|
|
29
29
|
for (const service of accountServices.included) {
|
|
30
|
-
if (!services.includes(service)) {
|
|
30
|
+
if (!services.includes(service) && allServices.includes(service)) {
|
|
31
31
|
services.push(service);
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
35
|
if (accountServices.excluded) {
|
|
36
|
-
services = services
|
|
36
|
+
services = difference(services, accountServices.excluded);
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
39
|
}
|
|
40
40
|
return services;
|
|
41
41
|
}
|
|
42
|
+
/**
|
|
43
|
+
* Get the regions for a specific service and account.
|
|
44
|
+
*
|
|
45
|
+
* @param service the service to get the regions for
|
|
46
|
+
* @param account the account to get the regions for
|
|
47
|
+
* @param configs the configs to search
|
|
48
|
+
* @param allRegions the list of all regions to filter from
|
|
49
|
+
* @returns the regions for the service and account
|
|
50
|
+
*/
|
|
42
51
|
export function regionsForService(service, account, configs, allRegions) {
|
|
43
52
|
let regions = allRegions;
|
|
44
53
|
for (const config of configs) {
|
|
45
54
|
if (config.regions?.included) {
|
|
46
|
-
regions = config.regions.included;
|
|
55
|
+
regions = intersection(allRegions, config.regions.included);
|
|
47
56
|
}
|
|
48
57
|
if (config.regions?.excluded) {
|
|
49
|
-
regions = regions
|
|
58
|
+
regions = difference(regions, config.regions.excluded);
|
|
50
59
|
}
|
|
51
60
|
const serviceConfig = config.serviceConfigs?.[service];
|
|
52
61
|
if (serviceConfig) {
|
|
53
62
|
if (serviceConfig.regions?.included) {
|
|
54
|
-
regions = serviceConfig.regions.included;
|
|
63
|
+
regions = intersection(allRegions, serviceConfig.regions.included);
|
|
55
64
|
}
|
|
56
65
|
if (serviceConfig.regions?.excluded) {
|
|
57
|
-
regions = regions
|
|
66
|
+
regions = difference(regions, serviceConfig.regions.excluded);
|
|
58
67
|
}
|
|
59
68
|
}
|
|
60
69
|
const accountConfig = config.accountConfigs?.[account];
|
|
61
70
|
if (accountConfig) {
|
|
62
71
|
if (accountConfig.regions?.included) {
|
|
63
|
-
regions = accountConfig.regions.included;
|
|
72
|
+
regions = intersection(allRegions, accountConfig.regions.included);
|
|
64
73
|
}
|
|
65
74
|
if (accountConfig.regions?.excluded) {
|
|
66
|
-
regions = regions
|
|
75
|
+
regions = difference(regions, accountConfig.regions.excluded);
|
|
67
76
|
}
|
|
68
77
|
const accountServices = accountConfig.serviceConfigs?.[service];
|
|
69
78
|
if (accountServices) {
|
|
70
79
|
if (accountServices.regions?.included) {
|
|
71
|
-
regions = accountServices.regions.included;
|
|
80
|
+
regions = intersection(allRegions, accountServices.regions.included);
|
|
72
81
|
}
|
|
73
82
|
if (accountServices.regions?.excluded) {
|
|
74
|
-
regions = regions
|
|
83
|
+
regions = difference(regions, accountServices.regions.excluded);
|
|
75
84
|
}
|
|
76
85
|
}
|
|
77
86
|
}
|
|
@@ -91,7 +100,7 @@ export function accountServiceRegionConfig(service, accountId, region, configs)
|
|
|
91
100
|
const serviceConfig = config.serviceConfigs?.[service];
|
|
92
101
|
if (serviceConfig) {
|
|
93
102
|
if (serviceConfig.auth) {
|
|
94
|
-
result.auth =
|
|
103
|
+
result.auth = mergeAuthConfigs(result.auth, serviceConfig.auth);
|
|
95
104
|
}
|
|
96
105
|
if (serviceConfig.endpoint) {
|
|
97
106
|
result.endpoint = serviceConfig.endpoint;
|
|
@@ -99,7 +108,7 @@ export function accountServiceRegionConfig(service, accountId, region, configs)
|
|
|
99
108
|
const regionConfig = serviceConfig.regionConfigs?.[region];
|
|
100
109
|
if (regionConfig) {
|
|
101
110
|
if (regionConfig.auth) {
|
|
102
|
-
result.auth =
|
|
111
|
+
result.auth = mergeAuthConfigs(result.auth, regionConfig.auth);
|
|
103
112
|
}
|
|
104
113
|
if (regionConfig.endpoint) {
|
|
105
114
|
result.endpoint = regionConfig.endpoint;
|
|
@@ -109,12 +118,12 @@ export function accountServiceRegionConfig(service, accountId, region, configs)
|
|
|
109
118
|
const accountConfig = config.accountConfigs?.[accountId];
|
|
110
119
|
if (accountConfig) {
|
|
111
120
|
if (accountConfig.auth) {
|
|
112
|
-
result.auth = accountConfig.auth;
|
|
121
|
+
result.auth = mergeAuthConfigs(result.auth, accountConfig.auth);
|
|
113
122
|
}
|
|
114
123
|
const accountServiceConfig = accountConfig.serviceConfigs?.[service];
|
|
115
124
|
if (accountServiceConfig) {
|
|
116
125
|
if (accountServiceConfig.auth) {
|
|
117
|
-
result.auth =
|
|
126
|
+
result.auth = mergeAuthConfigs(result.auth, accountServiceConfig.auth);
|
|
118
127
|
}
|
|
119
128
|
if (accountServiceConfig.endpoint) {
|
|
120
129
|
result.endpoint = accountServiceConfig.endpoint;
|
|
@@ -122,7 +131,7 @@ export function accountServiceRegionConfig(service, accountId, region, configs)
|
|
|
122
131
|
const accountRegionConfig = accountServiceConfig.regionConfigs?.[region];
|
|
123
132
|
if (accountRegionConfig) {
|
|
124
133
|
if (accountRegionConfig.auth) {
|
|
125
|
-
result.auth =
|
|
134
|
+
result.auth = mergeAuthConfigs(result.auth, accountRegionConfig.auth);
|
|
126
135
|
}
|
|
127
136
|
if (accountRegionConfig.endpoint) {
|
|
128
137
|
result.endpoint = accountRegionConfig.endpoint;
|
|
@@ -148,7 +157,7 @@ export function getAccountAuthConfig(accountId, configs) {
|
|
|
148
157
|
}
|
|
149
158
|
const accountConfig = config.accountConfigs?.[accountId];
|
|
150
159
|
if (accountConfig?.auth) {
|
|
151
|
-
result =
|
|
160
|
+
result = mergeAuthConfigs(result, accountConfig.auth);
|
|
152
161
|
}
|
|
153
162
|
}
|
|
154
163
|
return result;
|
|
@@ -218,4 +227,34 @@ export function getConfiguredAccounts(configs) {
|
|
|
218
227
|
}
|
|
219
228
|
return [];
|
|
220
229
|
}
|
|
230
|
+
function mergeAuthConfigs(initialConfig, newConfig) {
|
|
231
|
+
if (!initialConfig) {
|
|
232
|
+
initialConfig = {};
|
|
233
|
+
}
|
|
234
|
+
if (!newConfig) {
|
|
235
|
+
return initialConfig;
|
|
236
|
+
}
|
|
237
|
+
if ('profile' in newConfig) {
|
|
238
|
+
initialConfig.profile = newConfig.profile;
|
|
239
|
+
}
|
|
240
|
+
if ('initialRole' in newConfig) {
|
|
241
|
+
initialConfig.initialRole = {
|
|
242
|
+
...(initialConfig.initialRole || {}),
|
|
243
|
+
...newConfig.initialRole
|
|
244
|
+
};
|
|
245
|
+
}
|
|
246
|
+
if ('role' in newConfig) {
|
|
247
|
+
initialConfig.role = {
|
|
248
|
+
...(initialConfig.role || {}),
|
|
249
|
+
...newConfig.role
|
|
250
|
+
};
|
|
251
|
+
}
|
|
252
|
+
return initialConfig;
|
|
253
|
+
}
|
|
254
|
+
function intersection(a, b) {
|
|
255
|
+
return a.filter((value) => b.includes(value));
|
|
256
|
+
}
|
|
257
|
+
function difference(a, b) {
|
|
258
|
+
return a.filter((value) => !b.includes(value));
|
|
259
|
+
}
|
|
221
260
|
//# sourceMappingURL=config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/config/config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/config/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaultConfig.d.ts","sourceRoot":"","sources":["../../../src/config/defaultConfig.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,qBAAqB,sBAAsB,CAAA;AAExD;;;;GAIG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,OAAO,CAE7C;
|
|
1
|
+
{"version":3,"file":"defaultConfig.d.ts","sourceRoot":"","sources":["../../../src/config/defaultConfig.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,qBAAqB,sBAAsB,CAAA;AAExD;;;;GAIG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,OAAO,CAE7C;AAwGD,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC,CAGxD"}
|
|
@@ -38,11 +38,9 @@ const defaultConfig = `
|
|
|
38
38
|
"prefix": "iam-data/",
|
|
39
39
|
"region": "us-west-2",
|
|
40
40
|
"endpoint": "https://s3.us-west-2.amazonaws.com", // Optional endpoint if using a specific VPC endpoint
|
|
41
|
-
//Optional auth configuration, see https://github.com/cloud-copilot/iam-collect/docs/
|
|
41
|
+
//Optional auth configuration, see https://github.com/cloud-copilot/iam-collect/docs/Storage.md
|
|
42
42
|
"auth": {
|
|
43
|
-
//
|
|
44
|
-
// Can include accountId
|
|
45
|
-
"accountId": "123456789012"
|
|
43
|
+
// See https://github.com/cloud-copilot/iam-collect/docs/Storage.md
|
|
46
44
|
}
|
|
47
45
|
},
|
|
48
46
|
*/
|
|
@@ -114,7 +112,7 @@ const defaultConfig = `
|
|
|
114
112
|
|
|
115
113
|
// Optional block for authentication, see , see https://github.com/cloud-copilot/iam-collect/docs/Authentication.md
|
|
116
114
|
// "auth": {
|
|
117
|
-
// //The type of authentication to use
|
|
115
|
+
// //The type of authentication to use before connecting to any individual accounts
|
|
118
116
|
// }
|
|
119
117
|
|
|
120
118
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaultConfig.js","sourceRoot":"","sources":["../../../src/config/defaultConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAA;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAC9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAEvD,MAAM,CAAC,MAAM,qBAAqB,GAAG,mBAAmB,CAAA;AAExD;;;;GAIG;AACH,MAAM,UAAU,qBAAqB;IACnC,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,qBAAqB,CAAC,CAAA;AACtD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB;IACjC,OAAO,UAAU,CAAC,qBAAqB,EAAE,CAAC,CAAA;AAC5C,CAAC;AAED,MAAM,aAAa,GAAG
|
|
1
|
+
{"version":3,"file":"defaultConfig.js","sourceRoot":"","sources":["../../../src/config/defaultConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAA;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAC9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAEvD,MAAM,CAAC,MAAM,qBAAqB,GAAG,mBAAmB,CAAA;AAExD;;;;GAIG;AACH,MAAM,UAAU,qBAAqB;IACnC,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,qBAAqB,CAAC,CAAA;AACtD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB;IACjC,OAAO,UAAU,CAAC,qBAAqB,EAAE,CAAC,CAAA;AAC5C,CAAC;AAED,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoGrB,CAAA;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,MAAM,OAAO,GAAG,MAAM,iBAAiB,EAAE,CAAA;IACzC,OAAO,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;AAChD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"regions.d.ts","sourceRoot":"","sources":["../../src/regions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iCAAiC,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"regions.d.ts","sourceRoot":"","sources":["../../src/regions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iCAAiC,EAAE,MAAM,mBAAmB,CAAA;AAIrE,wBAAsB,iBAAiB,CACrC,WAAW,EAAE,iCAAiC,GAC7C,OAAO,CAAC,MAAM,EAAE,CAAC,CAmBnB"}
|
package/dist/esm/regions.js
CHANGED
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
import { AccountClient, ListRegionsCommand, RegionOptStatus } from '@aws-sdk/client-account';
|
|
2
|
+
import { paginateResource } from './syncs/typedSync.js';
|
|
2
3
|
import { isDefined } from './utils/types.js';
|
|
3
4
|
export async function getEnabledRegions(credentials) {
|
|
4
5
|
const accountClient = new AccountClient({ credentials });
|
|
5
|
-
const
|
|
6
|
+
const enabledRegions = await paginateResource(accountClient, ListRegionsCommand, 'Regions', {
|
|
7
|
+
inputKey: 'NextToken',
|
|
8
|
+
outputKey: 'NextToken'
|
|
9
|
+
}, {
|
|
6
10
|
RegionOptStatusContains: [RegionOptStatus.ENABLED, RegionOptStatus.ENABLED_BY_DEFAULT]
|
|
7
11
|
});
|
|
8
|
-
const
|
|
9
|
-
const regions = result.Regions?.map((r) => r.RegionName).filter(isDefined) || [];
|
|
12
|
+
const regions = enabledRegions.map((r) => r.RegionName).filter(isDefined) || [];
|
|
10
13
|
return regions;
|
|
11
14
|
}
|
|
12
15
|
//# sourceMappingURL=regions.js.map
|
package/dist/esm/regions.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"regions.js","sourceRoot":"","sources":["../../src/regions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAE5F,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAE5C,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,WAA8C;IAE9C,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC,EAAE,WAAW,EAAE,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"regions.js","sourceRoot":"","sources":["../../src/regions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAE5F,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAE5C,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,WAA8C;IAE9C,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC,EAAE,WAAW,EAAE,CAAC,CAAA;IAExD,MAAM,cAAc,GAAG,MAAM,gBAAgB,CAC3C,aAAa,EACb,kBAAkB,EAClB,SAAS,EACT;QACE,QAAQ,EAAE,WAAW;QACrB,SAAS,EAAE,WAAW;KACvB,EACD;QACE,uBAAuB,EAAE,CAAC,eAAe,CAAC,OAAO,EAAE,eAAe,CAAC,kBAAkB,CAAC;KACvF,CACF,CAAA;IAED,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAW,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,CAAA;IAEhF,OAAO,OAAO,CAAA;AAChB,CAAC"}
|