@cloud-copilot/iam-simulate 0.1.19 → 0.1.21
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/dist/cjs/StatementAnalysis.d.ts +4 -4
- package/dist/cjs/StatementAnalysis.d.ts.map +1 -1
- package/dist/cjs/StatementAnalysis.js +2 -2
- package/dist/cjs/StatementAnalysis.js.map +1 -1
- package/dist/cjs/action/action.d.ts +3 -3
- package/dist/cjs/action/action.d.ts.map +1 -1
- package/dist/cjs/action/action.js +7 -7
- package/dist/cjs/action/action.js.map +1 -1
- package/dist/cjs/condition/BaseConditionOperator.d.ts +2 -2
- package/dist/cjs/condition/BaseConditionOperator.d.ts.map +1 -1
- package/dist/cjs/condition/arn/ArnEquals.d.ts +1 -1
- package/dist/cjs/condition/arn/ArnEquals.d.ts.map +1 -1
- package/dist/cjs/condition/arn/ArnEquals.js.map +1 -1
- package/dist/cjs/condition/arn/ArnLike.d.ts +1 -1
- package/dist/cjs/condition/arn/ArnLike.d.ts.map +1 -1
- package/dist/cjs/condition/arn/ArnLike.js +2 -2
- package/dist/cjs/condition/arn/ArnLike.js.map +1 -1
- package/dist/cjs/condition/arn/ArnNotEquals.d.ts +1 -1
- package/dist/cjs/condition/arn/ArnNotEquals.d.ts.map +1 -1
- package/dist/cjs/condition/arn/ArnNotEquals.js.map +1 -1
- package/dist/cjs/condition/arn/ArnNotLike.d.ts +1 -1
- package/dist/cjs/condition/arn/ArnNotLike.d.ts.map +1 -1
- package/dist/cjs/condition/arn/ArnNotLike.js +2 -2
- package/dist/cjs/condition/arn/ArnNotLike.js.map +1 -1
- package/dist/cjs/condition/arn/arn.d.ts +2 -2
- package/dist/cjs/condition/arn/arn.d.ts.map +1 -1
- package/dist/cjs/condition/arn/arn.js +3 -1
- package/dist/cjs/condition/arn/arn.js.map +1 -1
- package/dist/cjs/condition/baseConditionperatorTests.d.ts +1 -1
- package/dist/cjs/condition/baseConditionperatorTests.d.ts.map +1 -1
- package/dist/cjs/condition/baseConditionperatorTests.js +2 -2
- package/dist/cjs/condition/baseConditionperatorTests.js.map +1 -1
- package/dist/cjs/condition/binary/BinaryEquals.d.ts +1 -1
- package/dist/cjs/condition/binary/BinaryEquals.d.ts.map +1 -1
- package/dist/cjs/condition/binary/BinaryEquals.js +1 -1
- package/dist/cjs/condition/binary/BinaryEquals.js.map +1 -1
- package/dist/cjs/condition/boolean/Bool.d.ts +1 -1
- package/dist/cjs/condition/boolean/Bool.d.ts.map +1 -1
- package/dist/cjs/condition/boolean/Bool.js +10 -5
- package/dist/cjs/condition/boolean/Bool.js.map +1 -1
- package/dist/cjs/condition/condition.d.ts.map +1 -1
- package/dist/cjs/condition/condition.js +48 -24
- package/dist/cjs/condition/condition.js.map +1 -1
- package/dist/cjs/condition/conditionUtil.d.ts +1 -1
- package/dist/cjs/condition/conditionUtil.d.ts.map +1 -1
- package/dist/cjs/condition/conditionUtil.js +4 -1
- package/dist/cjs/condition/conditionUtil.js.map +1 -1
- package/dist/cjs/condition/date/DateEquals.d.ts +1 -1
- package/dist/cjs/condition/date/DateEquals.d.ts.map +1 -1
- package/dist/cjs/condition/date/DateEquals.js +2 -2
- package/dist/cjs/condition/date/DateEquals.js.map +1 -1
- package/dist/cjs/condition/date/DateGreaterThan.d.ts +1 -1
- package/dist/cjs/condition/date/DateGreaterThan.d.ts.map +1 -1
- package/dist/cjs/condition/date/DateGreaterThan.js +2 -2
- package/dist/cjs/condition/date/DateGreaterThan.js.map +1 -1
- package/dist/cjs/condition/date/DateGreaterThanEquals.d.ts +1 -1
- package/dist/cjs/condition/date/DateGreaterThanEquals.d.ts.map +1 -1
- package/dist/cjs/condition/date/DateGreaterThanEquals.js +2 -2
- package/dist/cjs/condition/date/DateGreaterThanEquals.js.map +1 -1
- package/dist/cjs/condition/date/DateLessThan.d.ts +1 -1
- package/dist/cjs/condition/date/DateLessThan.d.ts.map +1 -1
- package/dist/cjs/condition/date/DateLessThan.js +2 -2
- package/dist/cjs/condition/date/DateLessThan.js.map +1 -1
- package/dist/cjs/condition/date/DateLessThanEquals.d.ts +1 -1
- package/dist/cjs/condition/date/DateLessThanEquals.d.ts.map +1 -1
- package/dist/cjs/condition/date/DateLessThanEquals.js +2 -2
- package/dist/cjs/condition/date/DateLessThanEquals.js.map +1 -1
- package/dist/cjs/condition/date/DateNotEquals.d.ts +1 -1
- package/dist/cjs/condition/date/DateNotEquals.d.ts.map +1 -1
- package/dist/cjs/condition/date/DateNotEquals.js +2 -2
- package/dist/cjs/condition/date/DateNotEquals.js.map +1 -1
- package/dist/cjs/condition/date/date.d.ts +1 -1
- package/dist/cjs/condition/date/date.d.ts.map +1 -1
- package/dist/cjs/condition/date/date.js +1 -1
- package/dist/cjs/condition/date/date.js.map +1 -1
- package/dist/cjs/condition/ipaddress/IpAddress.d.ts +1 -1
- package/dist/cjs/condition/ipaddress/IpAddress.d.ts.map +1 -1
- package/dist/cjs/condition/ipaddress/IpAddress.js +2 -2
- package/dist/cjs/condition/ipaddress/IpAddress.js.map +1 -1
- package/dist/cjs/condition/ipaddress/NotIpAddress.d.ts +1 -1
- package/dist/cjs/condition/ipaddress/NotIpAddress.d.ts.map +1 -1
- package/dist/cjs/condition/ipaddress/NotIpAddress.js +2 -2
- package/dist/cjs/condition/ipaddress/NotIpAddress.js.map +1 -1
- package/dist/cjs/condition/ipaddress/ip.d.ts +1 -1
- package/dist/cjs/condition/ipaddress/ip.d.ts.map +1 -1
- package/dist/cjs/condition/ipaddress/ip.js +1 -1
- package/dist/cjs/condition/ipaddress/ip.js.map +1 -1
- package/dist/cjs/condition/ipaddress/ipv4.d.ts.map +1 -1
- package/dist/cjs/condition/ipaddress/ipv4.js +2 -2
- package/dist/cjs/condition/ipaddress/ipv4.js.map +1 -1
- package/dist/cjs/condition/ipaddress/ipv6.js +1 -1
- package/dist/cjs/condition/ipaddress/ipv6.js.map +1 -1
- package/dist/cjs/condition/numeric/NumericEquals.d.ts +1 -1
- package/dist/cjs/condition/numeric/NumericEquals.d.ts.map +1 -1
- package/dist/cjs/condition/numeric/NumericEquals.js +2 -2
- package/dist/cjs/condition/numeric/NumericEquals.js.map +1 -1
- package/dist/cjs/condition/numeric/NumericGreaterThan.d.ts +1 -1
- package/dist/cjs/condition/numeric/NumericGreaterThan.d.ts.map +1 -1
- package/dist/cjs/condition/numeric/NumericGreaterThan.js +2 -2
- package/dist/cjs/condition/numeric/NumericGreaterThan.js.map +1 -1
- package/dist/cjs/condition/numeric/NumericGreaterThanEquals.d.ts +1 -1
- package/dist/cjs/condition/numeric/NumericGreaterThanEquals.d.ts.map +1 -1
- package/dist/cjs/condition/numeric/NumericGreaterThanEquals.js +2 -2
- package/dist/cjs/condition/numeric/NumericGreaterThanEquals.js.map +1 -1
- package/dist/cjs/condition/numeric/NumericLessThan.d.ts +1 -1
- package/dist/cjs/condition/numeric/NumericLessThan.d.ts.map +1 -1
- package/dist/cjs/condition/numeric/NumericLessThan.js +2 -2
- package/dist/cjs/condition/numeric/NumericLessThan.js.map +1 -1
- package/dist/cjs/condition/numeric/NumericLessThanEquals.d.ts +1 -1
- package/dist/cjs/condition/numeric/NumericLessThanEquals.d.ts.map +1 -1
- package/dist/cjs/condition/numeric/NumericLessThanEquals.js +2 -2
- package/dist/cjs/condition/numeric/NumericLessThanEquals.js.map +1 -1
- package/dist/cjs/condition/numeric/NumericNotEquals.d.ts +1 -1
- package/dist/cjs/condition/numeric/NumericNotEquals.d.ts.map +1 -1
- package/dist/cjs/condition/numeric/NumericNotEquals.js +2 -2
- package/dist/cjs/condition/numeric/NumericNotEquals.js.map +1 -1
- package/dist/cjs/condition/numeric/numeric.d.ts +1 -1
- package/dist/cjs/condition/numeric/numeric.d.ts.map +1 -1
- package/dist/cjs/condition/numeric/numeric.js +1 -1
- package/dist/cjs/condition/numeric/numeric.js.map +1 -1
- package/dist/cjs/condition/string/StringEquals.d.ts +1 -1
- package/dist/cjs/condition/string/StringEquals.d.ts.map +1 -1
- package/dist/cjs/condition/string/StringEquals.js +2 -2
- package/dist/cjs/condition/string/StringEquals.js.map +1 -1
- package/dist/cjs/condition/string/StringEqualsIgnoreCase.d.ts +1 -1
- package/dist/cjs/condition/string/StringEqualsIgnoreCase.d.ts.map +1 -1
- package/dist/cjs/condition/string/StringEqualsIgnoreCase.js +2 -2
- package/dist/cjs/condition/string/StringEqualsIgnoreCase.js.map +1 -1
- package/dist/cjs/condition/string/StringLike.d.ts +1 -1
- package/dist/cjs/condition/string/StringLike.d.ts.map +1 -1
- package/dist/cjs/condition/string/StringLike.js +2 -2
- package/dist/cjs/condition/string/StringLike.js.map +1 -1
- package/dist/cjs/condition/string/StringNotEquals.d.ts +1 -1
- package/dist/cjs/condition/string/StringNotEquals.d.ts.map +1 -1
- package/dist/cjs/condition/string/StringNotEquals.js +2 -2
- package/dist/cjs/condition/string/StringNotEquals.js.map +1 -1
- package/dist/cjs/condition/string/StringNotEqualsIgnoreCase.d.ts +1 -1
- package/dist/cjs/condition/string/StringNotEqualsIgnoreCase.d.ts.map +1 -1
- package/dist/cjs/condition/string/StringNotEqualsIgnoreCase.js +2 -2
- package/dist/cjs/condition/string/StringNotEqualsIgnoreCase.js.map +1 -1
- package/dist/cjs/condition/string/StringNotLike.d.ts +1 -1
- package/dist/cjs/condition/string/StringNotLike.d.ts.map +1 -1
- package/dist/cjs/condition/string/StringNotLike.js +2 -2
- package/dist/cjs/condition/string/StringNotLike.js.map +1 -1
- package/dist/cjs/context_keys/contextKeyTypes.d.ts.map +1 -1
- package/dist/cjs/context_keys/contextKeyTypes.js.map +1 -1
- package/dist/cjs/context_keys/contextKeys.d.ts +1 -1
- package/dist/cjs/context_keys/contextKeys.d.ts.map +1 -1
- package/dist/cjs/context_keys/contextKeys.js +12 -8
- package/dist/cjs/context_keys/contextKeys.js.map +1 -1
- package/dist/cjs/context_keys/findContextKeys.d.ts +1 -1
- package/dist/cjs/context_keys/findContextKeys.d.ts.map +1 -1
- package/dist/cjs/context_keys/findContextKeys.js +3 -3
- package/dist/cjs/context_keys/findContextKeys.js.map +1 -1
- package/dist/cjs/core_engine/coreSimulatorEngine.d.ts +4 -4
- package/dist/cjs/core_engine/coreSimulatorEngine.d.ts.map +1 -1
- package/dist/cjs/core_engine/coreSimulatorEngine.js +34 -15
- package/dist/cjs/core_engine/coreSimulatorEngine.js.map +1 -1
- package/dist/cjs/evaluate.d.ts +1 -1
- package/dist/cjs/evaluate.d.ts.map +1 -1
- package/dist/cjs/explain/displayExplainCli.d.ts +1 -1
- package/dist/cjs/explain/displayExplainCli.d.ts.map +1 -1
- package/dist/cjs/explain/displayExplainCli.js +11 -10
- package/dist/cjs/explain/displayExplainCli.js.map +1 -1
- package/dist/cjs/explain/statementExplain.d.ts.map +1 -1
- package/dist/cjs/explain/statementExplain.js.map +1 -1
- package/dist/cjs/global_conditions/globalConditionKeys.d.ts +1 -1
- package/dist/cjs/global_conditions/globalConditionKeys.d.ts.map +1 -1
- package/dist/cjs/global_conditions/globalConditionKeys.js +159 -159
- package/dist/cjs/global_conditions/globalConditionKeys.js.map +1 -1
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/principal/principal.d.ts +3 -3
- package/dist/cjs/principal/principal.d.ts.map +1 -1
- package/dist/cjs/principal/principal.js +23 -20
- package/dist/cjs/principal/principal.js.map +1 -1
- package/dist/cjs/request/request.d.ts +4 -4
- package/dist/cjs/request/request.d.ts.map +1 -1
- package/dist/cjs/request/request.js.map +1 -1
- package/dist/cjs/request/requestPrincipal.d.ts.map +1 -1
- package/dist/cjs/request/requestPrincipal.js +1 -1
- package/dist/cjs/request/requestPrincipal.js.map +1 -1
- package/dist/cjs/request/requestResource.d.ts.map +1 -1
- package/dist/cjs/request/requestResource.js +5 -5
- package/dist/cjs/request/requestResource.js.map +1 -1
- package/dist/cjs/requestContext.d.ts.map +1 -1
- package/dist/cjs/requestContext.js.map +1 -1
- package/dist/cjs/resource/resource.d.ts +3 -3
- package/dist/cjs/resource/resource.d.ts.map +1 -1
- package/dist/cjs/resource/resource.js +22 -18
- package/dist/cjs/resource/resource.js.map +1 -1
- package/dist/cjs/services/DefaultServiceAuthorizer.d.ts +2 -2
- package/dist/cjs/services/DefaultServiceAuthorizer.d.ts.map +1 -1
- package/dist/cjs/services/DefaultServiceAuthorizer.js +7 -3
- package/dist/cjs/services/DefaultServiceAuthorizer.js.map +1 -1
- package/dist/cjs/services/ServiceAuthorizer.d.ts +2 -2
- package/dist/cjs/services/ServiceAuthorizer.d.ts.map +1 -1
- package/dist/cjs/simulation_engine/contextKeys.d.ts.map +1 -1
- package/dist/cjs/simulation_engine/contextKeys.js +2 -5
- package/dist/cjs/simulation_engine/contextKeys.js.map +1 -1
- package/dist/cjs/simulation_engine/simulation.d.ts.map +1 -1
- package/dist/cjs/simulation_engine/simulationEngine.d.ts +18 -5
- package/dist/cjs/simulation_engine/simulationEngine.d.ts.map +1 -1
- package/dist/cjs/simulation_engine/simulationEngine.js +40 -17
- package/dist/cjs/simulation_engine/simulationEngine.js.map +1 -1
- package/dist/cjs/simulation_engine/unsafeSimulationEngine.d.ts +3 -3
- package/dist/cjs/simulation_engine/unsafeSimulationEngine.d.ts.map +1 -1
- package/dist/cjs/simulation_engine/unsafeSimulationEngine.js +4 -4
- package/dist/cjs/simulation_engine/unsafeSimulationEngine.js.map +1 -1
- package/dist/cjs/util.d.ts +6 -6
- package/dist/cjs/util.d.ts.map +1 -1
- package/dist/cjs/util.js +28 -28
- package/dist/cjs/util.js.map +1 -1
- package/dist/esm/StatementAnalysis.d.ts +4 -4
- package/dist/esm/StatementAnalysis.d.ts.map +1 -1
- package/dist/esm/StatementAnalysis.js +2 -2
- package/dist/esm/StatementAnalysis.js.map +1 -1
- package/dist/esm/action/action.d.ts +3 -3
- package/dist/esm/action/action.d.ts.map +1 -1
- package/dist/esm/action/action.js +7 -7
- package/dist/esm/action/action.js.map +1 -1
- package/dist/esm/condition/BaseConditionOperator.d.ts +2 -2
- package/dist/esm/condition/BaseConditionOperator.d.ts.map +1 -1
- package/dist/esm/condition/arn/ArnEquals.d.ts +1 -1
- package/dist/esm/condition/arn/ArnEquals.d.ts.map +1 -1
- package/dist/esm/condition/arn/ArnEquals.js +1 -1
- package/dist/esm/condition/arn/ArnEquals.js.map +1 -1
- package/dist/esm/condition/arn/ArnLike.d.ts +1 -1
- package/dist/esm/condition/arn/ArnLike.d.ts.map +1 -1
- package/dist/esm/condition/arn/ArnLike.js +3 -3
- package/dist/esm/condition/arn/ArnLike.js.map +1 -1
- package/dist/esm/condition/arn/ArnNotEquals.d.ts +1 -1
- package/dist/esm/condition/arn/ArnNotEquals.d.ts.map +1 -1
- package/dist/esm/condition/arn/ArnNotEquals.js +1 -1
- package/dist/esm/condition/arn/ArnNotEquals.js.map +1 -1
- package/dist/esm/condition/arn/ArnNotLike.d.ts +1 -1
- package/dist/esm/condition/arn/ArnNotLike.d.ts.map +1 -1
- package/dist/esm/condition/arn/ArnNotLike.js +3 -3
- package/dist/esm/condition/arn/ArnNotLike.js.map +1 -1
- package/dist/esm/condition/arn/arn.d.ts +2 -2
- package/dist/esm/condition/arn/arn.d.ts.map +1 -1
- package/dist/esm/condition/arn/arn.js +4 -2
- package/dist/esm/condition/arn/arn.js.map +1 -1
- package/dist/esm/condition/baseConditionperatorTests.d.ts +1 -1
- package/dist/esm/condition/baseConditionperatorTests.d.ts.map +1 -1
- package/dist/esm/condition/baseConditionperatorTests.js +5 -5
- package/dist/esm/condition/baseConditionperatorTests.js.map +1 -1
- package/dist/esm/condition/binary/BinaryEquals.d.ts +1 -1
- package/dist/esm/condition/binary/BinaryEquals.d.ts.map +1 -1
- package/dist/esm/condition/binary/BinaryEquals.js +2 -2
- package/dist/esm/condition/binary/BinaryEquals.js.map +1 -1
- package/dist/esm/condition/boolean/Bool.d.ts +1 -1
- package/dist/esm/condition/boolean/Bool.d.ts.map +1 -1
- package/dist/esm/condition/boolean/Bool.js +11 -6
- package/dist/esm/condition/boolean/Bool.js.map +1 -1
- package/dist/esm/condition/condition.d.ts.map +1 -1
- package/dist/esm/condition/condition.js +48 -24
- package/dist/esm/condition/condition.js.map +1 -1
- package/dist/esm/condition/conditionUtil.d.ts +1 -1
- package/dist/esm/condition/conditionUtil.d.ts.map +1 -1
- package/dist/esm/condition/conditionUtil.js +5 -2
- package/dist/esm/condition/conditionUtil.js.map +1 -1
- package/dist/esm/condition/date/DateEquals.d.ts +1 -1
- package/dist/esm/condition/date/DateEquals.d.ts.map +1 -1
- package/dist/esm/condition/date/DateEquals.js +3 -3
- package/dist/esm/condition/date/DateEquals.js.map +1 -1
- package/dist/esm/condition/date/DateGreaterThan.d.ts +1 -1
- package/dist/esm/condition/date/DateGreaterThan.d.ts.map +1 -1
- package/dist/esm/condition/date/DateGreaterThan.js +3 -3
- package/dist/esm/condition/date/DateGreaterThan.js.map +1 -1
- package/dist/esm/condition/date/DateGreaterThanEquals.d.ts +1 -1
- package/dist/esm/condition/date/DateGreaterThanEquals.d.ts.map +1 -1
- package/dist/esm/condition/date/DateGreaterThanEquals.js +3 -3
- package/dist/esm/condition/date/DateGreaterThanEquals.js.map +1 -1
- package/dist/esm/condition/date/DateLessThan.d.ts +1 -1
- package/dist/esm/condition/date/DateLessThan.d.ts.map +1 -1
- package/dist/esm/condition/date/DateLessThan.js +3 -3
- package/dist/esm/condition/date/DateLessThan.js.map +1 -1
- package/dist/esm/condition/date/DateLessThanEquals.d.ts +1 -1
- package/dist/esm/condition/date/DateLessThanEquals.d.ts.map +1 -1
- package/dist/esm/condition/date/DateLessThanEquals.js +3 -3
- package/dist/esm/condition/date/DateLessThanEquals.js.map +1 -1
- package/dist/esm/condition/date/DateNotEquals.d.ts +1 -1
- package/dist/esm/condition/date/DateNotEquals.d.ts.map +1 -1
- package/dist/esm/condition/date/DateNotEquals.js +3 -3
- package/dist/esm/condition/date/DateNotEquals.js.map +1 -1
- package/dist/esm/condition/date/date.d.ts +1 -1
- package/dist/esm/condition/date/date.d.ts.map +1 -1
- package/dist/esm/condition/date/date.js +2 -2
- package/dist/esm/condition/date/date.js.map +1 -1
- package/dist/esm/condition/ipaddress/IpAddress.d.ts +1 -1
- package/dist/esm/condition/ipaddress/IpAddress.d.ts.map +1 -1
- package/dist/esm/condition/ipaddress/IpAddress.js +3 -3
- package/dist/esm/condition/ipaddress/IpAddress.js.map +1 -1
- package/dist/esm/condition/ipaddress/NotIpAddress.d.ts +1 -1
- package/dist/esm/condition/ipaddress/NotIpAddress.d.ts.map +1 -1
- package/dist/esm/condition/ipaddress/NotIpAddress.js +3 -3
- package/dist/esm/condition/ipaddress/NotIpAddress.js.map +1 -1
- package/dist/esm/condition/ipaddress/ip.d.ts +1 -1
- package/dist/esm/condition/ipaddress/ip.d.ts.map +1 -1
- package/dist/esm/condition/ipaddress/ip.js +3 -3
- package/dist/esm/condition/ipaddress/ip.js.map +1 -1
- package/dist/esm/condition/ipaddress/ipv4.d.ts.map +1 -1
- package/dist/esm/condition/ipaddress/ipv4.js +2 -2
- package/dist/esm/condition/ipaddress/ipv4.js.map +1 -1
- package/dist/esm/condition/ipaddress/ipv6.js +1 -1
- package/dist/esm/condition/ipaddress/ipv6.js.map +1 -1
- package/dist/esm/condition/numeric/NumericEquals.d.ts +1 -1
- package/dist/esm/condition/numeric/NumericEquals.d.ts.map +1 -1
- package/dist/esm/condition/numeric/NumericEquals.js +3 -3
- package/dist/esm/condition/numeric/NumericEquals.js.map +1 -1
- package/dist/esm/condition/numeric/NumericGreaterThan.d.ts +1 -1
- package/dist/esm/condition/numeric/NumericGreaterThan.d.ts.map +1 -1
- package/dist/esm/condition/numeric/NumericGreaterThan.js +3 -3
- package/dist/esm/condition/numeric/NumericGreaterThan.js.map +1 -1
- package/dist/esm/condition/numeric/NumericGreaterThanEquals.d.ts +1 -1
- package/dist/esm/condition/numeric/NumericGreaterThanEquals.d.ts.map +1 -1
- package/dist/esm/condition/numeric/NumericGreaterThanEquals.js +3 -3
- package/dist/esm/condition/numeric/NumericGreaterThanEquals.js.map +1 -1
- package/dist/esm/condition/numeric/NumericLessThan.d.ts +1 -1
- package/dist/esm/condition/numeric/NumericLessThan.d.ts.map +1 -1
- package/dist/esm/condition/numeric/NumericLessThan.js +3 -3
- package/dist/esm/condition/numeric/NumericLessThan.js.map +1 -1
- package/dist/esm/condition/numeric/NumericLessThanEquals.d.ts +1 -1
- package/dist/esm/condition/numeric/NumericLessThanEquals.d.ts.map +1 -1
- package/dist/esm/condition/numeric/NumericLessThanEquals.js +3 -3
- package/dist/esm/condition/numeric/NumericLessThanEquals.js.map +1 -1
- package/dist/esm/condition/numeric/NumericNotEquals.d.ts +1 -1
- package/dist/esm/condition/numeric/NumericNotEquals.d.ts.map +1 -1
- package/dist/esm/condition/numeric/NumericNotEquals.js +3 -3
- package/dist/esm/condition/numeric/NumericNotEquals.js.map +1 -1
- package/dist/esm/condition/numeric/numeric.d.ts +1 -1
- package/dist/esm/condition/numeric/numeric.d.ts.map +1 -1
- package/dist/esm/condition/numeric/numeric.js +2 -2
- package/dist/esm/condition/numeric/numeric.js.map +1 -1
- package/dist/esm/condition/string/StringEquals.d.ts +1 -1
- package/dist/esm/condition/string/StringEquals.d.ts.map +1 -1
- package/dist/esm/condition/string/StringEquals.js +4 -4
- package/dist/esm/condition/string/StringEquals.js.map +1 -1
- package/dist/esm/condition/string/StringEqualsIgnoreCase.d.ts +1 -1
- package/dist/esm/condition/string/StringEqualsIgnoreCase.d.ts.map +1 -1
- package/dist/esm/condition/string/StringEqualsIgnoreCase.js +4 -4
- package/dist/esm/condition/string/StringEqualsIgnoreCase.js.map +1 -1
- package/dist/esm/condition/string/StringLike.d.ts +1 -1
- package/dist/esm/condition/string/StringLike.d.ts.map +1 -1
- package/dist/esm/condition/string/StringLike.js +4 -4
- package/dist/esm/condition/string/StringLike.js.map +1 -1
- package/dist/esm/condition/string/StringNotEquals.d.ts +1 -1
- package/dist/esm/condition/string/StringNotEquals.d.ts.map +1 -1
- package/dist/esm/condition/string/StringNotEquals.js +4 -4
- package/dist/esm/condition/string/StringNotEquals.js.map +1 -1
- package/dist/esm/condition/string/StringNotEqualsIgnoreCase.d.ts +1 -1
- package/dist/esm/condition/string/StringNotEqualsIgnoreCase.d.ts.map +1 -1
- package/dist/esm/condition/string/StringNotEqualsIgnoreCase.js +4 -4
- package/dist/esm/condition/string/StringNotEqualsIgnoreCase.js.map +1 -1
- package/dist/esm/condition/string/StringNotLike.d.ts +1 -1
- package/dist/esm/condition/string/StringNotLike.d.ts.map +1 -1
- package/dist/esm/condition/string/StringNotLike.js +4 -4
- package/dist/esm/condition/string/StringNotLike.js.map +1 -1
- package/dist/esm/context_keys/contextKeyTypes.d.ts.map +1 -1
- package/dist/esm/context_keys/contextKeyTypes.js.map +1 -1
- package/dist/esm/context_keys/contextKeys.d.ts +1 -1
- package/dist/esm/context_keys/contextKeys.d.ts.map +1 -1
- package/dist/esm/context_keys/contextKeys.js +14 -10
- package/dist/esm/context_keys/contextKeys.js.map +1 -1
- package/dist/esm/context_keys/findContextKeys.d.ts +1 -1
- package/dist/esm/context_keys/findContextKeys.d.ts.map +1 -1
- package/dist/esm/context_keys/findContextKeys.js +5 -5
- package/dist/esm/context_keys/findContextKeys.js.map +1 -1
- package/dist/esm/core_engine/coreSimulatorEngine.d.ts +4 -4
- package/dist/esm/core_engine/coreSimulatorEngine.d.ts.map +1 -1
- package/dist/esm/core_engine/coreSimulatorEngine.js +40 -21
- package/dist/esm/core_engine/coreSimulatorEngine.js.map +1 -1
- package/dist/esm/evaluate.d.ts +1 -1
- package/dist/esm/evaluate.d.ts.map +1 -1
- package/dist/esm/explain/displayExplainCli.d.ts +1 -1
- package/dist/esm/explain/displayExplainCli.d.ts.map +1 -1
- package/dist/esm/explain/displayExplainCli.js +11 -10
- package/dist/esm/explain/displayExplainCli.js.map +1 -1
- package/dist/esm/explain/statementExplain.d.ts.map +1 -1
- package/dist/esm/explain/statementExplain.js.map +1 -1
- package/dist/esm/global_conditions/globalConditionKeys.d.ts +1 -1
- package/dist/esm/global_conditions/globalConditionKeys.d.ts.map +1 -1
- package/dist/esm/global_conditions/globalConditionKeys.js +159 -159
- package/dist/esm/global_conditions/globalConditionKeys.js.map +1 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/principal/principal.d.ts +3 -3
- package/dist/esm/principal/principal.d.ts.map +1 -1
- package/dist/esm/principal/principal.js +24 -21
- package/dist/esm/principal/principal.js.map +1 -1
- package/dist/esm/request/request.d.ts +4 -4
- package/dist/esm/request/request.d.ts.map +1 -1
- package/dist/esm/request/request.js +3 -3
- package/dist/esm/request/request.js.map +1 -1
- package/dist/esm/request/requestPrincipal.d.ts.map +1 -1
- package/dist/esm/request/requestPrincipal.js +1 -1
- package/dist/esm/request/requestPrincipal.js.map +1 -1
- package/dist/esm/request/requestResource.d.ts.map +1 -1
- package/dist/esm/request/requestResource.js +5 -5
- package/dist/esm/request/requestResource.js.map +1 -1
- package/dist/esm/requestContext.d.ts.map +1 -1
- package/dist/esm/requestContext.js.map +1 -1
- package/dist/esm/resource/resource.d.ts +3 -3
- package/dist/esm/resource/resource.d.ts.map +1 -1
- package/dist/esm/resource/resource.js +23 -19
- package/dist/esm/resource/resource.js.map +1 -1
- package/dist/esm/services/DefaultServiceAuthorizer.d.ts +2 -2
- package/dist/esm/services/DefaultServiceAuthorizer.d.ts.map +1 -1
- package/dist/esm/services/DefaultServiceAuthorizer.js +8 -4
- package/dist/esm/services/DefaultServiceAuthorizer.js.map +1 -1
- package/dist/esm/services/ServiceAuthorizer.d.ts +2 -2
- package/dist/esm/services/ServiceAuthorizer.d.ts.map +1 -1
- package/dist/esm/simulation_engine/contextKeys.d.ts.map +1 -1
- package/dist/esm/simulation_engine/contextKeys.js +5 -8
- package/dist/esm/simulation_engine/contextKeys.js.map +1 -1
- package/dist/esm/simulation_engine/simulation.d.ts.map +1 -1
- package/dist/esm/simulation_engine/simulationEngine.d.ts +18 -5
- package/dist/esm/simulation_engine/simulationEngine.d.ts.map +1 -1
- package/dist/esm/simulation_engine/simulationEngine.js +49 -26
- package/dist/esm/simulation_engine/simulationEngine.js.map +1 -1
- package/dist/esm/simulation_engine/unsafeSimulationEngine.d.ts +3 -3
- package/dist/esm/simulation_engine/unsafeSimulationEngine.d.ts.map +1 -1
- package/dist/esm/simulation_engine/unsafeSimulationEngine.js +8 -8
- package/dist/esm/simulation_engine/unsafeSimulationEngine.js.map +1 -1
- package/dist/esm/util.d.ts +6 -6
- package/dist/esm/util.d.ts.map +1 -1
- package/dist/esm/util.js +28 -28
- package/dist/esm/util.js.map +1 -1
- package/package.json +7 -3
|
@@ -15,26 +15,26 @@ const util_js_1 = require("../util.js");
|
|
|
15
15
|
* @returns if the request matches the Principal element, and if so, how it matches
|
|
16
16
|
*/
|
|
17
17
|
function requestMatchesPrincipal(request, principal) {
|
|
18
|
-
const explains = principal.map(principalStatement => requestMatchesPrincipalStatement(request, principalStatement));
|
|
19
|
-
if (explains.some(exp => exp.matches === 'Match')) {
|
|
18
|
+
const explains = principal.map((principalStatement) => requestMatchesPrincipalStatement(request, principalStatement));
|
|
19
|
+
if (explains.some((exp) => exp.matches === 'Match')) {
|
|
20
20
|
return {
|
|
21
21
|
matches: 'Match',
|
|
22
22
|
explains
|
|
23
23
|
};
|
|
24
24
|
}
|
|
25
|
-
if (explains.some(exp => exp.matches === 'SessionUserMatch')) {
|
|
25
|
+
if (explains.some((exp) => exp.matches === 'SessionUserMatch')) {
|
|
26
26
|
return {
|
|
27
27
|
matches: 'SessionUserMatch',
|
|
28
28
|
explains
|
|
29
29
|
};
|
|
30
30
|
}
|
|
31
|
-
if (explains.some(exp => exp.matches === 'SessionRoleMatch')) {
|
|
31
|
+
if (explains.some((exp) => exp.matches === 'SessionRoleMatch')) {
|
|
32
32
|
return {
|
|
33
33
|
matches: 'SessionRoleMatch',
|
|
34
34
|
explains
|
|
35
35
|
};
|
|
36
36
|
}
|
|
37
|
-
if (explains.some(exp => exp.matches === 'AccountLevelMatch')) {
|
|
37
|
+
if (explains.some((exp) => exp.matches === 'AccountLevelMatch')) {
|
|
38
38
|
return {
|
|
39
39
|
matches: 'AccountLevelMatch',
|
|
40
40
|
explains
|
|
@@ -54,7 +54,7 @@ function requestMatchesPrincipal(request, principal) {
|
|
|
54
54
|
*/
|
|
55
55
|
function requestMatchesNotPrincipal(request, notPrincipal) {
|
|
56
56
|
// const matches = notPrincipal.map(principalStatement => requestMatchesPrincipalStatement(request, principalStatement))
|
|
57
|
-
const explains = notPrincipal.map(principalStatement => {
|
|
57
|
+
const explains = notPrincipal.map((principalStatement) => {
|
|
58
58
|
const explain = requestMatchesPrincipalStatement(request, principalStatement);
|
|
59
59
|
/**
|
|
60
60
|
* Need to do research on this. If there is an account level match on a NotPrincipal, does that
|
|
@@ -62,7 +62,10 @@ function requestMatchesNotPrincipal(request, notPrincipal) {
|
|
|
62
62
|
*
|
|
63
63
|
* We need to test this.
|
|
64
64
|
*/
|
|
65
|
-
if (explain.matches === 'Match' ||
|
|
65
|
+
if (explain.matches === 'Match' ||
|
|
66
|
+
explain.matches === 'AccountLevelMatch' ||
|
|
67
|
+
explain.matches === 'SessionRoleMatch' ||
|
|
68
|
+
explain.matches === 'SessionUserMatch') {
|
|
66
69
|
explain.matches = 'NoMatch';
|
|
67
70
|
}
|
|
68
71
|
else {
|
|
@@ -70,7 +73,7 @@ function requestMatchesNotPrincipal(request, notPrincipal) {
|
|
|
70
73
|
}
|
|
71
74
|
return explain;
|
|
72
75
|
});
|
|
73
|
-
if (explains.some(exp => exp.matches === 'NoMatch')) {
|
|
76
|
+
if (explains.some((exp) => exp.matches === 'NoMatch')) {
|
|
74
77
|
return {
|
|
75
78
|
matches: 'NoMatch',
|
|
76
79
|
explains
|
|
@@ -100,54 +103,54 @@ function requestMatchesPrincipalStatement(request, principalStatement) {
|
|
|
100
103
|
if (principalStatement.service() === request.principal.value()) {
|
|
101
104
|
return {
|
|
102
105
|
matches: 'Match',
|
|
103
|
-
principal: principalStatement.value()
|
|
106
|
+
principal: principalStatement.value()
|
|
104
107
|
};
|
|
105
108
|
}
|
|
106
109
|
return {
|
|
107
110
|
matches: 'NoMatch',
|
|
108
|
-
principal: principalStatement.value()
|
|
111
|
+
principal: principalStatement.value()
|
|
109
112
|
};
|
|
110
113
|
}
|
|
111
114
|
if (principalStatement.isCanonicalUserPrincipal()) {
|
|
112
115
|
if (principalStatement.canonicalUser() === request.principal.value()) {
|
|
113
116
|
return {
|
|
114
117
|
matches: 'Match',
|
|
115
|
-
principal: principalStatement.value()
|
|
118
|
+
principal: principalStatement.value()
|
|
116
119
|
};
|
|
117
120
|
}
|
|
118
121
|
return {
|
|
119
122
|
matches: 'NoMatch',
|
|
120
|
-
principal: principalStatement.value()
|
|
123
|
+
principal: principalStatement.value()
|
|
121
124
|
};
|
|
122
125
|
}
|
|
123
126
|
if (principalStatement.isFederatedPrincipal()) {
|
|
124
127
|
if (principalStatement.federated() === request.principal.value()) {
|
|
125
128
|
return {
|
|
126
129
|
matches: 'Match',
|
|
127
|
-
principal: principalStatement.value()
|
|
130
|
+
principal: principalStatement.value()
|
|
128
131
|
};
|
|
129
132
|
}
|
|
130
133
|
return {
|
|
131
134
|
matches: 'NoMatch',
|
|
132
|
-
principal: principalStatement.value()
|
|
135
|
+
principal: principalStatement.value()
|
|
133
136
|
};
|
|
134
137
|
}
|
|
135
138
|
if (principalStatement.isWildcardPrincipal()) {
|
|
136
139
|
return {
|
|
137
140
|
matches: 'Match',
|
|
138
|
-
principal: principalStatement.value()
|
|
141
|
+
principal: principalStatement.value()
|
|
139
142
|
};
|
|
140
143
|
}
|
|
141
144
|
if (principalStatement.isAccountPrincipal()) {
|
|
142
145
|
if (principalStatement.accountId() === request.principal.accountId()) {
|
|
143
146
|
return {
|
|
144
147
|
matches: 'AccountLevelMatch',
|
|
145
|
-
principal: principalStatement.value()
|
|
148
|
+
principal: principalStatement.value()
|
|
146
149
|
};
|
|
147
150
|
}
|
|
148
151
|
return {
|
|
149
152
|
matches: 'NoMatch',
|
|
150
|
-
principal: principalStatement.value()
|
|
153
|
+
principal: principalStatement.value()
|
|
151
154
|
};
|
|
152
155
|
}
|
|
153
156
|
if (principalStatement.isAwsPrincipal()) {
|
|
@@ -158,7 +161,7 @@ function requestMatchesPrincipalStatement(request, principalStatement) {
|
|
|
158
161
|
return {
|
|
159
162
|
matches: 'SessionRoleMatch',
|
|
160
163
|
principal: principalStatement.value(),
|
|
161
|
-
roleForSessionArn: roleArn
|
|
164
|
+
roleForSessionArn: roleArn
|
|
162
165
|
};
|
|
163
166
|
}
|
|
164
167
|
}
|
|
@@ -169,7 +172,7 @@ function requestMatchesPrincipalStatement(request, principalStatement) {
|
|
|
169
172
|
return {
|
|
170
173
|
matches: 'SessionUserMatch',
|
|
171
174
|
principal: principalStatement.value(),
|
|
172
|
-
userForSessionArn: userArn
|
|
175
|
+
userForSessionArn: userArn
|
|
173
176
|
};
|
|
174
177
|
}
|
|
175
178
|
}
|
|
@@ -182,7 +185,7 @@ function requestMatchesPrincipalStatement(request, principalStatement) {
|
|
|
182
185
|
}
|
|
183
186
|
return {
|
|
184
187
|
matches: 'NoMatch',
|
|
185
|
-
principal: principalStatement.value()
|
|
188
|
+
principal: principalStatement.value()
|
|
186
189
|
};
|
|
187
190
|
}
|
|
188
191
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"principal.js","sourceRoot":"","sources":["../../../src/principal/principal.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"principal.js","sourceRoot":"","sources":["../../../src/principal/principal.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { ContextKey, RequestContext } from
|
|
2
|
-
import { RequestAction } from
|
|
3
|
-
import { RequestPrincipal } from
|
|
4
|
-
import { RequestResource } from
|
|
1
|
+
import { ContextKey, RequestContext } from '../requestContext.js';
|
|
2
|
+
import { RequestAction } from './requestAction.js';
|
|
3
|
+
import { RequestPrincipal } from './requestPrincipal.js';
|
|
4
|
+
import { RequestResource } from './requestResource.js';
|
|
5
5
|
/**
|
|
6
6
|
* A request to be evaluated by the policy engine
|
|
7
7
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../../src/request/request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,sBAAsB,
|
|
1
|
+
{"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../../src/request/request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACjE,OAAO,EAAE,aAAa,EAAqB,MAAM,oBAAoB,CAAA;AACrE,OAAO,EAAE,gBAAgB,EAAwB,MAAM,uBAAuB,CAAA;AAC9E,OAAO,EAAE,eAAe,EAAuB,MAAM,sBAAsB,CAAA;AAE3E;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,gBAAgB,CAAA;IAE3B;;OAEG;IACH,MAAM,EAAE,aAAa,CAAA;IAErB;;OAEG;IACH,QAAQ,EAAE,eAAe,CAAA;IAEzB;;OAEG;IACH,OAAO,EAAE,cAAc,CAAA;IAEvB;;;;;;OAMG;IACH,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;IAEtC;;;;;OAKG;IACH,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAAA;CAC5C;AAED,qBAAa,cAAe,YAAW,UAAU;aAE7B,eAAe,EAAE,MAAM;aACvB,kBAAkB,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE;aAC3D,YAAY,EAAE,MAAM;aACpB,OAAO,EAAE,cAAc;gBAHvB,eAAe,EAAE,MAAM,EACvB,kBAAkB,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,EAC3D,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,cAAc;IAGzC,IAAI,MAAM,IAAI,aAAa,CAE1B;IAED,IAAI,QAAQ,IAAI,eAAe,CAK9B;IAED,IAAI,SAAS,IAAI,gBAAgB,CAEhC;IAEM,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAItC,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU;CAMnD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/request/request.ts"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/request/request.ts"],"names":[],"mappings":";;;AACA,yDAAqE;AACrE,+DAA8E;AAC9E,6DAA2E;AAyC3E,MAAa,cAAc;IAEP;IACA;IACA;IACA;IAJlB,YACkB,eAAuB,EACvB,kBAA2D,EAC3D,YAAoB,EACpB,OAAuB;QAHvB,oBAAe,GAAf,eAAe,CAAQ;QACvB,uBAAkB,GAAlB,kBAAkB,CAAyC;QAC3D,iBAAY,GAAZ,YAAY,CAAQ;QACpB,YAAO,GAAP,OAAO,CAAgB;IACtC,CAAC;IAEJ,IAAI,MAAM;QACR,OAAO,IAAI,oCAAiB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;IACjD,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,wCAAmB,CAC5B,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAChC,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAClC,CAAA;IACH,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,0CAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;IACvD,CAAC;IAEM,gBAAgB,CAAC,GAAW;QACjC,OAAO,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAA;IAC3C,CAAC;IAEM,kBAAkB,CAAC,GAAW;QACnC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,wBAAwB,GAAG,EAAE,CAAC,CAAA;QAChD,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,CAAA;IAC1C,CAAC;CACF;AAjCD,wCAiCC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"requestPrincipal.d.ts","sourceRoot":"","sources":["../../../src/request/requestPrincipal.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"requestPrincipal.d.ts","sourceRoot":"","sources":["../../../src/request/requestPrincipal.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,KAAK,IAAI,MAAM,CAAA;IAEf;;OAEG;IACH,SAAS,IAAI,MAAM,GAAG,SAAS,CAAA;CAChC;AAED,qBAAa,oBAAqB,YAAW,gBAAgB;IAC/C,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,EAAE,MAAM;IAE7C,SAAS,IAAI,MAAM,GAAG,SAAS;IAIxB,KAAK,IAAI,MAAM;CAKvB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"requestPrincipal.js","sourceRoot":"","sources":["../../../src/request/requestPrincipal.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"requestPrincipal.js","sourceRoot":"","sources":["../../../src/request/requestPrincipal.ts"],"names":[],"mappings":";;;AAeA,MAAa,oBAAoB;IACF;IAA7B,YAA6B,QAAgB;QAAhB,aAAQ,GAAR,QAAQ,CAAQ;IAAG,CAAC;IAEjD,SAAS;QACP,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IACtC,CAAC;IAEM,KAAK;QACV,OAAO,IAAI,CAAC,QAAQ,CAAA;IACtB,CAAC;CAGF;AAZD,oDAYC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"requestResource.d.ts","sourceRoot":"","sources":["../../../src/request/requestResource.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"requestResource.d.ts","sourceRoot":"","sources":["../../../src/request/requestResource.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,KAAK,IAAI,MAAM,CAAA;IAEf;;OAEG;IACH,SAAS,IAAI,MAAM,CAAA;IAEnB;;OAEG;IACH,OAAO,IAAI,MAAM,CAAA;IAEjB;;OAEG;IACH,MAAM,IAAI,MAAM,CAAA;IAEhB;;OAEG;IACH,OAAO,IAAI,MAAM,CAAA;IAEjB;;OAEG;IACH,QAAQ,IAAI,MAAM,CAAA;IAElB;;OAEG;IACH,SAAS,IAAI,MAAM,CAAA;CACpB;AAED,qBAAa,mBAAoB,YAAW,eAAe;IAEvD,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,eAAe;gBADf,QAAQ,EAAE,MAAM,EAChB,eAAe,EAAE,MAAM;IAG1C,SAAS,IAAI,MAAM;IAInB,OAAO,IAAI,MAAM;IAIjB,MAAM,IAAI,MAAM;IAIhB,OAAO,IAAI,MAAM;IAIjB,QAAQ,IAAI,MAAM;IAIlB,KAAK,IAAI,MAAM;IAIf,SAAS,IAAI,MAAM;CAGpB"}
|
|
@@ -9,19 +9,19 @@ class ResourceRequestImpl {
|
|
|
9
9
|
this.accountIdString = accountIdString;
|
|
10
10
|
}
|
|
11
11
|
partition() {
|
|
12
|
-
return this.value().split(
|
|
12
|
+
return this.value().split(':').at(1);
|
|
13
13
|
}
|
|
14
14
|
service() {
|
|
15
|
-
return this.value().split(
|
|
15
|
+
return this.value().split(':').at(2);
|
|
16
16
|
}
|
|
17
17
|
region() {
|
|
18
|
-
return this.value().split(
|
|
18
|
+
return this.value().split(':').at(3);
|
|
19
19
|
}
|
|
20
20
|
account() {
|
|
21
|
-
return this.value().split(
|
|
21
|
+
return this.value().split(':').at(4);
|
|
22
22
|
}
|
|
23
23
|
resource() {
|
|
24
|
-
return this.value().split(
|
|
24
|
+
return this.value().split(':').slice(5).join(':');
|
|
25
25
|
}
|
|
26
26
|
value() {
|
|
27
27
|
return this.rawValue;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"requestResource.js","sourceRoot":"","sources":["../../../src/request/requestResource.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"requestResource.js","sourceRoot":"","sources":["../../../src/request/requestResource.ts"],"names":[],"mappings":";;;AAqCA,MAAa,mBAAmB;IAEX;IACA;IAFnB,YACmB,QAAgB,EAChB,eAAuB;QADvB,aAAQ,GAAR,QAAQ,CAAQ;QAChB,oBAAe,GAAf,eAAe,CAAQ;IACvC,CAAC;IAEJ,SAAS;QACP,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAE,CAAA;IACvC,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAE,CAAA;IACvC,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAE,CAAA;IACvC,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAE,CAAA;IACvC,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACnD,CAAC;IAED,KAAK;QACH,OAAO,IAAI,CAAC,QAAQ,CAAA;IACtB,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,eAAe,CAAA;IAC7B,CAAC;CACF;AAjCD,kDAiCC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"requestContext.d.ts","sourceRoot":"","sources":["../../src/requestContext.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"requestContext.d.ts","sourceRoot":"","sources":["../../src/requestContext.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;OAIG;IACH,gBAAgB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAA;IAE3C;;;;;OAKG;IACH,eAAe,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,UAAU,CAAA;CAC9C;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;IAEZ;;OAEG;IACH,aAAa,IAAI,IAAI,IAAI,gBAAgB,CAAA;IAEzC;;OAEG;IACH,YAAY,IAAI,IAAI,IAAI,eAAe,CAAA;CACxC;AAED,MAAM,WAAW,gBAAiB,SAAQ,UAAU;IAClD;;OAEG;IACH,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,eAAgB,SAAQ,UAAU;IACjD;;OAEG;IAEH,MAAM,EAAE,MAAM,EAAE,CAAA;CACjB;AAED,qBAAa,kBAAmB,YAAW,cAAc;IACvD,OAAO,CAAC,OAAO,CAAqC;gBAExC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAM9C,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIvC,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU;CAGjD;AAED,qBAAa,cAAe,YAAW,UAAU,EAAE,gBAAgB,EAAE,eAAe;IAEzE,IAAI,EAAE,MAAM;IACnB,OAAO,CAAC,IAAI;gBADL,IAAI,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE;IAGjC,aAAa,IAAI,IAAI,IAAI,gBAAgB;IAGzC,YAAY,IAAI,IAAI,IAAI,eAAe;IAIvC,IAAI,MAAM,IAAI,MAAM,EAAE,CAKrB;IAED,IAAI,KAAK,IAAI,MAAM,CAKlB;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"requestContext.js","sourceRoot":"","sources":["../../src/requestContext.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"requestContext.js","sourceRoot":"","sources":["../../src/requestContext.ts"],"names":[],"mappings":";;;AAuDA,MAAa,kBAAkB;IACrB,OAAO,GAA4B,IAAI,GAAG,EAAE,CAAA;IAEpD,YAAY,MAAyC;QACnD,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;YACzB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,IAAI,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;QAC3E,CAAC;IACH,CAAC;IAEM,gBAAgB,CAAC,IAAY;QAClC,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAA;IAC7C,CAAC;IAEM,eAAe,CAAC,IAAY;QACjC,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAe,CAAA;IAC3D,CAAC;CACF;AAhBD,gDAgBC;AAED,MAAa,cAAc;IAEhB;IACC;IAFV,YACS,IAAY,EACX,IAAuB;QADxB,SAAI,GAAJ,IAAI,CAAQ;QACX,SAAI,GAAJ,IAAI,CAAmB;IAC9B,CAAC;IAEJ,aAAa;QACX,OAAO,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAA;IACtC,CAAC;IACD,YAAY;QACV,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACjC,CAAC;IAED,IAAI,MAAM;QACR,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,IAAI,CAAA;QAClB,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,cAAc,IAAI,CAAC,IAAI,kBAAkB,CAAC,CAAA;IAC5D,CAAC;IAED,IAAI,KAAK;QACP,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC,IAAI,CAAA;QAClB,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,cAAc,IAAI,CAAC,IAAI,kBAAkB,CAAC,CAAA;IAC5D,CAAC;CACF;AA1BD,wCA0BC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Resource, Statement } from
|
|
2
|
-
import { ResourceExplain, StatementExplain } from
|
|
3
|
-
import { AwsRequest } from
|
|
1
|
+
import { Resource, Statement } from '@cloud-copilot/iam-policy';
|
|
2
|
+
import { ResourceExplain, StatementExplain } from '../explain/statementExplain.js';
|
|
3
|
+
import { AwsRequest } from '../request/request.js';
|
|
4
4
|
/**
|
|
5
5
|
* Check if a request matches the Resource or NotResource elements of a statement.
|
|
6
6
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../../../src/resource/resource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,2BAA2B,
|
|
1
|
+
{"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../../../src/resource/resource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AAC/D,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AAClF,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAiBlD;;;;;;GAMG;AACH,wBAAgB,gCAAgC,CAC9C,OAAO,EAAE,UAAU,EACnB,SAAS,EAAE,SAAS,GACnB;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE,WAAW,GAAG,cAAc,CAAC,CAAA;CAAE,CAerF;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,UAAU,EACnB,eAAe,EAAE,QAAQ,EAAE,GAC1B;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,eAAe,EAAE,CAAA;CAAE,CAMnD;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,UAAU,EACnB,eAAe,EAAE,QAAQ,EAAE,GAC1B;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,eAAe,EAAE,CAAA;CAAE,CAUnD"}
|
|
@@ -14,7 +14,7 @@ function convertResourceSegmentToRegex(segment) {
|
|
|
14
14
|
if (segment.indexOf(':') != -1) {
|
|
15
15
|
throw new Error('Segment should not contain a colon');
|
|
16
16
|
}
|
|
17
|
-
const pattern =
|
|
17
|
+
const pattern = '^' + segment.replace(/\?/g, '.').replace(/\*/g, '.*?') + '$';
|
|
18
18
|
return new RegExp(pattern, 'i');
|
|
19
19
|
}
|
|
20
20
|
/**
|
|
@@ -31,7 +31,6 @@ function requestMatchesStatementResources(request, statement) {
|
|
|
31
31
|
return { matches, details: { resources: explains[0] } };
|
|
32
32
|
}
|
|
33
33
|
return { matches, details: { resources: explains } };
|
|
34
|
-
// return requestMatchesResources(request, statement.resources());
|
|
35
34
|
}
|
|
36
35
|
else if (statement.isNotResourceStatement()) {
|
|
37
36
|
const { matches, explains } = requestMatchesNotResources(request, statement.notResources());
|
|
@@ -39,7 +38,6 @@ function requestMatchesStatementResources(request, statement) {
|
|
|
39
38
|
return { matches, details: { notResources: explains[0] } };
|
|
40
39
|
}
|
|
41
40
|
return { matches, details: { notResources: explains } };
|
|
42
|
-
// return requestMatchesNotResources(request, statement.notResources());
|
|
43
41
|
}
|
|
44
42
|
return { matches: true, details: {} };
|
|
45
43
|
}
|
|
@@ -51,8 +49,8 @@ function requestMatchesStatementResources(request, statement) {
|
|
|
51
49
|
* @returns true if the request matches any of the resources, false otherwise
|
|
52
50
|
*/
|
|
53
51
|
function requestMatchesResources(request, policyResources) {
|
|
54
|
-
const explains = policyResources.map(policyResource => singleResourceMatchesRequest(request, policyResource));
|
|
55
|
-
const matches = explains.some(explain => explain.matches);
|
|
52
|
+
const explains = policyResources.map((policyResource) => singleResourceMatchesRequest(request, policyResource));
|
|
53
|
+
const matches = explains.some((explain) => explain.matches);
|
|
56
54
|
return { matches, explains };
|
|
57
55
|
}
|
|
58
56
|
/**
|
|
@@ -63,12 +61,14 @@ function requestMatchesResources(request, policyResources) {
|
|
|
63
61
|
* @returns true if the request does not match any of the resources, false otherwise
|
|
64
62
|
*/
|
|
65
63
|
function requestMatchesNotResources(request, policyResources) {
|
|
66
|
-
const explains = policyResources.map(policyResource => {
|
|
64
|
+
const explains = policyResources.map((policyResource) => {
|
|
67
65
|
const explain = singleResourceMatchesRequest(request, policyResource);
|
|
68
|
-
|
|
66
|
+
if (!explain.errors) {
|
|
67
|
+
explain.matches = !explain.matches;
|
|
68
|
+
}
|
|
69
69
|
return explain;
|
|
70
70
|
});
|
|
71
|
-
const matches = !explains.some(explain => !explain.matches);
|
|
71
|
+
const matches = !explains.some((explain) => !explain.matches);
|
|
72
72
|
return { matches, explains };
|
|
73
73
|
}
|
|
74
74
|
/**
|
|
@@ -82,7 +82,7 @@ function singleResourceMatchesRequest(request, policyResource) {
|
|
|
82
82
|
if (policyResource.isAllResources()) {
|
|
83
83
|
return {
|
|
84
84
|
resource: policyResource.value(),
|
|
85
|
-
matches: true
|
|
85
|
+
matches: true
|
|
86
86
|
};
|
|
87
87
|
}
|
|
88
88
|
else if (policyResource.isArnResource()) {
|
|
@@ -90,7 +90,7 @@ function singleResourceMatchesRequest(request, policyResource) {
|
|
|
90
90
|
return {
|
|
91
91
|
resource: policyResource.value(),
|
|
92
92
|
matches: false,
|
|
93
|
-
errors: ['Request does not have a resource']
|
|
93
|
+
errors: ['Request does not have a resource']
|
|
94
94
|
};
|
|
95
95
|
}
|
|
96
96
|
const resource = request.resource;
|
|
@@ -98,43 +98,47 @@ function singleResourceMatchesRequest(request, policyResource) {
|
|
|
98
98
|
return {
|
|
99
99
|
resource: policyResource.value(),
|
|
100
100
|
matches: false,
|
|
101
|
-
errors: ['Partition does not match']
|
|
101
|
+
errors: ['Partition does not match']
|
|
102
102
|
};
|
|
103
103
|
}
|
|
104
104
|
if (!convertResourceSegmentToRegex(policyResource.service()).test(resource.service())) {
|
|
105
105
|
return {
|
|
106
106
|
resource: policyResource.value(),
|
|
107
107
|
matches: false,
|
|
108
|
-
errors: ['Service does not match']
|
|
108
|
+
errors: ['Service does not match']
|
|
109
109
|
};
|
|
110
110
|
}
|
|
111
111
|
if (!convertResourceSegmentToRegex(policyResource.region()).test(resource.region())) {
|
|
112
112
|
return {
|
|
113
113
|
resource: policyResource.value(),
|
|
114
114
|
matches: false,
|
|
115
|
-
errors: ['Region does not match']
|
|
115
|
+
errors: ['Region does not match']
|
|
116
116
|
};
|
|
117
117
|
}
|
|
118
118
|
if (!convertResourceSegmentToRegex(policyResource.account()).test(resource.account())) {
|
|
119
119
|
return {
|
|
120
120
|
resource: policyResource.value(),
|
|
121
121
|
matches: false,
|
|
122
|
-
errors: ['Account does not match']
|
|
122
|
+
errors: ['Account does not match']
|
|
123
123
|
};
|
|
124
124
|
}
|
|
125
125
|
//Wildcards and variables are not allowed in the product segment https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html "Incorrect wildcard usage"
|
|
126
|
-
const [policyProduct, policyResourceId] = (0, util_js_1.getResourceSegments)(policyResource
|
|
126
|
+
const [policyProduct, policyResourceId] = (0, util_js_1.getResourceSegments)(policyResource);
|
|
127
127
|
if (!resource.resource().startsWith(policyProduct)) {
|
|
128
128
|
return {
|
|
129
129
|
resource: policyResource.value(),
|
|
130
130
|
matches: false,
|
|
131
|
-
errors: ['Product does not match']
|
|
131
|
+
errors: ['Product does not match']
|
|
132
132
|
};
|
|
133
133
|
}
|
|
134
134
|
const requestResourceId = resource.resource().slice(policyProduct.length);
|
|
135
135
|
const { pattern, errors } = (0, util_js_1.convertIamString)(policyResourceId, request);
|
|
136
|
-
const resolvedResourceId = (0, util_js_1.convertIamString)(policyResourceId, request, {
|
|
137
|
-
|
|
136
|
+
const resolvedResourceId = (0, util_js_1.convertIamString)(policyResourceId, request, {
|
|
137
|
+
convertToRegex: false,
|
|
138
|
+
replaceWildcards: false
|
|
139
|
+
});
|
|
140
|
+
const resolvedResource = policyResource.value().slice(0, policyResource.value().length - policyResourceId.length) +
|
|
141
|
+
resolvedResourceId;
|
|
138
142
|
const resolvedValue = resolvedResource === policyResource.value() ? undefined : resolvedResource;
|
|
139
143
|
if (!pattern.test(requestResourceId)) {
|
|
140
144
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource.js","sourceRoot":"","sources":["../../../src/resource/resource.ts"],"names":[],"mappings":";;AA0BA,
|
|
1
|
+
{"version":3,"file":"resource.js","sourceRoot":"","sources":["../../../src/resource/resource.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { RequestAnalysis } from
|
|
2
|
-
import { ServiceAuthorizationRequest, ServiceAuthorizer } from
|
|
1
|
+
import { RequestAnalysis } from '../evaluate.js';
|
|
2
|
+
import { ServiceAuthorizationRequest, ServiceAuthorizer } from './ServiceAuthorizer.js';
|
|
3
3
|
/**
|
|
4
4
|
* The default authorizer for services.
|
|
5
5
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DefaultServiceAuthorizer.d.ts","sourceRoot":"","sources":["../../../src/services/DefaultServiceAuthorizer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,
|
|
1
|
+
{"version":3,"file":"DefaultServiceAuthorizer.d.ts","sourceRoot":"","sources":["../../../src/services/DefaultServiceAuthorizer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAEhD,OAAO,EAAE,2BAA2B,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAEvF;;GAEG;AACH,qBAAa,wBAAyB,YAAW,iBAAiB;IACzD,SAAS,CAAC,OAAO,EAAE,2BAA2B,GAAG,eAAe;CAqJxE"}
|
|
@@ -27,7 +27,8 @@ class DefaultServiceAuthorizer {
|
|
|
27
27
|
...baseResult
|
|
28
28
|
};
|
|
29
29
|
}
|
|
30
|
-
if (resourcePolicyResult === 'ExplicitlyDenied' ||
|
|
30
|
+
if (resourcePolicyResult === 'ExplicitlyDenied' ||
|
|
31
|
+
resourcePolicyResult === 'DeniedForAccount') {
|
|
31
32
|
return {
|
|
32
33
|
result: 'ExplicitlyDenied',
|
|
33
34
|
...baseResult
|
|
@@ -58,8 +59,10 @@ class DefaultServiceAuthorizer {
|
|
|
58
59
|
*/
|
|
59
60
|
if (resourcePolicyResult === 'Allowed') {
|
|
60
61
|
const principal = request.request.principal.value();
|
|
61
|
-
if ((0, util_js_1.isAssumedRoleArn)(principal) ||
|
|
62
|
-
|
|
62
|
+
if ((0, util_js_1.isAssumedRoleArn)(principal) ||
|
|
63
|
+
(0, util_js_1.isIamUserArn)(principal) ||
|
|
64
|
+
(0, util_js_1.isFederatedUserArn)(principal)) {
|
|
65
|
+
if (request.resourceAnalysis.allowStatements.some((statement) => statement.principalMatch === 'Match')) {
|
|
63
66
|
return {
|
|
64
67
|
result: 'Allowed',
|
|
65
68
|
...baseResult
|
|
@@ -122,6 +125,7 @@ class DefaultServiceAuthorizer {
|
|
|
122
125
|
* * root user
|
|
123
126
|
* * service linked roles
|
|
124
127
|
* * vpc endpoint policies
|
|
128
|
+
* * organization APIs and delegated admin policy
|
|
125
129
|
*/
|
|
126
130
|
}
|
|
127
131
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DefaultServiceAuthorizer.js","sourceRoot":"","sources":["../../../src/services/DefaultServiceAuthorizer.ts"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"DefaultServiceAuthorizer.js","sourceRoot":"","sources":["../../../src/services/DefaultServiceAuthorizer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { IdentityAnalysis, RequestAnalysis, ResourceAnalysis, ScpAnalysis } from
|
|
2
|
-
import { AwsRequest } from
|
|
1
|
+
import { IdentityAnalysis, RequestAnalysis, ResourceAnalysis, ScpAnalysis } from '../evaluate.js';
|
|
2
|
+
import { AwsRequest } from '../request/request.js';
|
|
3
3
|
export interface ServiceAuthorizationRequest {
|
|
4
4
|
request: AwsRequest;
|
|
5
5
|
identityAnalysis: IdentityAnalysis;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServiceAuthorizer.d.ts","sourceRoot":"","sources":["../../../src/services/ServiceAuthorizer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,gBAAgB,
|
|
1
|
+
{"version":3,"file":"ServiceAuthorizer.d.ts","sourceRoot":"","sources":["../../../src/services/ServiceAuthorizer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AACjG,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAElD,MAAM,WAAW,2BAA2B;IAC1C,OAAO,EAAE,UAAU,CAAA;IACnB,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,WAAW,EAAE,WAAW,CAAA;IACxB,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,0BAA0B,EAAE,gBAAgB,GAAG,SAAS,CAAA;CACzD;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,CAAC,OAAO,EAAE,2BAA2B,GAAG,eAAe,CAAA;CACjE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contextKeys.d.ts","sourceRoot":"","sources":["../../../src/simulation_engine/contextKeys.ts"],"names":[],"mappings":"AAIA;;;;;;;;GAQG;AACH,wBAAsB,4BAA4B,
|
|
1
|
+
{"version":3,"file":"contextKeys.d.ts","sourceRoot":"","sources":["../../../src/simulation_engine/contextKeys.ts"],"names":[],"mappings":"AAIA;;;;;;;;GAQG;AACH,wBAAsB,4BAA4B,CAChD,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,EAAE,CAAC,CAwBnB"}
|
|
@@ -18,10 +18,7 @@ async function allowedContextKeysForRequest(service, action, resource) {
|
|
|
18
18
|
const actionConditionKeys = (0, util_js_1.lowerCaseAll)(actionDetails.conditionKeys);
|
|
19
19
|
const isWildCardOnly = await (0, util_js_1.isWildcardOnlyAction)(service, action);
|
|
20
20
|
if (isWildCardOnly) {
|
|
21
|
-
return [
|
|
22
|
-
...actionConditionKeys,
|
|
23
|
-
...(0, globalConditionKeys_js_1.allGlobalConditionKeys)()
|
|
24
|
-
];
|
|
21
|
+
return [...actionConditionKeys, ...(0, globalConditionKeys_js_1.allGlobalConditionKeys)()];
|
|
25
22
|
}
|
|
26
23
|
const resourceTypes = await (0, util_js_1.getResourceTypesForAction)(service, action, resource);
|
|
27
24
|
if (resourceTypes.length === 0) {
|
|
@@ -30,7 +27,7 @@ async function allowedContextKeysForRequest(service, action, resource) {
|
|
|
30
27
|
else if (resourceTypes.length > 1) {
|
|
31
28
|
throw new Error(`Multiple resource types found for action ${action} on service ${service}`);
|
|
32
29
|
}
|
|
33
|
-
const resourceTypeConditions = actionDetails.resourceTypes.find(rt => rt.name === resourceTypes[0].key).conditionKeys;
|
|
30
|
+
const resourceTypeConditions = actionDetails.resourceTypes.find((rt) => rt.name === resourceTypes[0].key).conditionKeys;
|
|
34
31
|
return [
|
|
35
32
|
...(0, util_js_1.lowerCaseAll)(resourceTypeConditions),
|
|
36
33
|
...actionConditionKeys,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contextKeys.js","sourceRoot":"","sources":["../../../src/simulation_engine/contextKeys.ts"],"names":[],"mappings":";;AAaA,
|
|
1
|
+
{"version":3,"file":"contextKeys.js","sourceRoot":"","sources":["../../../src/simulation_engine/contextKeys.ts"],"names":[],"mappings":";;AAaA,oEA4BC;AAzCD,sDAA0D;AAC1D,wFAAoF;AACpF,wCAA0F;AAE1F;;;;;;;;GAQG;AACI,KAAK,UAAU,4BAA4B,CAChD,OAAe,EACf,MAAc,EACd,QAAgB;IAEhB,MAAM,aAAa,GAAG,MAAM,IAAA,2BAAgB,EAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IAC7D,MAAM,mBAAmB,GAAG,IAAA,sBAAY,EAAC,aAAa,CAAC,aAAa,CAAC,CAAA;IAErE,MAAM,cAAc,GAAG,MAAM,IAAA,8BAAoB,EAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IAClE,IAAI,cAAc,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,mBAAmB,EAAE,GAAG,IAAA,+CAAsB,GAAE,CAAC,CAAA;IAC9D,CAAC;IAED,MAAM,aAAa,GAAG,MAAM,IAAA,mCAAyB,EAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAA;IAChF,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,sCAAsC,MAAM,eAAe,OAAO,EAAE,CAAC,CAAA;IACvF,CAAC;SAAM,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,4CAA4C,MAAM,eAAe,OAAO,EAAE,CAAC,CAAA;IAC7F,CAAC;IACD,MAAM,sBAAsB,GAAG,aAAa,CAAC,aAAa,CAAC,IAAI,CAC7D,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,CACxC,CAAC,aAAa,CAAA;IAEhB,OAAO;QACL,GAAG,IAAA,sBAAY,EAAC,sBAAsB,CAAC;QACvC,GAAG,mBAAmB;QACtB,GAAG,IAAA,+CAAsB,GAAE;KAC5B,CAAA;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simulation.d.ts","sourceRoot":"","sources":["../../../src/simulation_engine/simulation.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE;QACP,SAAS,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"simulation.d.ts","sourceRoot":"","sources":["../../../src/simulation_engine/simulation.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE;QACP,SAAS,EAAE,MAAM,CAAA;QACjB,MAAM,EAAE,MAAM,CAAA;QACd,QAAQ,EAAE;YACR,QAAQ,EAAE,MAAM,CAAA;YAChB,SAAS,EAAE,MAAM,CAAA;SAClB,CAAA;QACD,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAA;KACpD,CAAA;IAED,gBAAgB,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,GAAG,CAAA;KAAE,EAAE,CAAA;IACjD,sBAAsB,EAAE;QACtB,aAAa,EAAE,MAAM,CAAA;QACrB,QAAQ,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,GAAG,CAAA;SAAE,EAAE,CAAA;KAC1C,EAAE,CAAA;IACH,cAAc,CAAC,EAAE,GAAG,CAAA;IACpB,0BAA0B,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,GAAG,CAAA;KAAE,EAAE,CAAA;CAC7D"}
|