Skip to content

QBusiness IDC Integration #703

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

Merged

Conversation

nsusman
Copy link
Contributor

@nsusman nsusman commented Jul 9, 2024

Description of changes:

This pull request adds the Python lambda code to enable integration with the QBusiness Identity Center (IDC) as well as caching of credentials in DynamoDB.

The following additions were made:

  • Added code to call create_token_with_iam to generate a session based on assuming an IAM role with permissions to QBusiness. This allows the application to integrate with IDC and generate temporary security credentials that can be reused to call the QBusiness chatsync operation.
  • Added a reference to a new DynamoDB table to cache credentials generated via the IDC until their expiration time, including encryption and decryption of the credentials object using KMS. Because the passed JWT can only be used once unless refreshed, caching allows the plugin to re-use the generated credentials until their expiration

Please let me know if any part of these changes require further explanation or modification prior to merging. Can reference aws-samples/qnabot-on-aws-plugin-samples#29 in the plugin samples repo.

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@atjohns atjohns merged commit 77469a0 into aws-samples:features/q-business Jul 9, 2024
tomeh100 pushed a commit to tomeh100/aws-lex-web-ui that referenced this pull request Oct 12, 2024
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