@actsecurity/iam-utils 0.1.82
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/LICENSE.txt +661 -0
- package/README.md +5 -0
- package/dist/cjs/actions.d.ts +9 -0
- package/dist/cjs/actions.d.ts.map +1 -0
- package/dist/cjs/actions.js +65 -0
- package/dist/cjs/actions.js.map +1 -0
- package/dist/cjs/arn.d.ts +48 -0
- package/dist/cjs/arn.d.ts.map +1 -0
- package/dist/cjs/arn.js +67 -0
- package/dist/cjs/arn.js.map +1 -0
- package/dist/cjs/index.d.ts +9 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +31 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/package.json +3 -0
- package/dist/cjs/principals.d.ts +58 -0
- package/dist/cjs/principals.d.ts.map +1 -0
- package/dist/cjs/principals.js +93 -0
- package/dist/cjs/principals.js.map +1 -0
- package/dist/cjs/resourceInfoContextKeys.d.ts +19 -0
- package/dist/cjs/resourceInfoContextKeys.d.ts.map +1 -0
- package/dist/cjs/resourceInfoContextKeys.js +54 -0
- package/dist/cjs/resourceInfoContextKeys.js.map +1 -0
- package/dist/cjs/resourcePatterns.d.ts +9 -0
- package/dist/cjs/resourcePatterns.d.ts.map +1 -0
- package/dist/cjs/resourcePatterns.js +19 -0
- package/dist/cjs/resourcePatterns.js.map +1 -0
- package/dist/cjs/resourceTypes.d.ts +30 -0
- package/dist/cjs/resourceTypes.d.ts.map +1 -0
- package/dist/cjs/resourceTypes.js +267 -0
- package/dist/cjs/resourceTypes.js.map +1 -0
- package/dist/cjs/resources.d.ts +8 -0
- package/dist/cjs/resources.d.ts.map +1 -0
- package/dist/cjs/resources.js +14 -0
- package/dist/cjs/resources.js.map +1 -0
- package/dist/cjs/s3.d.ts +15 -0
- package/dist/cjs/s3.d.ts.map +1 -0
- package/dist/cjs/s3.js +35 -0
- package/dist/cjs/s3.js.map +1 -0
- package/dist/esm/actions.d.ts +9 -0
- package/dist/esm/actions.d.ts.map +1 -0
- package/dist/esm/actions.js +62 -0
- package/dist/esm/actions.js.map +1 -0
- package/dist/esm/arn.d.ts +48 -0
- package/dist/esm/arn.d.ts.map +1 -0
- package/dist/esm/arn.js +63 -0
- package/dist/esm/arn.js.map +1 -0
- package/dist/esm/index.d.ts +9 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +9 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/package.json +3 -0
- package/dist/esm/principals.d.ts +58 -0
- package/dist/esm/principals.d.ts.map +1 -0
- package/dist/esm/principals.js +83 -0
- package/dist/esm/principals.js.map +1 -0
- package/dist/esm/resourceInfoContextKeys.d.ts +19 -0
- package/dist/esm/resourceInfoContextKeys.d.ts.map +1 -0
- package/dist/esm/resourceInfoContextKeys.js +50 -0
- package/dist/esm/resourceInfoContextKeys.js.map +1 -0
- package/dist/esm/resourcePatterns.d.ts +9 -0
- package/dist/esm/resourcePatterns.d.ts.map +1 -0
- package/dist/esm/resourcePatterns.js +16 -0
- package/dist/esm/resourcePatterns.js.map +1 -0
- package/dist/esm/resourceTypes.d.ts +30 -0
- package/dist/esm/resourceTypes.d.ts.map +1 -0
- package/dist/esm/resourceTypes.js +263 -0
- package/dist/esm/resourceTypes.js.map +1 -0
- package/dist/esm/resources.d.ts +8 -0
- package/dist/esm/resources.d.ts.map +1 -0
- package/dist/esm/resources.js +11 -0
- package/dist/esm/resources.js.map +1 -0
- package/dist/esm/s3.d.ts +15 -0
- package/dist/esm/s3.d.ts.map +1 -0
- package/dist/esm/s3.js +31 -0
- package/dist/esm/s3.js.map +1 -0
- package/package.json +115 -0
package/dist/esm/s3.js
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { splitArnParts } from './arn.js';
|
|
2
|
+
/**
|
|
3
|
+
* Checks to see if an ARN is an S3 bucket or object ARN
|
|
4
|
+
*
|
|
5
|
+
* @param arn the ARN to check
|
|
6
|
+
* @returns whether the ARN is an S3 bucket or object ARN
|
|
7
|
+
*/
|
|
8
|
+
export function isS3BucketOrObjectArn(arn) {
|
|
9
|
+
const arnParts = splitArnParts(arn);
|
|
10
|
+
if (arnParts.service !== 's3') {
|
|
11
|
+
return false;
|
|
12
|
+
}
|
|
13
|
+
if (!arnParts.resource) {
|
|
14
|
+
return false;
|
|
15
|
+
}
|
|
16
|
+
// S3 bucket or object ARNs have no account ID or region
|
|
17
|
+
if (arnParts.accountId || arnParts.region) {
|
|
18
|
+
return false;
|
|
19
|
+
}
|
|
20
|
+
return true;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Get the bucket ARN from an S3 bucket or object ARN. Does not validate the input ARN.
|
|
24
|
+
*
|
|
25
|
+
* @param bucketOrObjectArn the ARN of the S3 bucket or object
|
|
26
|
+
* @returns the ARN of the S3 bucket
|
|
27
|
+
*/
|
|
28
|
+
export function bucketArn(bucketOrObjectArn) {
|
|
29
|
+
return bucketOrObjectArn.split('/').at(0);
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=s3.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"s3.js","sourceRoot":"","sources":["../../src/s3.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAExC;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,GAAW;IAC/C,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,CAAA;IACnC,IAAI,QAAQ,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAA;IACd,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACvB,OAAO,KAAK,CAAA;IACd,CAAC;IACD,wDAAwD;IACxD,IAAI,QAAQ,CAAC,SAAS,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QAC1C,OAAO,KAAK,CAAA;IACd,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAC,iBAAyB;IACjD,OAAO,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAE,CAAA;AAC5C,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@actsecurity/iam-utils",
|
|
3
|
+
"version": "0.1.82",
|
|
4
|
+
"description": "Various utilities for working with AWS IAM information",
|
|
5
|
+
"exports": {
|
|
6
|
+
".": {
|
|
7
|
+
"import": "./dist/esm/index.js",
|
|
8
|
+
"require": "./dist/cjs/index.js"
|
|
9
|
+
}
|
|
10
|
+
},
|
|
11
|
+
"files": [
|
|
12
|
+
"dist/**/*"
|
|
13
|
+
],
|
|
14
|
+
"types": "dist/cjs/index.d.ts",
|
|
15
|
+
"keywords": [
|
|
16
|
+
"aws",
|
|
17
|
+
"iam",
|
|
18
|
+
"utils"
|
|
19
|
+
],
|
|
20
|
+
"homepage": "https://github.com/act-security-labs/iam-utils#readme",
|
|
21
|
+
"bugs": {
|
|
22
|
+
"url": "https://github.com/act-security-labs/iam-utils/issues"
|
|
23
|
+
},
|
|
24
|
+
"repository": {
|
|
25
|
+
"type": "git",
|
|
26
|
+
"url": "git+ssh://git@github.com/cloud-copilot/iam-utils.git"
|
|
27
|
+
},
|
|
28
|
+
"license": "AGPL-3.0-or-later",
|
|
29
|
+
"author": "Act Security",
|
|
30
|
+
"scripts": {
|
|
31
|
+
"build": "npx tsc -p tsconfig.cjs.json && npx tsc -p tsconfig.esm.json && ./postbuild.sh",
|
|
32
|
+
"clean": "rm -rf dist",
|
|
33
|
+
"test": "npx vitest --run --coverage",
|
|
34
|
+
"release": "npm install && npm run clean && npm run build && npm test && npm run format-check && npm publish",
|
|
35
|
+
"format": "npx prettier --write src/",
|
|
36
|
+
"format-check": "npx prettier --check src/"
|
|
37
|
+
},
|
|
38
|
+
"devDependencies": {
|
|
39
|
+
"@actsecurity/prettier-config": "^0.1.1",
|
|
40
|
+
"@semantic-release/changelog": "^6.0.3",
|
|
41
|
+
"@semantic-release/commit-analyzer": "^13.0.1",
|
|
42
|
+
"@semantic-release/exec": "^7.1.0",
|
|
43
|
+
"@semantic-release/git": "^10.0.1",
|
|
44
|
+
"@semantic-release/github": "^12.0.6",
|
|
45
|
+
"@semantic-release/npm": "^13.1.4",
|
|
46
|
+
"@semantic-release/release-notes-generator": "^14.0.3",
|
|
47
|
+
"@types/node": "^22.5.0",
|
|
48
|
+
"@vitest/coverage-v8": "^4.0.18",
|
|
49
|
+
"semantic-release": "^25.0.3",
|
|
50
|
+
"typescript": "^5.5.4",
|
|
51
|
+
"vitest": "^4.0.18"
|
|
52
|
+
},
|
|
53
|
+
"prettier": "@actsecurity/prettier-config",
|
|
54
|
+
"release": {
|
|
55
|
+
"branches": [
|
|
56
|
+
"main"
|
|
57
|
+
],
|
|
58
|
+
"plugins": [
|
|
59
|
+
[
|
|
60
|
+
"@semantic-release/commit-analyzer",
|
|
61
|
+
{
|
|
62
|
+
"releaseRules": [
|
|
63
|
+
{
|
|
64
|
+
"type": "feat",
|
|
65
|
+
"release": "patch"
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"type": "fix",
|
|
69
|
+
"release": "patch"
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"breaking": true,
|
|
73
|
+
"release": "patch"
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"type": "*",
|
|
77
|
+
"release": "patch"
|
|
78
|
+
}
|
|
79
|
+
]
|
|
80
|
+
}
|
|
81
|
+
],
|
|
82
|
+
"@semantic-release/release-notes-generator",
|
|
83
|
+
"@semantic-release/changelog",
|
|
84
|
+
[
|
|
85
|
+
"@semantic-release/npm",
|
|
86
|
+
{
|
|
87
|
+
"npmPublish": true
|
|
88
|
+
}
|
|
89
|
+
],
|
|
90
|
+
[
|
|
91
|
+
"@semantic-release/exec",
|
|
92
|
+
{
|
|
93
|
+
"successCmd": "echo published=true >> $GITHUB_OUTPUT && echo version=${nextRelease.version} >> $GITHUB_OUTPUT && echo package_name=$(node -p \"require('./package.json').name\") >> $GITHUB_OUTPUT"
|
|
94
|
+
}
|
|
95
|
+
],
|
|
96
|
+
[
|
|
97
|
+
"@semantic-release/git",
|
|
98
|
+
{
|
|
99
|
+
"assets": [
|
|
100
|
+
"package.json",
|
|
101
|
+
"package-lock.json",
|
|
102
|
+
"CHANGELOG.md"
|
|
103
|
+
],
|
|
104
|
+
"message": "chore(release): ${nextRelease.version} [skip ci]"
|
|
105
|
+
}
|
|
106
|
+
],
|
|
107
|
+
[
|
|
108
|
+
"@semantic-release/github",
|
|
109
|
+
{
|
|
110
|
+
"assets": []
|
|
111
|
+
}
|
|
112
|
+
]
|
|
113
|
+
]
|
|
114
|
+
}
|
|
115
|
+
}
|