|
| 1 | +{ |
| 2 | + "title": "EventBridge API Destinations with OAuth credentials using CMK encryption", |
| 3 | + "description": "Create an EventBridge rule and API Destination with OAuth credentials using Customer Managed Key (CMK) encryption", |
| 4 | + "language": "Node.js", |
| 5 | + "level": "100", |
| 6 | + "framework": "AWS SAM", |
| 7 | + "services": { |
| 8 | + "from": "eventbridge", |
| 9 | + "to": "eventbridge" |
| 10 | + }, |
| 11 | + "introBox": { |
| 12 | + "headline": "How it works", |
| 13 | + "text": [ |
| 14 | + "This pattern configures an EventBridge rule that routes to an API Destinations target using Oauth credentials with Customer Managed Key (CMK) encryption. It configures a Connection, which contains the authorization for the API endpoint with CMK encryption, and the API, which contains the URL, http method, and other configuration information." |
| 15 | + ], |
| 16 | + "test": "" |
| 17 | + }, |
| 18 | + "deploy": { |
| 19 | + "text": [ |
| 20 | + "cd ./12-oauth-api-with-cmk-encryption", |
| 21 | + "sam deploy --guided" |
| 22 | + ] |
| 23 | + }, |
| 24 | + "testing": { |
| 25 | + "headline": "Testing", |
| 26 | + "text": [ |
| 27 | + "1. From a command line in this directory, send a test event to EventBridge simulating a \"EventBridge CMK Demo success\" event: <code>aws events put-events --entries file://testEvent.json</code>" |
| 28 | + ] |
| 29 | + }, |
| 30 | + "cleanup": { |
| 31 | + "headline": "Cleanup", |
| 32 | + "text": [ |
| 33 | + "1. Delete the stack: <code>sam delete --stack-name STACK_NAME</code>.", |
| 34 | + "2. Confirm the stack has been deleted: <code>aws cloudformation list-stacks --query \"StackSummaries[?contains(StackName,'STACK_NAME')].StackStatus\"</code>" |
| 35 | + ] |
| 36 | + }, |
| 37 | + "gitHub": { |
| 38 | + "template": { |
| 39 | + "projectFolder": "eventbridge-api-destinations", |
| 40 | + "repoURL": "https://github.com/aws-samples/serverless-patterns/tree/main/eventbridge-api-destinations/12-oauth-api-with-cmk-encryption", |
| 41 | + "templateURL": "serverless-patterns/eventbridge-api-destinations", |
| 42 | + "templateFile": "12-oauth-api-with-cmk-encryption/template.yaml" |
| 43 | + }, |
| 44 | + "payloads": [ |
| 45 | + { |
| 46 | + "headline": "", |
| 47 | + "payloadURL": "" |
| 48 | + } |
| 49 | + ] |
| 50 | + }, |
| 51 | + "resources": { |
| 52 | + "headline": "Additional resources", |
| 53 | + "bullets": [ |
| 54 | + { |
| 55 | + "text": "Amazon EventBridge now supports Customer Managed Keys (CMK) in API destinations connections", |
| 56 | + "link": "https://aws.amazon.com/about-aws/whats-new/2025/04/amazon-eventbridge-customer-managed-keys-api/" |
| 57 | + }, |
| 58 | + { |
| 59 | + "text": "Encrypting EventBridge connection authorization with AWS KMS keys", |
| 60 | + "link": "https://docs.aws.amazon.com/eventbridge/latest/userguide/encryption-connections.html" |
| 61 | + }, |
| 62 | + { |
| 63 | + "text": "Using API destinations with Amazon EventBridge", |
| 64 | + "link": "https://aws.amazon.com/blogs/compute/using-api-destinations-with-amazon-eventbridge/" |
| 65 | + }, |
| 66 | + { |
| 67 | + "text": "Use Amazon EventBridge to Build Decoupled, Event-Driven Architectures", |
| 68 | + "link": "https://serverlessland.com/learn/eventbridge" |
| 69 | + } |
| 70 | + ] |
| 71 | + }, |
| 72 | + "authors": [ |
| 73 | + { |
| 74 | + "name": "Rajesh Kumar", |
| 75 | + "image": "https://avatars.githubusercontent.com/u/4745639", |
| 76 | + "bio": "Rajesh Kumar is a Technical Account Manager (TAM) at Amazon Web Services (AWS) and contributor to ServerlessLand. He is passionate about serverless and wants to help everyone get started with serverless and what can be done with it.", |
| 77 | + "linkedin": "rajeshk1988" |
| 78 | + }, |
| 79 | + { |
| 80 | + "name": "Biswanath Mukherjee", |
| 81 | + "image": "https://d1rwvjey2iif32.cloudfront.net", |
| 82 | + "bio": "I am a Sr. Solutions Architect working at AWS India.", |
| 83 | + "linkedin": "biswanathmukherjee" |
| 84 | + } |
| 85 | + ], |
| 86 | + "tags": [ |
| 87 | + "EventBridge", |
| 88 | + "API Destinations", |
| 89 | + "OAuth", |
| 90 | + "CMK Encryption", |
| 91 | + "Serverless" |
| 92 | + ], |
| 93 | + "patternArch": { |
| 94 | + "icon1": { |
| 95 | + "x": 15, |
| 96 | + "y": 50, |
| 97 | + "service": "eventbridge", |
| 98 | + "label": "EventBridge rule" |
| 99 | + }, |
| 100 | + "group": { |
| 101 | + "x": 30, |
| 102 | + "y": 20, |
| 103 | + "w": 65, |
| 104 | + "h": 60, |
| 105 | + "label": "API Destinations" |
| 106 | + }, |
| 107 | + "icon2": { |
| 108 | + "x": 40, |
| 109 | + "y": 50, |
| 110 | + "service": "eventbridge-connection.png", |
| 111 | + "label": "Connection" |
| 112 | + }, |
| 113 | + "icon3": { |
| 114 | + "x": 85, |
| 115 | + "y": 50, |
| 116 | + "service": "eventbridge-api.png", |
| 117 | + "label": "API" |
| 118 | + }, |
| 119 | + "line1": { |
| 120 | + "from": "icon1", |
| 121 | + "to": "icon2", |
| 122 | + "label": "" |
| 123 | + }, |
| 124 | + "line2": { |
| 125 | + "from": "icon2", |
| 126 | + "to": "icon3", |
| 127 | + "label": "with OAuth using CMK encryption" |
| 128 | + } |
| 129 | + } |
| 130 | +} |
0 commit comments