Name : perl-Net-Amazon-S3-Policy
| |
Version : 0.1.6
| Vendor : obs://build_opensuse_org/devel:languages:perl
|
Release : 5.29
| Date : 2019-11-19 19:18:45
|
Group : Development/Libraries/Perl
| Source RPM : perl-Net-Amazon-S3-Policy-0.1.6-5.29.src.rpm
|
Size : 0.03 MB
| |
Packager : (none)
| |
Summary : manage Amazon S3 policies for HTTP POST forms
|
Description :
Net::Amazon::S3::Policy gives you an object-oriented interface to manage policies for Amazon S3 HTTP POST uploads.
Amazon S3 relies upon either a REST interface (see the Net::Amazon::S3 manpage) or a SOAP one; as an added service, it is possible to give access to the upload of resources using HTTP POSTs that do not involve using any of these two interfaces, but a single HTML FORM. The rules you have to follow are explained in the Amazon S3 Developer Guide.
More or less, it boils down to the following:
* *
if the target bucket is not writeable by the anonymous group, you\'ll need to set an access policy;
* *
almost every field in the HTML FORM that will be used to build up the HTTP POST message by the browser needs to be included into a _policy_, and the policy has to be sent along within the HTTP POST
* *
together with the _policy_, also the bucket owner\'s AWS ID (the public one) has to be sent, together with a digital signature of the policy that has to be created using the bucket owner\'s AWS secret key.
So, you\'ll have to add three fields to the HTTP POST in order for it to comply with Amazon\'s requirement when the bucket is not publicly writeable:
* \'AWSAccessKeyId\'
given \"as-is\", i.e. as you copied from your account in Amazon Web Services;
* \'policy\'
given as a JSON document that is Base64 encoded;
* \'signature\'
calculated as a SHA1-HMAC of the Base64-encoded policy, using your secret key as the signature key, and then encoded with Base64.
This module lets you manage the build-up of a policy document, providing you with tools to get the Base64 encoding of the resulting JSON policy document, and to calculate the Base64 encoding of the signature. See the /Example manpage for a complete example of how to do this.
In addition to _policy synthesis_, the module is also capable of parsing some policy (base64-encoded or not, but in JSON format). This shouldn\'t be a need in general... possibly for debug reasons.
|
RPM found in directory: /packages/linux-pbone/ftp5.gwdg.de/pub/opensuse/repositories/devel:/languages:/perl:/CPAN-N/openSUSE_Tumbleweed/noarch |