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!

Event Series: Splunk Observability Metrics Cost Optimization

Balancing Scale and Spend: Gaining Control Over High-Volume Metrics in Splunk Observability Cloud As ...

Kick the Tires Before You Commit: A Hands-On Tour of the Splunk Observability Cloud ...

Evaluating an enterprise observability platform usually goes like this: fill out a form, get a free trial with ...

Deep insights, no barriers: Splunk Observability Cloud Free Edition

As software delivery cycles continue to accelerate, observability shouldn’t be a luxury — it should be a ...