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!

Announcing Modern Navigation: A New Era of Splunk User Experience

We are excited to introduce the Modern Navigation feature in the Splunk Platform, available to both cloud and ...

Modernize your Splunk Apps – Introducing Python 3.13 in Splunk

We are excited to announce that the upcoming releases of Splunk Enterprise 10.2.x and Splunk Cloud Platform ...

Step into “Hunt the Insider: An Splunk ES Premier Mystery” to catch a cybercriminal ...

After a whole week of being on call, you fell asleep on your keyboard, and you hit a sequence of buttons that ...