All Apps and Add-ons

Splunk Addon for AWS: How to create account with REST API when Secrete Access Key has Special Characters like / or + in the key?

we553
Engager

Currently we are using the following endpoints to add AWS accounts in the Splunk AddOn for AWS:

  1. https://localhost:8089/servicesNS/nobody/Splunk_TA_aws/configs/conf-aws_account_ext
  2. https://localhost:8089/servicesNS/nobody/Splunk_TA_aws/storage/passwords

We have a python script that goes out using Boto3 and requests Key Id and Secrete Access Key for our AWS user. We get those Keys and then we send them to both endpoints to add one of our AWS accounts to the Add on. When doing this it seems that if we get a Secrete Access Key that has a '/' or a '+' sign (special character) in the key the account creation does happen but then if we go so one of our Account Inputs like an S3 input we receive the following error:

"An error occurred (SignatureDoesNotMatch) when calling the GetCallerIdentity operation: The request signature we calculated does not match the signature you provided.
Check your AWS Secret Access Key and signing method. Consult the service documentation for details.. Please make sure the AWS Account and Assume Role are correct."

Now if I get a key that DOES NOT have a special character in it then it works fine.

I have searched and I have not found a 100% fix for this anywhere, or what the proper way is to send a Key with special characters to the API endpoint in python. I am using the requests library. Does anyone have any suggestions? Any help will be MUCH appreciated.

0 Karma

starknight
New Member

I had to do exactally this same task.  What i ended up doing was 


ENCODED_SECRET_KEY=$(python3 -c "import urllib.parse; print(urllib.parse.quote('$NEW_SECRET_KEY', safe=''))")

curl -k -u admin:Changethepassword \
  -d key_id="$NEW_ACCESS_KEY" \
  -d secret_key="$ENCODED_SECRET_KEY" \
  -d category=1
 
So i generate a new key and secret key with AWS CLI then use that parser to encode it in a format that is happy.
0 Karma

rasikmhetre
Explorer

hello, @we553 did you manage to fix this? i am struggling with the same issue.

0 Karma

vschrodda
Explorer

Were you ever able find a resolution for this issue?  Running into exactly the same thing.

0 Karma
Get Updates on the Splunk Community!

Purpose in Action: How Splunk Is Helping Power an Inclusive Future for All

At Cisco, purpose isn’t a tagline—it’s a commitment. Cisco’s FY25 Purpose Report outlines how the company is ...

[Upcoming Webinar] Demo Day: Transforming IT Operations with Splunk

Join us for a live Demo Day at the Cisco Store on January 21st 10:00am - 11:00am PST In the fast-paced world ...

New Year. New Skills. New Course Releases from Splunk Education

A new year often inspires reflection—and reinvention. Whether your goals include strengthening your security ...