Skip to content

Issue and ferry Service Account Tokens and On-Behalf-Of Tokens to an Extension#94

Open
cwperks wants to merge 27 commits intomainfrom
extension-obo
Open

Issue and ferry Service Account Tokens and On-Behalf-Of Tokens to an Extension#94
cwperks wants to merge 27 commits intomainfrom
extension-obo

Conversation

@cwperks
Copy link
Copy Markdown
Owner

@cwperks cwperks commented Jul 21, 2023

Companion Security PR: cwperks/security#6

This is an example PR for integration testing with the extension SDK.

This is the corresponding PR in core for introducing and utilizing the TokenManager interface of an IdentityPlugin which has methods that are called to issue service account tokens and on-behalf-of tokens. After issuance, these tokens are ferried over to an extension.

  • A Service Account Token is ferried over to an extension on an extension initialization request. This PR only covers ferrying a token on bootstrap and does not cover any flows on extensions requesting a new service account token. This PR treats service account tokens as indefinite (like how passwords are treated in OpenSearch today) and new ones would only be issued on initialization. In the event a token is compromised, its not possible to revoke it. Similar to losing an SSN, you would need to change your identity (extension_unique_id) to recover.

  • An on-behalf-of token is issued just-in-time, meaning just before the REST Request that is proxied through the OpenSearch node is forwarded to an extension. These are short-lived tokens that are not revokable.

stephen-crawford and others added 25 commits July 12, 2023 15:54
Signed-off-by: Stephen Crawford <steecraw@amazon.com>
Signed-off-by: Stephen Crawford <steecraw@amazon.com>
Signed-off-by: Stephen Crawford <steecraw@amazon.com>
Signed-off-by: Stephen Crawford <65832608+scrawfor99@users.noreply.github.com>
Signed-off-by: Stephen Crawford <steecraw@amazon.com>
Signed-off-by: Stephen Crawford <steecraw@amazon.com>
Signed-off-by: Stephen Crawford <steecraw@amazon.com>
Signed-off-by: Stephen Crawford <steecraw@amazon.com>
Signed-off-by: Stephen Crawford <65832608+scrawfor99@users.noreply.github.com>
Signed-off-by: Stephen Crawford <steecraw@amazon.com>
Signed-off-by: Stephen Crawford <steecraw@amazon.com>
Signed-off-by: Stephen Crawford <65832608+scrawfor99@users.noreply.github.com>
Signed-off-by: Stephen Crawford <steecraw@amazon.com>
Signed-off-by: Stephen Crawford <steecraw@amazon.com>
Signed-off-by: Stephen Crawford <steecraw@amazon.com>
Signed-off-by: Stephen Crawford <steecraw@amazon.com>
Signed-off-by: Stephen Crawford <steecraw@amazon.com>
Signed-off-by: Stephen Crawford <steecraw@amazon.com>
Signed-off-by: Stephen Crawford <steecraw@amazon.com>
Signed-off-by: Craig Perkins <cwperx@amazon.com>
Signed-off-by: Craig Perkins <cwperx@amazon.com>
@github-actions
Copy link
Copy Markdown

Gradle Check (Jenkins) Run Completed with:

  • RESULT: null ❌
  • URL:
  • CommitID: 601a3d6
    Please examine the workflow log, locate, and copy-paste the failure(s) below, then iterate to green.
    Is the failure a flaky test unrelated to your change?

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 this pull request may close these issues.

2 participants