Signature Version 4 signing process
Signature Version 4 is the process to add authentication information to AWS requests sent by HTTP. For security, most requests to AWS must be signed with an access key, which consists of an access key ID and secret access key. These two keys are commonly referred to as your security credentials. For details on how to obtain credentials for your account, see Understanding and getting your AWS credentials.
When you use the AWS Command Line Interface (AWS CLI)
How Signature Version 4 works
-
Create a canonical request.
-
Use the canonical request and additional metadata to create a string for signing.
-
Derive a signing key from your AWS secret access key. Then use the signing key, and the string from the previous step, to create a signature.
-
Add the resulting signature to the HTTP request in a header or as a query string parameter.
When an AWS service receives the request, it performs the same steps that you did to calculate the signature you sent in your request. AWS then compares its calculated signature to the one you sent with the request. If the signatures match, the request is processed. If the signatures don't match, the request is denied.
For more information, see the following resources:
-
To get started with the signing process, see Signing AWS requests with Signature Version 4.
-
For sample signed requests, see Examples of the complete Signature Version 4 signing process (Python).
-
If you have questions about Signature Version 4, post your question in the AWS Identity and Access Management forum
.