Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement Asynchronous Client Layer #3

Closed
4 tasks done
cschneider-vertical-relevance opened this issue Apr 28, 2022 · 0 comments · Fixed by #6
Closed
4 tasks done

Implement Asynchronous Client Layer #3

cschneider-vertical-relevance opened this issue Apr 28, 2022 · 0 comments · Fixed by #6

Comments

@cschneider-vertical-relevance
Copy link
Collaborator

cschneider-vertical-relevance commented Apr 28, 2022

  • Deny-By-Default Logic in WriteResultsReport : check Status of ForEachInput.InvokeInnerEvalEngineSfn.Status

Client Layer

should provide immediate answer to:
(fail fast)

  1. What is Requestor's Authentication?
  2. What is that Requestor Authorized to do?
    A. Access this endpoint?
    B. Exclude any policies from the evaluation decision?
  3. Has Consumer granted ControlBroker required read access to provided Input S3 objects?

create PoC interactions with new APIGW endpoint:

Generic

  • generic consumer Client SFN endpoint returns IsCompliant decision synchronous response

For each Consumer:

- [ ] 1. local dev rescoped

  • 2. IaC Pipeline. tracked here.

- [ ] 3. Config-Detective rescoped so that this is now tracked in Issue #5

Access Control Model

Owned by Control Broker

APIGW endpoint
DetermineRequestValidity (a.k.a. InvokedByAigw) lambda
Evaluation Engine
PaC Policies
ResultsReport Bucket

Access Control to ResultsReport Bucket

APIGW returns S3Uri to ResultsReport - key is UUID
consumer that has that UUID and is within the org can retry and getObject as they see fit

  • implement same org bucket policy

Owned by Consumer

ControlBrokerInputs Bucket

Access Control to ControlBrokerInput Bucket

ControlBroker makes known [how?] the ARNs of all ControlBroker Readers needing read access to ControlBrokerInput S3 objects.

Consumer grants that read access.

Appendix:

A. tradeoff:

SFN Standard - no pay to wait - no sync response

SFN Express - yes sync response - but cannot use .waitForTaskToken to wait for things

B. principal:

Anticipate that Consumers hitting the CB APIGW endpoint will handle the response and any retries differently. Do not be too prescriptive.

@cschneider-vertical-relevance cschneider-vertical-relevance changed the title 0.6.3 Implement Asynchronous Client Layer Apr 28, 2022
cschneider-vertical-relevance added a commit that referenced this issue Apr 29, 2022
…ms from query and not not SUCCEEDED in nestedSfns
cschneider-vertical-relevance added a commit that referenced this issue Apr 29, 2022
…-specific, update_item now takes dict not list
cschneider-vertical-relevance added a commit that referenced this issue Apr 29, 2022
@cschneider-vertical-relevance cschneider-vertical-relevance linked a pull request May 2, 2022 that will close this issue
eppeters pushed a commit that referenced this issue Jun 29, 2022
eppeters pushed a commit that referenced this issue Jun 29, 2022
eppeters pushed a commit that referenced this issue Jun 29, 2022
eppeters pushed a commit that referenced this issue Jun 29, 2022
eppeters pushed a commit that referenced this issue Jun 29, 2022
eppeters pushed a commit that referenced this issue Jun 29, 2022
eppeters pushed a commit that referenced this issue Jun 29, 2022
…ms from query and not not SUCCEEDED in nestedSfns

Former-commit-id: eebae9f
eppeters pushed a commit that referenced this issue Jun 29, 2022
eppeters pushed a commit that referenced this issue Jun 29, 2022
eppeters pushed a commit that referenced this issue Jun 29, 2022
eppeters pushed a commit that referenced this issue Jun 29, 2022
…-specific, update_item now takes dict not list

Former-commit-id: 5fa1804
eppeters pushed a commit that referenced this issue Jun 29, 2022
…ves in Consumer2IaCPipeline repo

Former-commit-id: 81d0fb3
eppeters pushed a commit that referenced this issue Jun 29, 2022
eppeters pushed a commit that referenced this issue Jun 29, 2022
eppeters pushed a commit that referenced this issue Jun 29, 2022
eppeters pushed a commit that referenced this issue Jun 29, 2022
Former-commit-id: 2f11913
eppeters pushed a commit that referenced this issue Jun 29, 2022
Former-commit-id: 1154991
eppeters pushed a commit that referenced this issue Jun 29, 2022
eppeters pushed a commit that referenced this issue Jun 29, 2022
eppeters pushed a commit that referenced this issue Jun 29, 2022
eppeters pushed a commit that referenced this issue Jun 29, 2022
eppeters pushed a commit that referenced this issue Jun 29, 2022
Former-commit-id: 7307c90
eppeters pushed a commit that referenced this issue Jun 29, 2022
eppeters pushed a commit that referenced this issue Jun 29, 2022
eppeters pushed a commit that referenced this issue Jun 29, 2022
eppeters pushed a commit that referenced this issue Jun 29, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant