-
Notifications
You must be signed in to change notification settings - Fork 7
OIDC auth middleware with GitHub Actions example workflow #31
Conversation
2027b17
to
966e56f
Compare
7d409fd
to
420507f
Compare
… middleware Signed-off-by: John Andersen <johnandersenpdx@gmail.com>
fec468d
to
c470a70
Compare
…oad plugin helper Signed-off-by: John Andersen <johnandersenpdx@gmail.com>
7f81a51
to
0fb98c6
Compare
ed88e78
to
1f43e4d
Compare
1f43e4d
to
34dd855
Compare
Signed-off-by: John Andersen <johnandersenpdx@gmail.com>
In preperation for use by flask test app used as OIDC endpoints Signed-off-by: John Andersen <johnandersenpdx@gmail.com>
Update pip, setuptools, wheel to avoid deprecation warning on dependency install. Signed-off-by: John Andersen <johnandersenpdx@gmail.com>
Token is not available within pull_request context. Related: slsa-framework/slsa-github-generator#131 Related: slsa-framework/slsa-github-generator#358 Signed-off-by: John Andersen <johnandersenpdx@gmail.com>
Signed-off-by: John Andersen <johnandersenpdx@gmail.com>
34dd855
to
7bd5668
Compare
Dang sorry I thought this was done then I realized basic GitHub Action Reusable Workflow OIDC validation support as used by slsa generator TS submission and others requires validating claims to do workload based identity where the workload is identified by
Thank you for the review! Calling it done on this PR now and will do any other changes in future PRs. audience: http://localhost:8080
issuers:
- https://token.actions.githubusercontent.com
claim_schema:
https://token.actions.githubusercontent.com:
required:
- job_workflow_ref
- job_workflow_sha
- repository_owner_id
- repository_id
properties:
job_workflow_ref:
enum:
- 'pdxjohnny/scitt-api-emulator/.github/workflows/notarize.yml@refs/heads/auth'
type: string
job_workflow_sha:
enum:
- '215777b7ea418f1e0bd54f39cc70467e1fb76b8e'
type: string
repository_id:
enum:
- '621131680'
type: string
repository_owner_id:
enum:
- '5950433'
type: string |
3c39d58
to
997073f
Compare
Related: actions/runner#2417 (comment) Signed-off-by: John Andersen <johnandersenpdx@gmail.com>
997073f
to
215777b
Compare
👀 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great addition, and good setup for the addition of access controls in the spec
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Thank you all for your reviews! |
…unity#31) * Add plugin helper entrypoint_style_load() to assist with loading auth middleware * Add server CLI arg for Flask middleware loaded via entrypoint style load plugin helper * OIDC auth middleware plugin * Refactor test Service expose url with bound port to Flask app * In preperation for use by flask test app used as OIDC endpoints * Tests for OIDC based auth middleware * Update pip, setuptools, wheel to avoid deprecation warning on dependency install. * Example CI job for GitHub Actions OIDC authenticated notary * Token is not available within pull_request context. * Document OIDC authentication middleware usage with GitHub Actions * Validation of OIDC claims via JSON schema validator Related: slsa-framework/slsa-github-generator#131 Related: slsa-framework/slsa-github-generator#358 Related: actions/runner#2417 (comment) Signed-off-by: John Andersen <johnandersenpdx@gmail.com>
Jump to viewing docs
id-token: write
not available on pull_requests slsa-framework/slsa-github-generator#131job_workflow_ref
is insufficient to disambiguate actions workflows sigstore/fulcio#305OIDCAuthMiddleware
out of tests into loadable locationjsonschema
based validation of OIDC JWT claimsscitt-api-emulator/.github/workflows/notarize.yml
Line 65 in 215777b
GitHub Actions run logs for notarize.yml