@kensio/yulin 0.36.0 → 0.37.0

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.
Files changed (73) hide show
  1. package/dist/service/aws/factory/sim-aws-account-service-cache.d.ts.map +1 -1
  2. package/dist/service/aws/factory/sim-aws-account-service-cache.js +3 -0
  3. package/dist/service/aws/factory/sim-aws-account-service-cache.js.map +1 -1
  4. package/dist/service/iam/authorize/allow/sim-iam-allow-requirement.d.ts +60 -0
  5. package/dist/service/iam/authorize/allow/sim-iam-allow-requirement.d.ts.map +1 -0
  6. package/dist/service/iam/authorize/allow/sim-iam-allow-requirement.js +60 -0
  7. package/dist/service/iam/authorize/allow/sim-iam-allow-requirement.js.map +1 -0
  8. package/dist/service/iam/authorize/allow/sim-iam-allow-statements.d.ts +46 -0
  9. package/dist/service/iam/authorize/allow/sim-iam-allow-statements.d.ts.map +1 -0
  10. package/dist/service/iam/authorize/allow/sim-iam-allow-statements.js +67 -0
  11. package/dist/service/iam/authorize/allow/sim-iam-allow-statements.js.map +1 -0
  12. package/dist/service/iam/authorize/caller-account/sim-iam-caller-account-resolver.d.ts +37 -0
  13. package/dist/service/iam/authorize/caller-account/sim-iam-caller-account-resolver.d.ts.map +1 -0
  14. package/dist/service/iam/authorize/caller-account/sim-iam-caller-account-resolver.js +33 -0
  15. package/dist/service/iam/authorize/caller-account/sim-iam-caller-account-resolver.js.map +1 -0
  16. package/dist/service/iam/authorize/caller-account/sim-iam-caller-account.d.ts +21 -0
  17. package/dist/service/iam/authorize/caller-account/sim-iam-caller-account.d.ts.map +1 -0
  18. package/dist/service/iam/authorize/caller-account/sim-iam-caller-account.js +2 -0
  19. package/dist/service/iam/authorize/caller-account/sim-iam-caller-account.js.map +1 -0
  20. package/dist/service/iam/authorize/caller-account/sim-iam-cross-account-caller.d.ts +34 -0
  21. package/dist/service/iam/authorize/caller-account/sim-iam-cross-account-caller.d.ts.map +1 -0
  22. package/dist/service/iam/authorize/caller-account/sim-iam-cross-account-caller.js +22 -0
  23. package/dist/service/iam/authorize/caller-account/sim-iam-cross-account-caller.js.map +1 -0
  24. package/dist/service/iam/authorize/caller-account/sim-iam-same-account-caller.d.ts +18 -0
  25. package/dist/service/iam/authorize/caller-account/sim-iam-same-account-caller.d.ts.map +1 -0
  26. package/dist/service/iam/authorize/caller-account/sim-iam-same-account-caller.js +16 -0
  27. package/dist/service/iam/authorize/caller-account/sim-iam-same-account-caller.js.map +1 -0
  28. package/dist/service/iam/authorize/context/sim-iam-auth-z-caller-context-builder.d.ts +1 -2
  29. package/dist/service/iam/authorize/context/sim-iam-auth-z-caller-context-builder.d.ts.map +1 -1
  30. package/dist/service/iam/authorize/context/sim-iam-auth-z-context-builder.d.ts +39 -2
  31. package/dist/service/iam/authorize/context/sim-iam-auth-z-context-builder.d.ts.map +1 -1
  32. package/dist/service/iam/authorize/context/sim-iam-auth-z-context-builder.js +42 -8
  33. package/dist/service/iam/authorize/context/sim-iam-auth-z-context-builder.js.map +1 -1
  34. package/dist/service/iam/authorize/context/sim-iam-auth-z-context.d.ts +9 -0
  35. package/dist/service/iam/authorize/context/sim-iam-auth-z-context.d.ts.map +1 -1
  36. package/dist/service/iam/authorize/context/sim-iam-auth-z-context.factory.d.ts.map +1 -1
  37. package/dist/service/iam/authorize/context/sim-iam-auth-z-context.factory.js +2 -0
  38. package/dist/service/iam/authorize/context/sim-iam-auth-z-context.factory.js.map +1 -1
  39. package/dist/service/iam/authorize/identity/sim-iam-account-identity-policies.d.ts +14 -0
  40. package/dist/service/iam/authorize/identity/sim-iam-account-identity-policies.d.ts.map +1 -0
  41. package/dist/service/iam/authorize/identity/sim-iam-account-identity-policies.js +2 -0
  42. package/dist/service/iam/authorize/identity/sim-iam-account-identity-policies.js.map +1 -0
  43. package/dist/service/iam/authorize/sim-iam-account-auth-z.d.ts +24 -1
  44. package/dist/service/iam/authorize/sim-iam-account-auth-z.d.ts.map +1 -1
  45. package/dist/service/iam/authorize/sim-iam-account-auth-z.js +18 -4
  46. package/dist/service/iam/authorize/sim-iam-account-auth-z.js.map +1 -1
  47. package/dist/service/iam/authorize/sim-iam-authorizer.d.ts +11 -2
  48. package/dist/service/iam/authorize/sim-iam-authorizer.d.ts.map +1 -1
  49. package/dist/service/iam/authorize/sim-iam-authorizer.js +14 -1
  50. package/dist/service/iam/authorize/sim-iam-authorizer.js.map +1 -1
  51. package/dist/service/iam/authorize/sim-iam-decision.d.ts +17 -5
  52. package/dist/service/iam/authorize/sim-iam-decision.d.ts.map +1 -1
  53. package/dist/service/iam/authorize/sim-iam-decision.js +27 -13
  54. package/dist/service/iam/authorize/sim-iam-decision.js.map +1 -1
  55. package/dist/service/iam/command/sim-iam-command-handlers.d.ts +41 -0
  56. package/dist/service/iam/command/sim-iam-command-handlers.d.ts.map +1 -0
  57. package/dist/service/iam/command/sim-iam-command-handlers.js +42 -0
  58. package/dist/service/iam/command/sim-iam-command-handlers.js.map +1 -0
  59. package/dist/service/iam/registry/sim-iam-account-resolver.d.ts +8 -0
  60. package/dist/service/iam/registry/sim-iam-account-resolver.d.ts.map +1 -1
  61. package/dist/service/iam/registry/sim-iam-registry.d.ts +4 -0
  62. package/dist/service/iam/registry/sim-iam-registry.d.ts.map +1 -1
  63. package/dist/service/iam/registry/sim-iam-registry.js +7 -1
  64. package/dist/service/iam/registry/sim-iam-registry.js.map +1 -1
  65. package/dist/service/iam/sim-iam-account-parts.d.ts +58 -0
  66. package/dist/service/iam/sim-iam-account-parts.d.ts.map +1 -0
  67. package/dist/service/iam/sim-iam-account-parts.js +72 -0
  68. package/dist/service/iam/sim-iam-account-parts.js.map +1 -0
  69. package/dist/service/iam/sim-iam.d.ts +28 -21
  70. package/dist/service/iam/sim-iam.d.ts.map +1 -1
  71. package/dist/service/iam/sim-iam.js +42 -71
  72. package/dist/service/iam/sim-iam.js.map +1 -1
  73. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"sim-aws-account-service-cache.d.ts","sourceRoot":"","sources":["../../../../src/service/aws/factory/sim-aws-account-service-cache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,wCAAwC,CAAC;AAChD,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,oCAAoC,CAAC;AACvF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAC7E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uDAAuD,CAAC;AAEnG,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAC;AACzF,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAC7E,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,mDAAmD,CAAC;AAK3D,UAAU,mCAAmC;IAC3C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,mBAAmB,GAAG,mBAAmB,CAAC;IAC/D,QAAQ,CAAC,WAAW,EAAE,cAAc,CAAC;IACrC,QAAQ,CAAC,kBAAkB,EAAE,qBAAqB,CAAC;IACnD,QAAQ,CAAC,eAAe,EAAE,kBAAkB,CAAC;IAC7C,QAAQ,CAAC,WAAW,EAAE,cAAc,CAAC;IACrC,QAAQ,CAAC,iBAAiB,EAAE,uBAAuB,CAAC;CACrD;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,yBAAyB;IACpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA4C;IACvE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAiB;IAC7C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAwB;IAC3D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAiB;IAC7C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA0B;IAC5D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAqB;IAErD;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmD;IAE5E,YAAY,UAAU,EAAE,mCAAmC,EAQ1D;IAED;;OAEG;IACH,gBAAgB,CAAC,KAAK,EAAE,4BAA4B,GAAG,aAAa,CAenE;IAED;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,4BAA4B,GAAG,MAAM,CAuBrD;IAED;;OAEG;IACH,aAAa,CAAC,KAAK,EAAE,4BAA4B,GAAG,UAAU,CAY7D;CACF"}
1
+ {"version":3,"file":"sim-aws-account-service-cache.d.ts","sourceRoot":"","sources":["../../../../src/service/aws/factory/sim-aws-account-service-cache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,wCAAwC,CAAC;AAChD,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,oCAAoC,CAAC;AACvF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAC7E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uDAAuD,CAAC;AAEnG,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAC;AACzF,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAC7E,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,mDAAmD,CAAC;AAK3D,UAAU,mCAAmC;IAC3C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,mBAAmB,GAAG,mBAAmB,CAAC;IAC/D,QAAQ,CAAC,WAAW,EAAE,cAAc,CAAC;IACrC,QAAQ,CAAC,kBAAkB,EAAE,qBAAqB,CAAC;IACnD,QAAQ,CAAC,eAAe,EAAE,kBAAkB,CAAC;IAC7C,QAAQ,CAAC,WAAW,EAAE,cAAc,CAAC;IACrC,QAAQ,CAAC,iBAAiB,EAAE,uBAAuB,CAAC;CACrD;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,yBAAyB;IACpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA4C;IACvE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAiB;IAC7C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAwB;IAC3D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAiB;IAC7C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA0B;IAC5D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAqB;IAErD;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmD;IAE5E,YAAY,UAAU,EAAE,mCAAmC,EAQ1D;IAED;;OAEG;IACH,gBAAgB,CAAC,KAAK,EAAE,4BAA4B,GAAG,aAAa,CAenE;IAED;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,4BAA4B,GAAG,MAAM,CA0BrD;IAED;;OAEG;IACH,aAAa,CAAC,KAAK,EAAE,4BAA4B,GAAG,UAAU,CAY7D;CACF"}
@@ -73,6 +73,9 @@ export class SimAwsAccountServiceCache {
73
73
  const iam = new SimIam({
74
74
  accountRegionScope: scope.accountRegionScope,
75
75
  background: this.background,
76
+ // A cross-Account request is decided in both Accounts, so this IAM
77
+ // needs to be able to reach the IAM of the caller's own Account.
78
+ iamResolver: this.iamRegistry,
76
79
  // Access keys are indexed simulation-wide as they are issued, so a
77
80
  // signed request naming only a key id can be traced to this Account.
78
81
  credentialRegistry: new SimIamCredentialRegistry({
@@ -1 +1 @@
1
- {"version":3,"file":"sim-aws-account-service-cache.js","sourceRoot":"","sources":["../../../../src/service/aws/factory/sim-aws-account-service-cache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sim-aws-account-service-cache.js","sourceRoot":"","sources":["../../../../src/service/aws/factory/sim-aws-account-service-cache.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,60 @@
1
+ interface SimIamAllowSidesProperties {
2
+ readonly identity: boolean;
3
+ readonly resource: boolean;
4
+ }
5
+ /**
6
+ * Which sides of a policy evaluation produced a matching Allow.
7
+ *
8
+ * Identity-based policies are the caller's side of a request; resource-based
9
+ * policies are the resource's side. AWS combines the two differently depending
10
+ * on whether the caller and the resource belong to the same Account, so the
11
+ * sides are kept apart rather than counted together.
12
+ */
13
+ export declare class SimIamAllowSides {
14
+ private readonly identityAllowed;
15
+ private readonly resourceAllowed;
16
+ constructor(properties: SimIamAllowSidesProperties);
17
+ /**
18
+ * Whether an identity-based policy allowed the request.
19
+ */
20
+ get identity(): boolean;
21
+ /**
22
+ * Whether a resource-based policy allowed the request.
23
+ */
24
+ get resource(): boolean;
25
+ }
26
+ /**
27
+ * Which sides of an authorization must allow a request for it to be allowed.
28
+ */
29
+ export interface SimIamAllowRequirement {
30
+ isSatisfiedBy(allows: SimIamAllowSides): boolean;
31
+ }
32
+ /**
33
+ * The same-Account rule: an Allow from either side is enough.
34
+ *
35
+ * Within one Account an identity policy can allow a request with no resource
36
+ * policy involved, and a resource policy can allow it with no identity policy
37
+ * involved.
38
+ */
39
+ export declare class SimIamEitherSideAllowRequirement implements SimIamAllowRequirement {
40
+ /**
41
+ * Whether either side of the evaluation allowed the request.
42
+ */
43
+ isSatisfiedBy(allows: SimIamAllowSides): boolean;
44
+ }
45
+ /**
46
+ * The cross-Account rule: both sides must allow.
47
+ *
48
+ * AWS decides a cross-Account request in both Accounts. The caller's Account
49
+ * allows the action through an identity policy, and the resource's Account
50
+ * allows it through a resource policy. Neither side can grant access to the
51
+ * other Account's principals or resources on its own.
52
+ */
53
+ export declare class SimIamBothSidesAllowRequirement implements SimIamAllowRequirement {
54
+ /**
55
+ * Whether both sides of the evaluation allowed the request.
56
+ */
57
+ isSatisfiedBy(allows: SimIamAllowSides): boolean;
58
+ }
59
+ export {};
60
+ //# sourceMappingURL=sim-iam-allow-requirement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-iam-allow-requirement.d.ts","sourceRoot":"","sources":["../../../../../src/service/iam/authorize/allow/sim-iam-allow-requirement.ts"],"names":[],"mappings":"AAAA,UAAU,0BAA0B;IAClC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B;AAED;;;;;;;GAOG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAU;IAC1C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAU;IAE1C,YAAY,UAAU,EAAE,0BAA0B,EAGjD;IAED;;OAEG;IACH,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED;;OAEG;IACH,IAAI,QAAQ,IAAI,OAAO,CAEtB;CACF;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,aAAa,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC;CAClD;AAED;;;;;;GAMG;AACH,qBAAa,gCAAiC,YAAW,sBAAsB;IAC7E;;OAEG;IACH,aAAa,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAE/C;CACF;AAED;;;;;;;GAOG;AACH,qBAAa,+BAAgC,YAAW,sBAAsB;IAC5E;;OAEG;IACH,aAAa,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAE/C;CACF"}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * Which sides of a policy evaluation produced a matching Allow.
3
+ *
4
+ * Identity-based policies are the caller's side of a request; resource-based
5
+ * policies are the resource's side. AWS combines the two differently depending
6
+ * on whether the caller and the resource belong to the same Account, so the
7
+ * sides are kept apart rather than counted together.
8
+ */
9
+ export class SimIamAllowSides {
10
+ identityAllowed;
11
+ resourceAllowed;
12
+ constructor(properties) {
13
+ this.identityAllowed = properties.identity;
14
+ this.resourceAllowed = properties.resource;
15
+ }
16
+ /**
17
+ * Whether an identity-based policy allowed the request.
18
+ */
19
+ get identity() {
20
+ return this.identityAllowed;
21
+ }
22
+ /**
23
+ * Whether a resource-based policy allowed the request.
24
+ */
25
+ get resource() {
26
+ return this.resourceAllowed;
27
+ }
28
+ }
29
+ /**
30
+ * The same-Account rule: an Allow from either side is enough.
31
+ *
32
+ * Within one Account an identity policy can allow a request with no resource
33
+ * policy involved, and a resource policy can allow it with no identity policy
34
+ * involved.
35
+ */
36
+ export class SimIamEitherSideAllowRequirement {
37
+ /**
38
+ * Whether either side of the evaluation allowed the request.
39
+ */
40
+ isSatisfiedBy(allows) {
41
+ return allows.identity || allows.resource;
42
+ }
43
+ }
44
+ /**
45
+ * The cross-Account rule: both sides must allow.
46
+ *
47
+ * AWS decides a cross-Account request in both Accounts. The caller's Account
48
+ * allows the action through an identity policy, and the resource's Account
49
+ * allows it through a resource policy. Neither side can grant access to the
50
+ * other Account's principals or resources on its own.
51
+ */
52
+ export class SimIamBothSidesAllowRequirement {
53
+ /**
54
+ * Whether both sides of the evaluation allowed the request.
55
+ */
56
+ isSatisfiedBy(allows) {
57
+ return allows.identity && allows.resource;
58
+ }
59
+ }
60
+ //# sourceMappingURL=sim-iam-allow-requirement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-iam-allow-requirement.js","sourceRoot":"","sources":["../../../../../src/service/iam/authorize/allow/sim-iam-allow-requirement.ts"],"names":[],"mappings":"AAKA;;;;;;;GAOG;AACH,MAAM,OAAO,gBAAgB;IACV,eAAe,CAAU;IACzB,eAAe,CAAU;IAE1C,YAAY,UAAsC;QAChD,IAAI,CAAC,eAAe,GAAG,UAAU,CAAC,QAAQ,CAAC;QAC3C,IAAI,CAAC,eAAe,GAAG,UAAU,CAAC,QAAQ,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;CACF;AASD;;;;;;GAMG;AACH,MAAM,OAAO,gCAAgC;IAC3C;;OAEG;IACH,aAAa,CAAC,MAAwB;QACpC,OAAO,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC;IAC5C,CAAC;CACF;AAED;;;;;;;GAOG;AACH,MAAM,OAAO,+BAA+B;IAC1C;;OAEG;IACH,aAAa,CAAC,MAAwB;QACpC,OAAO,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC;IAC5C,CAAC;CACF"}
@@ -0,0 +1,46 @@
1
+ import type { SimIamPolicyDocumentStatement } from "../../policy/sim-iam-policy.js";
2
+ import type { SimIamAuthZPolicySource } from "../context/sim-iam-auth-z-context.js";
3
+ import { SimIamAllowSides } from "./sim-iam-allow-requirement.js";
4
+ /**
5
+ * The matching Allow statements found for one authorization, kept per side.
6
+ *
7
+ * Which side an Allow came from decides whether it counts: a cross-Account
8
+ * request needs one from each. Trust policies are resource policies on an IAM
9
+ * Role, so they count as the resource side, and are additionally kept apart for
10
+ * the AssumeRole rule that an identity policy cannot substitute for a Role's
11
+ * trust.
12
+ */
13
+ export declare class SimIamAllowStatements {
14
+ private readonly identityStatements;
15
+ private readonly resourceStatements;
16
+ private readonly trustStatements;
17
+ /**
18
+ * Record a matching Allow against the policy side it came from.
19
+ */
20
+ record(policy: SimIamAuthZPolicySource, statement: SimIamPolicyDocumentStatement): void;
21
+ /**
22
+ * Every matching Allow statement, identity side first.
23
+ */
24
+ get all(): readonly SimIamPolicyDocumentStatement[];
25
+ /**
26
+ * Matching Allow statements from identity-based policies.
27
+ */
28
+ get identity(): readonly SimIamPolicyDocumentStatement[];
29
+ /**
30
+ * Matching Allow statements from resource-based policies.
31
+ */
32
+ get resource(): readonly SimIamPolicyDocumentStatement[];
33
+ /**
34
+ * Matching Allow statements originating from trust policies.
35
+ */
36
+ get trust(): readonly SimIamPolicyDocumentStatement[];
37
+ /**
38
+ * Which sides produced a matching Allow.
39
+ */
40
+ get sides(): SimIamAllowSides;
41
+ /**
42
+ * The list an Allow from this policy source belongs in.
43
+ */
44
+ private sideStatements;
45
+ }
46
+ //# sourceMappingURL=sim-iam-allow-statements.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-iam-allow-statements.d.ts","sourceRoot":"","sources":["../../../../../src/service/iam/authorize/allow/sim-iam-allow-statements.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,gCAAgC,CAAC;AACpF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AACpF,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAElE;;;;;;;;GAQG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAuC;IAC1E,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAuC;IAC1E,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAuC;IAEvE;;OAEG;IACH,MAAM,CACJ,MAAM,EAAE,uBAAuB,EAC/B,SAAS,EAAE,6BAA6B,GACvC,IAAI,CAMN;IAED;;OAEG;IACH,IAAI,GAAG,IAAI,SAAS,6BAA6B,EAAE,CAElD;IAED;;OAEG;IACH,IAAI,QAAQ,IAAI,SAAS,6BAA6B,EAAE,CAEvD;IAED;;OAEG;IACH,IAAI,QAAQ,IAAI,SAAS,6BAA6B,EAAE,CAEvD;IAED;;OAEG;IACH,IAAI,KAAK,IAAI,SAAS,6BAA6B,EAAE,CAEpD;IAED;;OAEG;IACH,IAAI,KAAK,IAAI,gBAAgB,CAK5B;IAED;;OAEG;IACH,OAAO,CAAC,cAAc;CASvB"}
@@ -0,0 +1,67 @@
1
+ import { SimIamAllowSides } from "./sim-iam-allow-requirement.js";
2
+ /**
3
+ * The matching Allow statements found for one authorization, kept per side.
4
+ *
5
+ * Which side an Allow came from decides whether it counts: a cross-Account
6
+ * request needs one from each. Trust policies are resource policies on an IAM
7
+ * Role, so they count as the resource side, and are additionally kept apart for
8
+ * the AssumeRole rule that an identity policy cannot substitute for a Role's
9
+ * trust.
10
+ */
11
+ export class SimIamAllowStatements {
12
+ identityStatements = [];
13
+ resourceStatements = [];
14
+ trustStatements = [];
15
+ /**
16
+ * Record a matching Allow against the policy side it came from.
17
+ */
18
+ record(policy, statement) {
19
+ if (policy.sourceType === "trust") {
20
+ this.trustStatements.push(statement);
21
+ }
22
+ this.sideStatements(policy).push(statement);
23
+ }
24
+ /**
25
+ * Every matching Allow statement, identity side first.
26
+ */
27
+ get all() {
28
+ return [...this.identityStatements, ...this.resourceStatements];
29
+ }
30
+ /**
31
+ * Matching Allow statements from identity-based policies.
32
+ */
33
+ get identity() {
34
+ return this.identityStatements;
35
+ }
36
+ /**
37
+ * Matching Allow statements from resource-based policies.
38
+ */
39
+ get resource() {
40
+ return this.resourceStatements;
41
+ }
42
+ /**
43
+ * Matching Allow statements originating from trust policies.
44
+ */
45
+ get trust() {
46
+ return this.trustStatements;
47
+ }
48
+ /**
49
+ * Which sides produced a matching Allow.
50
+ */
51
+ get sides() {
52
+ return new SimIamAllowSides({
53
+ identity: this.identityStatements.length > 0,
54
+ resource: this.resourceStatements.length > 0,
55
+ });
56
+ }
57
+ /**
58
+ * The list an Allow from this policy source belongs in.
59
+ */
60
+ sideStatements(policy) {
61
+ if (policy.sourceType === "resource" || policy.sourceType === "trust") {
62
+ return this.resourceStatements;
63
+ }
64
+ return this.identityStatements;
65
+ }
66
+ }
67
+ //# sourceMappingURL=sim-iam-allow-statements.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-iam-allow-statements.js","sourceRoot":"","sources":["../../../../../src/service/iam/authorize/allow/sim-iam-allow-statements.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAElE;;;;;;;;GAQG;AACH,MAAM,OAAO,qBAAqB;IACf,kBAAkB,GAAoC,EAAE,CAAC;IACzD,kBAAkB,GAAoC,EAAE,CAAC;IACzD,eAAe,GAAoC,EAAE,CAAC;IAEvE;;OAEG;IACH,MAAM,CACJ,MAA+B,EAC/B,SAAwC;QAExC,IAAI,MAAM,CAAC,UAAU,KAAK,OAAO,EAAE,CAAC;YAClC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvC,CAAC;QAED,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,IAAI,GAAG;QACL,OAAO,CAAC,GAAG,IAAI,CAAC,kBAAkB,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAClE,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,IAAI,KAAK;QACP,OAAO,IAAI,gBAAgB,CAAC;YAC1B,QAAQ,EAAE,IAAI,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC;YAC5C,QAAQ,EAAE,IAAI,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC;SAC7C,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,cAAc,CACpB,MAA+B;QAE/B,IAAI,MAAM,CAAC,UAAU,KAAK,UAAU,IAAI,MAAM,CAAC,UAAU,KAAK,OAAO,EAAE,CAAC;YACtE,OAAO,IAAI,CAAC,kBAAkB,CAAC;QACjC,CAAC;QAED,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACjC,CAAC;CACF"}
@@ -0,0 +1,37 @@
1
+ import type { SimAwsResolvedCaller } from "../../../aws/caller/sim-aws-caller-resolver.js";
2
+ import type { SimAwsAccountId } from "../../../aws/sim-aws-account.js";
3
+ import type { SimIamAccountResolver } from "../../registry/sim-iam-account-resolver.js";
4
+ import type { SimIamCallerAccount } from "./sim-iam-caller-account.js";
5
+ interface SimIamCallerAccountResolverProperties {
6
+ /**
7
+ * The Account evaluating the request, which owns the target resource.
8
+ */
9
+ readonly accountId: SimAwsAccountId;
10
+ /**
11
+ * Resolves the IAM state of other Accounts in the same simulation.
12
+ *
13
+ * A standalone SimIam has no wider simulation to look in, so it has no
14
+ * resolver and no other Account's identity policies to find.
15
+ */
16
+ readonly iamResolver?: SimIamAccountResolver | undefined;
17
+ }
18
+ /**
19
+ * Works out which Account owns the caller of an authorization request.
20
+ *
21
+ * The answer decides how the request is evaluated, so it is made once, here,
22
+ * from the resolved caller. A caller with no Account in its ARN — a service
23
+ * principal or an anonymous request — has no identity side and is treated as
24
+ * belonging to the evaluating Account, which leaves it to be allowed by a
25
+ * resource policy alone.
26
+ */
27
+ export declare class SimIamCallerAccountResolver {
28
+ private readonly accountId;
29
+ private readonly iamResolver?;
30
+ constructor(properties: SimIamCallerAccountResolverProperties);
31
+ /**
32
+ * Resolve the caller's Account relative to the Account owning the resource.
33
+ */
34
+ resolve(caller: SimAwsResolvedCaller): SimIamCallerAccount;
35
+ }
36
+ export {};
37
+ //# sourceMappingURL=sim-iam-caller-account-resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-iam-caller-account-resolver.d.ts","sourceRoot":"","sources":["../../../../../src/service/iam/authorize/caller-account/sim-iam-caller-account-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gDAAgD,CAAC;AAC3F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AACxF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAIvE,UAAU,qCAAqC;IAC7C;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;IAEpC;;;;;OAKG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,qBAAqB,GAAG,SAAS,CAAC;CAC1D;AAED;;;;;;;;GAQG;AACH,qBAAa,2BAA2B;IACtC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkB;IAC5C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAoC;IAEjE,YAAY,UAAU,EAAE,qCAAqC,EAG5D;IAED;;OAEG;IACH,OAAO,CAAC,MAAM,EAAE,oBAAoB,GAAG,mBAAmB,CAazD;CACF"}
@@ -0,0 +1,33 @@
1
+ import { SimIamCrossAccountCaller } from "./sim-iam-cross-account-caller.js";
2
+ import { SimIamSameAccountCaller } from "./sim-iam-same-account-caller.js";
3
+ /**
4
+ * Works out which Account owns the caller of an authorization request.
5
+ *
6
+ * The answer decides how the request is evaluated, so it is made once, here,
7
+ * from the resolved caller. A caller with no Account in its ARN — a service
8
+ * principal or an anonymous request — has no identity side and is treated as
9
+ * belonging to the evaluating Account, which leaves it to be allowed by a
10
+ * resource policy alone.
11
+ */
12
+ export class SimIamCallerAccountResolver {
13
+ accountId;
14
+ iamResolver;
15
+ constructor(properties) {
16
+ this.accountId = properties.accountId;
17
+ this.iamResolver = properties.iamResolver;
18
+ }
19
+ /**
20
+ * Resolve the caller's Account relative to the Account owning the resource.
21
+ */
22
+ resolve(caller) {
23
+ const callerAccountId = caller.accountId;
24
+ if (callerAccountId === undefined || callerAccountId === this.accountId) {
25
+ return new SimIamSameAccountCaller();
26
+ }
27
+ return new SimIamCrossAccountCaller({
28
+ principal: caller.identityPolicyPrincipal,
29
+ callerAccountIam: this.iamResolver?.findIamForAccount(callerAccountId),
30
+ });
31
+ }
32
+ }
33
+ //# sourceMappingURL=sim-iam-caller-account-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-iam-caller-account-resolver.js","sourceRoot":"","sources":["../../../../../src/service/iam/authorize/caller-account/sim-iam-caller-account-resolver.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAiB3E;;;;;;;;GAQG;AACH,MAAM,OAAO,2BAA2B;IACrB,SAAS,CAAkB;IAC3B,WAAW,CAAqC;IAEjE,YAAY,UAAiD;QAC3D,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;QACtC,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,MAA4B;QAClC,MAAM,eAAe,GAAG,MAAM,CAAC,SAAS,CAAC;QAEzC,IAAI,eAAe,KAAK,SAAS,IAAI,eAAe,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;YACxE,OAAO,IAAI,uBAAuB,EAAE,CAAC;QACvC,CAAC;QAED,OAAO,IAAI,wBAAwB,CAAC;YAClC,SAAS,EAAE,MAAM,CAAC,uBAAuB;YACzC,gBAAgB,EAAE,IAAI,CAAC,WAAW,EAAE,iBAAiB,CACnD,eAAkC,CACnC;SACF,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -0,0 +1,21 @@
1
+ import type { SimIamAllowRequirement } from "../allow/sim-iam-allow-requirement.js";
2
+ import type { SimIamAuthZPolicySource } from "../context/sim-iam-auth-z-context.js";
3
+ /**
4
+ * What the Account owning the caller contributes to an authorization request.
5
+ *
6
+ * The Account evaluating a request owns the resource. Whether the caller
7
+ * belongs to that same Account decides two things at once: which identity
8
+ * policies are in scope, and how an Allow from each side is combined. Both
9
+ * answers come from here so they cannot disagree.
10
+ */
11
+ export interface SimIamCallerAccount {
12
+ /**
13
+ * Identity policies contributed by the caller's own Account.
14
+ */
15
+ readonly identityPolicies: readonly SimIamAuthZPolicySource[];
16
+ /**
17
+ * How identity and resource Allows combine for this caller.
18
+ */
19
+ readonly allowRequirement: SimIamAllowRequirement;
20
+ }
21
+ //# sourceMappingURL=sim-iam-caller-account.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-iam-caller-account.d.ts","sourceRoot":"","sources":["../../../../../src/service/iam/authorize/caller-account/sim-iam-caller-account.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AACpF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAEpF;;;;;;;GAOG;AACH,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,QAAQ,CAAC,gBAAgB,EAAE,SAAS,uBAAuB,EAAE,CAAC;IAE9D;;OAEG;IACH,QAAQ,CAAC,gBAAgB,EAAE,sBAAsB,CAAC;CACnD"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=sim-iam-caller-account.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-iam-caller-account.js","sourceRoot":"","sources":["../../../../../src/service/iam/authorize/caller-account/sim-iam-caller-account.ts"],"names":[],"mappings":""}
@@ -0,0 +1,34 @@
1
+ import type { SimAwsPrincipal } from "../../../aws/caller/sim-aws-caller.js";
2
+ import { type SimIamAllowRequirement } from "../allow/sim-iam-allow-requirement.js";
3
+ import type { SimIamAuthZPolicySource } from "../context/sim-iam-auth-z-context.js";
4
+ import type { SimIamAccountIdentityPolicies } from "../identity/sim-iam-account-identity-policies.js";
5
+ import type { SimIamCallerAccount } from "./sim-iam-caller-account.js";
6
+ interface SimIamCrossAccountCallerProperties {
7
+ /**
8
+ * The identity whose policies apply to the request, in the caller's Account.
9
+ */
10
+ readonly principal: SimAwsPrincipal;
11
+ /**
12
+ * Simulated IAM of the Account owning the caller, when the simulation has it.
13
+ */
14
+ readonly callerAccountIam?: SimIamAccountIdentityPolicies | undefined;
15
+ }
16
+ /**
17
+ * A caller belonging to a different Account from the resource.
18
+ *
19
+ * AWS decides such a request in both Accounts, so the identity policies of the
20
+ * caller's own Account are pulled in and both sides are then required to allow.
21
+ * A resource policy naming another Account's principal delegates to that
22
+ * Account rather than granting on its own behalf.
23
+ *
24
+ * An Account the simulation knows nothing about contributes no identity
25
+ * policies, which denies the request. That matches AWS for the case it
26
+ * represents: a principal ARN that was never given any permissions.
27
+ */
28
+ export declare class SimIamCrossAccountCaller implements SimIamCallerAccount {
29
+ readonly identityPolicies: readonly SimIamAuthZPolicySource[];
30
+ readonly allowRequirement: SimIamAllowRequirement;
31
+ constructor(properties: SimIamCrossAccountCallerProperties);
32
+ }
33
+ export {};
34
+ //# sourceMappingURL=sim-iam-cross-account-caller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-iam-cross-account-caller.d.ts","sourceRoot":"","sources":["../../../../../src/service/iam/authorize/caller-account/sim-iam-cross-account-caller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAC7E,OAAO,EACL,KAAK,sBAAsB,EAE5B,MAAM,uCAAuC,CAAC;AAC/C,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AACpF,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,kDAAkD,CAAC;AACtG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAEvE,UAAU,kCAAkC;IAC1C;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;IAEpC;;OAEG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,6BAA6B,GAAG,SAAS,CAAC;CACvE;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,wBAAyB,YAAW,mBAAmB;IAClE,QAAQ,CAAC,gBAAgB,EAAE,SAAS,uBAAuB,EAAE,CAAC;IAE9D,QAAQ,CAAC,gBAAgB,EAAE,sBAAsB,CACT;IAExC,YAAY,UAAU,EAAE,kCAAkC,EAKzD;CACF"}
@@ -0,0 +1,22 @@
1
+ import { SimIamBothSidesAllowRequirement, } from "../allow/sim-iam-allow-requirement.js";
2
+ /**
3
+ * A caller belonging to a different Account from the resource.
4
+ *
5
+ * AWS decides such a request in both Accounts, so the identity policies of the
6
+ * caller's own Account are pulled in and both sides are then required to allow.
7
+ * A resource policy naming another Account's principal delegates to that
8
+ * Account rather than granting on its own behalf.
9
+ *
10
+ * An Account the simulation knows nothing about contributes no identity
11
+ * policies, which denies the request. That matches AWS for the case it
12
+ * represents: a principal ARN that was never given any permissions.
13
+ */
14
+ export class SimIamCrossAccountCaller {
15
+ identityPolicies;
16
+ allowRequirement = new SimIamBothSidesAllowRequirement();
17
+ constructor(properties) {
18
+ this.identityPolicies =
19
+ properties.callerAccountIam?.identityPolicySourcesFor(properties.principal) ?? [];
20
+ }
21
+ }
22
+ //# sourceMappingURL=sim-iam-cross-account-caller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-iam-cross-account-caller.js","sourceRoot":"","sources":["../../../../../src/service/iam/authorize/caller-account/sim-iam-cross-account-caller.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,+BAA+B,GAChC,MAAM,uCAAuC,CAAC;AAiB/C;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,wBAAwB;IAC1B,gBAAgB,CAAqC;IAErD,gBAAgB,GACvB,IAAI,+BAA+B,EAAE,CAAC;IAExC,YAAY,UAA8C;QACxD,IAAI,CAAC,gBAAgB;YACnB,UAAU,CAAC,gBAAgB,EAAE,wBAAwB,CACnD,UAAU,CAAC,SAAS,CACrB,IAAI,EAAE,CAAC;IACZ,CAAC;CACF"}
@@ -0,0 +1,18 @@
1
+ import { type SimIamAllowRequirement } from "../allow/sim-iam-allow-requirement.js";
2
+ import type { SimIamAuthZPolicySource } from "../context/sim-iam-auth-z-context.js";
3
+ import type { SimIamCallerAccount } from "./sim-iam-caller-account.js";
4
+ /**
5
+ * A caller decided entirely within the Account that owns the resource.
6
+ *
7
+ * This covers a principal belonging to that Account, and callers with no
8
+ * identity side at all: a service principal or an anonymous request, which AWS
9
+ * allows on a resource policy alone.
10
+ *
11
+ * The Account's own IAM state already holds every identity policy in scope, so
12
+ * nothing is contributed here.
13
+ */
14
+ export declare class SimIamSameAccountCaller implements SimIamCallerAccount {
15
+ readonly identityPolicies: readonly SimIamAuthZPolicySource[];
16
+ readonly allowRequirement: SimIamAllowRequirement;
17
+ }
18
+ //# sourceMappingURL=sim-iam-same-account-caller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-iam-same-account-caller.d.ts","sourceRoot":"","sources":["../../../../../src/service/iam/authorize/caller-account/sim-iam-same-account-caller.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,sBAAsB,EAE5B,MAAM,uCAAuC,CAAC;AAC/C,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AACpF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAEvE;;;;;;;;;GASG;AACH,qBAAa,uBAAwB,YAAW,mBAAmB;IACjE,QAAQ,CAAC,gBAAgB,EAAE,SAAS,uBAAuB,EAAE,CAAM;IAEnE,QAAQ,CAAC,gBAAgB,EAAE,sBAAsB,CACR;CAC1C"}
@@ -0,0 +1,16 @@
1
+ import { SimIamEitherSideAllowRequirement, } from "../allow/sim-iam-allow-requirement.js";
2
+ /**
3
+ * A caller decided entirely within the Account that owns the resource.
4
+ *
5
+ * This covers a principal belonging to that Account, and callers with no
6
+ * identity side at all: a service principal or an anonymous request, which AWS
7
+ * allows on a resource policy alone.
8
+ *
9
+ * The Account's own IAM state already holds every identity policy in scope, so
10
+ * nothing is contributed here.
11
+ */
12
+ export class SimIamSameAccountCaller {
13
+ identityPolicies = [];
14
+ allowRequirement = new SimIamEitherSideAllowRequirement();
15
+ }
16
+ //# sourceMappingURL=sim-iam-same-account-caller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-iam-same-account-caller.js","sourceRoot":"","sources":["../../../../../src/service/iam/authorize/caller-account/sim-iam-same-account-caller.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,gCAAgC,GACjC,MAAM,uCAAuC,CAAC;AAI/C;;;;;;;;;GASG;AACH,MAAM,OAAO,uBAAuB;IACzB,gBAAgB,GAAuC,EAAE,CAAC;IAE1D,gBAAgB,GACvB,IAAI,gCAAgC,EAAE,CAAC;CAC1C"}
@@ -1,7 +1,7 @@
1
1
  import { type SimAwsCredentialIdentityResolver, type SimAwsResolvedCaller } from "../../../aws/caller/sim-aws-caller-resolver.js";
2
2
  import type { SimAwsCaller, SimAwsPrincipal } from "../../../aws/caller/sim-aws-caller.js";
3
3
  import type { SimIamAuthZPolicySource } from "./sim-iam-auth-z-context.js";
4
- interface SimIamAuthZCallerContext {
4
+ export interface SimIamAuthZCallerContext {
5
5
  readonly caller: SimAwsResolvedCaller;
6
6
  readonly rootPolicySources: readonly SimIamAuthZPolicySource[];
7
7
  }
@@ -26,5 +26,4 @@ export declare class SimIamAuthZCallerContextBuilder {
26
26
  */
27
27
  private rootPolicySources;
28
28
  }
29
- export {};
30
29
  //# sourceMappingURL=sim-iam-auth-z-caller-context-builder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sim-iam-auth-z-caller-context-builder.d.ts","sourceRoot":"","sources":["../../../../../src/service/iam/authorize/context/sim-iam-auth-z-caller-context-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,gCAAgC,EACrC,KAAK,oBAAoB,EAC1B,MAAM,gDAAgD,CAAC;AACxD,OAAO,KAAK,EACV,YAAY,EACZ,eAAe,EAChB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAE3E,UAAU,wBAAwB;IAChC,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC;IACtC,QAAQ,CAAC,iBAAiB,EAAE,SAAS,uBAAuB,EAAE,CAAC;CAChE;AAED;;;;;;GAMG;AACH,qBAAa,+BAA+B;IAC1C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAuB;IACtD,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAkB;IAEzD,YACE,sBAAsB,EAAE,eAAe,EACvC,0BAA0B,EAAE,gCAAgC,EAI7D;IAED;;;OAGG;IACH,KAAK,CAAC,MAAM,EAAE,YAAY,GAAG,SAAS,GAAG,wBAAwB,CAUhE;IAED;;OAEG;IACH,OAAO,CAAC,iBAAiB;CA2B1B"}
1
+ {"version":3,"file":"sim-iam-auth-z-caller-context-builder.d.ts","sourceRoot":"","sources":["../../../../../src/service/iam/authorize/context/sim-iam-auth-z-caller-context-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,gCAAgC,EACrC,KAAK,oBAAoB,EAC1B,MAAM,gDAAgD,CAAC;AACxD,OAAO,KAAK,EACV,YAAY,EACZ,eAAe,EAChB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAE3E,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC;IACtC,QAAQ,CAAC,iBAAiB,EAAE,SAAS,uBAAuB,EAAE,CAAC;CAChE;AAED;;;;;;GAMG;AACH,qBAAa,+BAA+B;IAC1C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAuB;IACtD,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAkB;IAEzD,YACE,sBAAsB,EAAE,eAAe,EACvC,0BAA0B,EAAE,gCAAgC,EAI7D;IAED;;;OAGG;IACH,KAAK,CAAC,MAAM,EAAE,YAAY,GAAG,SAAS,GAAG,wBAAwB,CAUhE;IAED;;OAEG;IACH,OAAO,CAAC,iBAAiB;CA2B1B"}
@@ -1,8 +1,10 @@
1
1
  import type { SimArn } from "../../../aws/arn.js";
2
2
  import type { SimAwsCaller, SimAwsPrincipal } from "../../../aws/caller/sim-aws-caller.js";
3
+ import type { SimAwsAccountId } from "../../../aws/sim-aws-account.js";
4
+ import type { SimIamAccountResolver } from "../../registry/sim-iam-account-resolver.js";
3
5
  import type { SimIamConditionValue, SimIamPolicy, SimIamPolicyDocument } from "../../policy/sim-iam-policy.js";
4
6
  import type { SimIamRole, SimIamRoleName } from "../../role/sim-iam-role.js";
5
- import type { SimIamAuthZContext, SimIamAuthZPolicySourceType } from "./sim-iam-auth-z-context.js";
7
+ import type { SimIamAuthZContext, SimIamAuthZPolicySource, SimIamAuthZPolicySourceType } from "./sim-iam-auth-z-context.js";
6
8
  import type { SimAwsCredentialIdentityResolver } from "../../../aws/caller/sim-aws-caller-resolver.js";
7
9
  import type { SimIamUser, SimIamUsername } from "../../user/sim-iam-user.js";
8
10
  export interface SimIamResourcePolicyInput {
@@ -43,6 +45,21 @@ export interface SimIamAuthorizationInput {
43
45
  */
44
46
  readonly resourcePolicies?: readonly SimIamResourcePolicyInput[] | undefined;
45
47
  }
48
+ interface SimIamAuthZContextBuilderProperties {
49
+ /**
50
+ * The Account whose IAM is evaluating the request.
51
+ */
52
+ readonly accountId: SimAwsAccountId;
53
+ readonly policies: ReadonlyMap<SimArn, SimIamPolicy>;
54
+ readonly roles: ReadonlyMap<SimIamRoleName, SimIamRole>;
55
+ readonly users: ReadonlyMap<SimIamUsername, SimIamUser>;
56
+ readonly credentialIdentityResolver: SimAwsCredentialIdentityResolver;
57
+ /**
58
+ * Resolves other Accounts' IAM in the same simulation, for the identity side
59
+ * of a cross-Account request.
60
+ */
61
+ readonly iamResolver?: SimIamAccountResolver | undefined;
62
+ }
46
63
  /**
47
64
  * Builds the authorization context consumed by SimIamAuthorizer.
48
65
  *
@@ -55,6 +72,11 @@ export interface SimIamAuthorizationInput {
55
72
  * finding a principal role, reading inline policies from the role, resolving
56
73
  * attached managed policy ARNs, and parsing stored policy documents.
57
74
  *
75
+ * Whose identity policies are in scope depends on which Account owns the
76
+ * caller, which SimIamCallerAccountResolver decides. A caller from another
77
+ * Account brings that Account's identity policies with it, along with the rule
78
+ * that both sides must then allow the request.
79
+ *
58
80
  * Resource policies are supplied by the service that owns the target resource.
59
81
  * They are passed through the authorization input rather than loaded from the
60
82
  * IAM role or managed-policy stores.
@@ -67,11 +89,25 @@ export interface SimIamAuthorizationInput {
67
89
  export declare class SimIamAuthZContextBuilder {
68
90
  private readonly callerContextBuilder;
69
91
  private readonly identityPolicyCoordinator;
70
- constructor(policies: ReadonlyMap<SimArn, SimIamPolicy>, roles: ReadonlyMap<SimIamRoleName, SimIamRole>, users: ReadonlyMap<SimIamUsername, SimIamUser>, defaultCallerPrincipal: SimAwsPrincipal, credentialIdentityResolver: SimAwsCredentialIdentityResolver);
92
+ private readonly callerAccountResolver;
93
+ constructor(properties: SimIamAuthZContextBuilderProperties);
71
94
  /**
72
95
  * Build the context consumed by SimIamAuthorizer.
73
96
  */
74
97
  build(input: SimIamAuthorizationInput): SimIamAuthZContext;
98
+ /**
99
+ * Identity policy sources this Account applies to one of its own principals.
100
+ *
101
+ * This is the identity side of a request within one Account, and is also what
102
+ * another Account's IAM asks for when it is deciding a cross-Account request
103
+ * against a principal belonging to this one.
104
+ */
105
+ identityPolicySourcesFor(principal: SimAwsPrincipal): readonly SimIamAuthZPolicySource[];
106
+ /**
107
+ * Combine stored identity policies with any implied by the caller itself,
108
+ * such as the unrestricted access held by this Account's root principal.
109
+ */
110
+ private ownIdentityPolicySources;
75
111
  /**
76
112
  * Combine service-provided condition values with global values that IAM can
77
113
  * derive from the resolved caller. AWS:PrincipalArn identifies the IAM
@@ -91,4 +127,5 @@ export declare class SimIamAuthZContextBuilder {
91
127
  */
92
128
  private resourcePolicySources;
93
129
  }
130
+ export {};
94
131
  //# sourceMappingURL=sim-iam-auth-z-context-builder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sim-iam-auth-z-context-builder.d.ts","sourceRoot":"","sources":["../../../../../src/service/iam/authorize/context/sim-iam-auth-z-context-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EACV,YAAY,EACZ,eAAe,EAChB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,KAAK,EACV,oBAAoB,EACpB,YAAY,EACZ,oBAAoB,EACrB,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC7E,OAAO,KAAK,EACV,kBAAkB,EAElB,2BAA2B,EAC5B,MAAM,6BAA6B,CAAC;AAGrC,OAAO,KAAK,EACV,gCAAgC,EAEjC,MAAM,gDAAgD,CAAC;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE7E,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,CAAC;IACxC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAC3B,2BAA2B,EAC3B,UAAU,GAAG,OAAO,CACrB,CAAC;IACF,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3C;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE1B;;;;;;;;OAQG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EACxB,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC,GAAG,SAAS,CAAC;IAE7D;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;IAE3C;;;;;;OAMG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,SAAS,yBAAyB,EAAE,GAAG,SAAS,CAAC;CAC9E;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,yBAAyB;IACpC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAkC;IACvE,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAuC;IAEjF,YACE,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,YAAY,CAAC,EAC3C,KAAK,EAAE,WAAW,CAAC,cAAc,EAAE,UAAU,CAAC,EAC9C,KAAK,EAAE,WAAW,CAAC,cAAc,EAAE,UAAU,CAAC,EAC9C,sBAAsB,EAAE,eAAe,EACvC,0BAA0B,EAAE,gCAAgC,EAW7D;IAED;;OAEG;IACH,KAAK,CAAC,KAAK,EAAE,wBAAwB,GAAG,kBAAkB,CAgBzD;IAED;;;;;;OAMG;IACH,OAAO,CAAC,gBAAgB;IAgBxB;;;;;;;;OAQG;IACH,OAAO,CAAC,qBAAqB;CAU9B"}
1
+ {"version":3,"file":"sim-iam-auth-z-context-builder.d.ts","sourceRoot":"","sources":["../../../../../src/service/iam/authorize/context/sim-iam-auth-z-context-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD,OAAO,KAAK,EACV,YAAY,EACZ,eAAe,EAChB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAEvE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AACxF,OAAO,KAAK,EACV,oBAAoB,EACpB,YAAY,EACZ,oBAAoB,EACrB,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC7E,OAAO,KAAK,EACV,kBAAkB,EAClB,uBAAuB,EACvB,2BAA2B,EAC5B,MAAM,6BAA6B,CAAC;AAMrC,OAAO,KAAK,EACV,gCAAgC,EAEjC,MAAM,gDAAgD,CAAC;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE7E,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,CAAC;IACxC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAC3B,2BAA2B,EAC3B,UAAU,GAAG,OAAO,CACrB,CAAC;IACF,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3C;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE1B;;;;;;;;OAQG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EACxB,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC,GAAG,SAAS,CAAC;IAE7D;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;IAE3C;;;;;;OAMG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,SAAS,yBAAyB,EAAE,GAAG,SAAS,CAAC;CAC9E;AAED,UAAU,mCAAmC;IAC3C;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;IAEpC,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACrD,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;IACxD,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;IACxD,QAAQ,CAAC,0BAA0B,EAAE,gCAAgC,CAAC;IAEtE;;;OAGG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,qBAAqB,GAAG,SAAS,CAAC;CAC1D;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBAAa,yBAAyB;IACpC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAkC;IACvE,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAuC;IACjF,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAA8B;IAEpE,YAAY,UAAU,EAAE,mCAAmC,EAc1D;IAED;;OAEG;IACH,KAAK,CAAC,KAAK,EAAE,wBAAwB,GAAG,kBAAkB,CAkBzD;IAED;;;;;;OAMG;IACH,wBAAwB,CACtB,SAAS,EAAE,eAAe,GACzB,SAAS,uBAAuB,EAAE,CAIpC;IAED;;;OAGG;IACH,OAAO,CAAC,wBAAwB;IAWhC;;;;;;OAMG;IACH,OAAO,CAAC,gBAAgB;IAgBxB;;;;;;;;OAQG;IACH,OAAO,CAAC,qBAAqB;CAU9B"}