@cloud-copilot/iam-collect 0.1.145 → 0.1.147

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.
@@ -42,4 +42,13 @@ export declare function getNewCredentials(accountId: string, authConfig: AuthCon
42
42
  * @returns new credentials based on the provided auth configuration
43
43
  */
44
44
  export declare function getNewInitialCredentials(authConfig: AuthConfig | undefined, logInfo?: Record<string, unknown>): Promise<AwsCredentialIdentityWithMetaData>;
45
+ /**
46
+ * Get the ARN for an IAM role.
47
+ *
48
+ * @param partition The partition the role is in (e.g. "aws", "aws-us-gov", "aws-cn").
49
+ * @param accountId The ID of the account the role is in.
50
+ * @param rolePathAndName The path and name of the role.
51
+ * @returns The ARN of the role.
52
+ */
53
+ export declare function buildRoleArn(partition: string, accountId: string, rolePathAndName: string): string;
45
54
  //# 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,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
+ {"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,CAiD5C;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAC1B,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,MAAM,GACtB,MAAM,CAKR"}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.now = now;
4
4
  exports.getNewCredentials = getNewCredentials;
5
5
  exports.getNewInitialCredentials = getNewInitialCredentials;
6
+ exports.buildRoleArn = buildRoleArn;
6
7
  const credential_providers_1 = require("@aws-sdk/credential-providers");
7
8
  const log_js_1 = require("../utils/log.js");
8
9
  const strings_js_1 = require("../utils/strings.js");
@@ -32,7 +33,7 @@ async function getNewCredentials(accountId, authConfig) {
32
33
  });
33
34
  let credentials = baseCredentials;
34
35
  if (authConfig?.role) {
35
- const roleArn = `arn:${baseCredentials.partition}:iam::${accountId}:role/${authConfig.role.pathAndName}`;
36
+ const roleArn = buildRoleArn(baseCredentials.partition, accountId, authConfig.role.pathAndName);
36
37
  log_js_1.log.trace({ accountId, roleArn, sourceAccount: baseCredentials.accountId }, 'Assuming role for account with credentials');
37
38
  const roleProvider = (0, credential_providers_1.fromTemporaryCredentials)({
38
39
  masterCredentials: baseCredentials,
@@ -90,7 +91,7 @@ async function getNewInitialCredentials(authConfig, logInfo = {}) {
90
91
  roleArn = authConfig.initialRole.arn;
91
92
  }
92
93
  else {
93
- roleArn = `arn:${tokenInfo.partition}:iam::${tokenInfo.accountId}:role/${authConfig.initialRole.pathAndName}`;
94
+ roleArn = buildRoleArn(tokenInfo.partition, tokenInfo.accountId, authConfig.initialRole.pathAndName);
94
95
  }
95
96
  log_js_1.log.trace({ roleArn, sourceAccount: tokenInfo.accountId, ...logInfo }, 'Assuming initial role for account with credentials');
96
97
  const roleProvider = (0, credential_providers_1.fromTemporaryCredentials)({
@@ -110,4 +111,18 @@ async function getNewInitialCredentials(authConfig, logInfo = {}) {
110
111
  partition: tokenInfo.partition
111
112
  };
112
113
  }
114
+ /**
115
+ * Get the ARN for an IAM role.
116
+ *
117
+ * @param partition The partition the role is in (e.g. "aws", "aws-us-gov", "aws-cn").
118
+ * @param accountId The ID of the account the role is in.
119
+ * @param rolePathAndName The path and name of the role.
120
+ * @returns The ARN of the role.
121
+ */
122
+ function buildRoleArn(partition, accountId, rolePathAndName) {
123
+ if (!rolePathAndName.startsWith('/')) {
124
+ rolePathAndName = `/${rolePathAndName}`;
125
+ }
126
+ return `arn:${partition}:iam::${accountId}:role${rolePathAndName}`;
127
+ }
113
128
  //# sourceMappingURL=coreAuth.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"coreAuth.js","sourceRoot":"","sources":["../../../src/aws/coreAuth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"coreAuth.js","sourceRoot":"","sources":["../../../src/aws/coreAuth.ts"],"names":[],"mappings":"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"}
@@ -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.145";
5
+ export declare const IAM_COLLECT_VERSION = "0.1.147";
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.145';
8
+ exports.IAM_COLLECT_VERSION = '0.1.147';
9
9
  //# sourceMappingURL=version.js.map
@@ -42,4 +42,13 @@ export declare function getNewCredentials(accountId: string, authConfig: AuthCon
42
42
  * @returns new credentials based on the provided auth configuration
43
43
  */
44
44
  export declare function getNewInitialCredentials(authConfig: AuthConfig | undefined, logInfo?: Record<string, unknown>): Promise<AwsCredentialIdentityWithMetaData>;
45
+ /**
46
+ * Get the ARN for an IAM role.
47
+ *
48
+ * @param partition The partition the role is in (e.g. "aws", "aws-us-gov", "aws-cn").
49
+ * @param accountId The ID of the account the role is in.
50
+ * @param rolePathAndName The path and name of the role.
51
+ * @returns The ARN of the role.
52
+ */
53
+ export declare function buildRoleArn(partition: string, accountId: string, rolePathAndName: string): string;
45
54
  //# 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,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
+ {"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,CAiD5C;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAC1B,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,MAAM,GACtB,MAAM,CAKR"}
@@ -27,7 +27,7 @@ export async function getNewCredentials(accountId, authConfig) {
27
27
  });
28
28
  let credentials = baseCredentials;
29
29
  if (authConfig?.role) {
30
- const roleArn = `arn:${baseCredentials.partition}:iam::${accountId}:role/${authConfig.role.pathAndName}`;
30
+ const roleArn = buildRoleArn(baseCredentials.partition, accountId, authConfig.role.pathAndName);
31
31
  log.trace({ accountId, roleArn, sourceAccount: baseCredentials.accountId }, 'Assuming role for account with credentials');
32
32
  const roleProvider = fromTemporaryCredentials({
33
33
  masterCredentials: baseCredentials,
@@ -85,7 +85,7 @@ export async function getNewInitialCredentials(authConfig, logInfo = {}) {
85
85
  roleArn = authConfig.initialRole.arn;
86
86
  }
87
87
  else {
88
- roleArn = `arn:${tokenInfo.partition}:iam::${tokenInfo.accountId}:role/${authConfig.initialRole.pathAndName}`;
88
+ roleArn = buildRoleArn(tokenInfo.partition, tokenInfo.accountId, authConfig.initialRole.pathAndName);
89
89
  }
90
90
  log.trace({ roleArn, sourceAccount: tokenInfo.accountId, ...logInfo }, 'Assuming initial role for account with credentials');
91
91
  const roleProvider = fromTemporaryCredentials({
@@ -105,4 +105,18 @@ export async function getNewInitialCredentials(authConfig, logInfo = {}) {
105
105
  partition: tokenInfo.partition
106
106
  };
107
107
  }
108
+ /**
109
+ * Get the ARN for an IAM role.
110
+ *
111
+ * @param partition The partition the role is in (e.g. "aws", "aws-us-gov", "aws-cn").
112
+ * @param accountId The ID of the account the role is in.
113
+ * @param rolePathAndName The path and name of the role.
114
+ * @returns The ARN of the role.
115
+ */
116
+ export function buildRoleArn(partition, accountId, rolePathAndName) {
117
+ if (!rolePathAndName.startsWith('/')) {
118
+ rolePathAndName = `/${rolePathAndName}`;
119
+ }
120
+ return `arn:${partition}:iam::${accountId}:role${rolePathAndName}`;
121
+ }
108
122
  //# sourceMappingURL=coreAuth.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"coreAuth.js","sourceRoot":"","sources":["../../../src/aws/coreAuth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"coreAuth.js","sourceRoot":"","sources":["../../../src/aws/coreAuth.ts"],"names":[],"mappings":"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"}
@@ -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.145";
5
+ export declare const IAM_COLLECT_VERSION = "0.1.147";
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.145';
5
+ export const IAM_COLLECT_VERSION = '0.1.147';
6
6
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cloud-copilot/iam-collect",
3
- "version": "0.1.145",
3
+ "version": "0.1.147",
4
4
  "description": "Collect IAM information from AWS Accounts",
5
5
  "repository": {
6
6
  "type": "git",