やりたいことがシンプルなわりにサンプルがほとんど見つからなかったので、メモしておきます。 require 'base64' require 'net/http' require 'openssl' require 'time' Net::HTTP.version_1_2 def aws_sign(secret_access_key_id, date, bucket, path) string_to_sign = "GET\n\n\n#{date}\n/#{bucket}#{path}" digest = OpenSSL::HMAC.digest(OpenSSL::Digest::SHA1.new, secret_access_key_id, string_to_sign) Base64.encode64(digest).gsub("\n", '') end def get(bucket,