signature_v2_auth {aws.signature} | R Documentation |
Signature Version 2
Description
Generates AWS Signature Version 2
Usage
signature_v2_auth(
datetime = format(Sys.time(), "%Y-%m-%dT%H:%M:%S", tz = "UTC"),
verb,
service,
path,
query_args = list(),
key = NULL,
secret = NULL,
region = NULL,
force_credentials = FALSE,
verbose = getOption("verbose", FALSE)
)
Arguments
datetime |
A character string containing a date in the form of “YYYY-MM-DDTH:M:S”. If missing, it is generated automatically using |
verb |
A character string specify an HTTP verb/method (e.g., “GET”). |
service |
A character string containing the full hostname of an AWS service (e.g., “iam.amazonaws.com”, etc.) |
path |
A character string specify the path to the API endpoint. |
query_args |
A list containing named query arguments. |
key |
An AWS Access Key ID. If |
secret |
An AWS Secret Access Key. If |
region |
A character string containing the AWS region for the request. If missing, “us-east-1” is assumed. |
force_credentials |
A logical indicating whether to force use of user-supplied credentials. If |
verbose |
A logical indicating whether to be verbose. |
Details
This function generates an AWS Signature Version 2 for authorizing API requests. The function returns both an updated set of query string parameters, containing the required signature-related entries, as well as a Signature
field containing the Signature string itself. Version 2 is mostly deprecated and in most cases users should rely on signature_v4_auth
for Version 4 signatures instead.
Value
A list.
Author(s)
Thomas J. Leeper <thosjleeper@gmail.com>
References
AWS General Reference: Signature Version 2 Signing Process
See Also
signature_v4_auth
, use_credentials
Examples
## Not run:
# examples from:
# http://docs.aws.amazon.com/general/latest/gr/signature-version-2.html
true_string <- paste0("GET\n",
"elasticmapreduce.amazonaws.com\n",
"/\n",
"AWSAccessKeyId=AKIAIOSFODNN7EXAMPLE",
"&Action=DescribeJobFlows",
"&SignatureMethod=HmacSHA256",
"&SignatureVersion=2",
"&Timestamp=2011-10-03T15\
"&Version=2009-03-31", collapse = "")
true_sig <- "i91nKc4PWAt0JJIdXwz9HxZCJDdiy6cf/Mj6vPxyYIs="
q1 <-
list(Action = "DescribeJobFlows",
Version = "2009-03-31",
AWSAccessKeyId = "AKIAIOSFODNN7EXAMPLE",
SignatureVersion = "2",
SignatureMethod = "HmacSHA256",
Timestamp = "2011-10-03T15:19:30")
sig1 <-
signature_v2_auth(datetime = "2011-10-03T15:19:30",
service = "elasticmapreduce.amazonaws.com",
verb = "GET",
path = "/",
query_args = q1,
key = q1$AWSAccessKeyId,
secret = "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY")
identical(true_string, sig1$CanonicalRequest)
identical(true_sig, sig1$Signature)
# leaving out some defaults
q2 <-
list(Action = "DescribeJobFlows",
Version = "2009-03-31",
Timestamp = "2011-10-03T15:19:30")
sig2 <-
signature_v2_auth(datetime = "2011-10-03T15:19:30",
service = "elasticmapreduce.amazonaws.com",
verb = "GET",
path = "/",
query_args = q2,
key = "AKIAIOSFODNN7EXAMPLE",
secret = "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY")
identical(true_string, sig2$CanonicalRequest)
identical(true_sig, sig2$Signature)
## End(Not run)