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
Got questions? Get answers!

Join the Splunk Community Slack to learn, troubleshoot, and make connections with fellow Splunk practitioners in real time!

Meet up IRL or virtually!

Join Splunk User Groups to connect and learn in-person by region or remotely by topic or industry.

Get Updates on the Splunk Community!

[Puzzles] Solve, Learn, Repeat: Matching cron expressions

This puzzle (first published here) is based on matching timestamps to cron expressions.All the timestamps ...

Design, Compete, Win: Submit Your Best Splunk Dashboards for a .conf26 Pass

Hello Splunkers,  We’re excited to kick off a Splunk Dashboard contest! We know that dashboards are a primary ...

May 2026 Splunk Expert Sessions: Security & Observability

Level Up Your Operations: May 2026 Splunk Expert Sessions Whether you are refining your security posture or ...