{"id":7854,"date":"2023-04-17T16:10:22","date_gmt":"2023-04-17T21:10:22","guid":{"rendered":"https:\/\/abudinen.com\/blog\/?p=7854"},"modified":"2023-04-19T10:20:06","modified_gmt":"2023-04-19T15:20:06","slug":"allow-public-read-access-to-an-aws-s3-bucket","status":"publish","type":"post","link":"https:\/\/abudinen.com\/blog\/2023\/04\/17\/allow-public-read-access-to-an-aws-s3-bucket\/","title":{"rendered":"Allow Public Read access to an AWS S3 Bucket"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\"><a href=\"https:\/\/bobbyhadz.com\/blog\/aws-s3-allow-public-read-access#allow-public-read-access-to-an-s3-bucket\" rel=\"noopener nofollow\">#<\/a>&nbsp;Allow Public Read access to an S3 Bucket<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>To allow public read access to an S3 bucket:<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Open the AWS S3 console and click on the bucket&#8217;s name<\/li>\n\n\n\n<li>Click on the&nbsp;<code>Permissions<\/code>&nbsp;tab<\/li>\n\n\n\n<li>Find the&nbsp;<code>Block public access (bucket settings)<\/code>&nbsp;section, click on the&nbsp;<code>Edit<\/code>&nbsp;button, uncheck the checkboxes and click on&nbsp;<code>Save changes<\/code><\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/bobbyhadz.com\/images\/blog\/aws-s3-allow-public-read-access\/uncheck-checkboxes.webp\" alt=\"uncheck checkboxes\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-embed\"><div class=\"wp-block-embed__wrapper\">\nhttps:\/\/700aa027b9d2414e9b1008538bc507c9.safeframe.googlesyndication.com\/safeframe\/1-0-40\/html\/container.html\n<\/div><\/figure>\n\n\n\n<ol class=\"wp-block-list\" start=\"4\">\n<li>In the&nbsp;<code>Permissions<\/code>&nbsp;tab, scroll down to the&nbsp;<code>Bucket policy<\/code>&nbsp;section and click on the&nbsp;<code>Edit<\/code>&nbsp;button. Paste the following policy into the textarea to grant public read access to all files in your S3 bucket.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Replace the&nbsp;<code>YOUR_BUCKET_NAME<\/code>&nbsp;placeholder with your bucket&#8217;s name.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">bucket-policy-public-read<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n  \"Version\": \"2012-10-17\",\n  \"Statement\": &#91;\n    {\n      \"Effect\": \"Allow\",\n      \"Principal\": \"*\",\n      \"Action\": &#91;\n        \"s3:GetObject\"\n      ],\n      \"Resource\": \"arn:aws:s3:::YOUR_BUCKET_NAME\/*\"\n    }\n  ]\n}\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">For example, the bucket policy of an&nbsp;<a href=\"https:\/\/bobbyhadz.com\/blog\/aws-cdk-s3-bucket-example\" rel=\"noopener nofollow\">S3 bucket<\/a>&nbsp;with the name&nbsp;<code>my-bucket<\/code>&nbsp;will look like:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/bobbyhadz.com\/images\/blog\/aws-s3-allow-public-read-access\/bucket-policy.webp\" alt=\"bucket policy\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Save the changes you&#8217;ve made to the bucket&#8217;s policy and your bucket will have public read access enabled.<\/p>\n\n\n\n<ol class=\"wp-block-list\" start=\"5\">\n<li>(Optional) &#8211; If you need to access your bucket with HTTP requests from the browser, you have to update the bucket&#8217;s&nbsp;<a href=\"https:\/\/bobbyhadz.com\/blog\/add-cors-s3-bucket-aws-cdk\" rel=\"noopener nofollow\">Cross-origin resource sharing (CORS) options<\/a>&nbsp;to allow your frontend&#8217;s requests\n<ul class=\"wp-block-list\">\n<li>In the&nbsp;<code>Permissions<\/code>&nbsp;tab of your S3 bucket, scroll down to the&nbsp;<code>Cross-origin resource sharing (CORS)<\/code>&nbsp;section and click on the&nbsp;<code>Edit<\/code>&nbsp;button<\/li>\n\n\n\n<li>Paste the following JSON into the textarea and save the changes<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">cors-configuration<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;\n  {\n      \"AllowedHeaders\": &#91;\n          \"Authorization\",\n          \"Content-Length\"\n      ],\n      \"AllowedMethods\": &#91;\n          \"GET\"\n      ],\n      \"AllowedOrigins\": &#91;\n          \"*\"\n      ],\n      \"ExposeHeaders\": &#91;],\n      \"MaxAgeSeconds\": 3000\n  }\n]\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>To test that your bucket has public read access enabled:<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Click on the&nbsp;<code>Objects<\/code>&nbsp;tab in your S3 bucket.<\/li>\n\n\n\n<li>Click on the checkbox next to a file&#8217;s name.<\/li>\n\n\n\n<li>Click on the&nbsp;<code>Copy URL<\/code>&nbsp;button at the top and copy the public URL of the file.<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/bobbyhadz.com\/images\/blog\/aws-s3-allow-public-read-access\/copy-s3-object-url.webp\" alt=\"copy s3 object url\"\/><\/figure>\n\n\n\n<ol class=\"wp-block-list\" start=\"4\">\n<li>Paste the URL in your browser and you should see the contents of the file (for HTML files or images).<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Note that you&#8217;ll see a red badge with the text&nbsp;<code>Publicly accessible<\/code>&nbsp;next to your bucket&#8217;s name.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/bobbyhadz.com\/images\/blog\/aws-s3-allow-public-read-access\/publicly-accessible-badge.webp\" alt=\"publicly accessible badge\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">In this case, the&nbsp;<a href=\"https:\/\/bobbyhadz.com\/blog\/aws-cdk-s3-bucket-policy\" rel=\"noopener nofollow\">bucket policy<\/a>&nbsp;only grants public read access to the bucket, so other people can&#8217;t add objects to your S3 bucket. https:\/\/bobbyhadz.com\/blog\/aws-s3-allow-public-read-access<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/stackoverflow.com\/questions\/47134556\/python-pass-querystring-parameters-to-api-gateway\" rel=\"noopener nofollow\">https:\/\/stackoverflow.com\/questions\/47134556\/python-pass-querystring-parameters-to-api-gateway<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Either you can take query string inside Lambda like below,<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>var result =  event&#91;\"queryStringParameters\"]&#91;'queryStringParam1']\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">According to your API URL,<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>var postcode =  event&#91;\"queryStringParameters\"]&#91;'postcode']\nvar house =  event&#91;\"queryStringParameters\"]&#91;'house']\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">or you can use body mapping template in the integration request section and get request body and query strings. Construct a new JSON at body mapping template, which will have data from request body and query string. As we are adding body mapping template your business logic will get the JSON we have constructed at body mapping template.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Inside body mapping template to get query string please do ,<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">$input.params(&#8216;querystringkey&#8217;)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For example inside body mapping template,<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#set($inputRoot = $input.path('$'))\n{\n\"firstName\" : \"$input.path('$.firstName')\",\n\"lastName\" : \"$input.path('$.lastName')\"\n\"language\" : \"$input.params('$.language')\"\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;Run code snippet<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a>Expand snippet<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Please read&nbsp;<a href=\"https:\/\/aws.amazon.com\/blogs\/compute\/tag\/mapping-templates\/\" rel=\"noopener nofollow\">https:\/\/aws.amazon.com\/blogs\/compute\/tag\/mapping-templates\/<\/a>&nbsp;for more details on body mapping template<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><a href=\"https:\/\/bobbyhadz.com\/blog\/aws-s3-allow-public-read-access#additional-resources\" rel=\"noopener nofollow\">#<\/a>&nbsp;Additional Resources<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">You can learn more about the related topics by checking out the following tutorials:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/bobbyhadz.com\/blog\/aws-cli-list-all-files-in-bucket\" rel=\"noopener nofollow\">List all Files in an S3 Bucket with AWS CLI<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/bobbyhadz.com\/blog\/aws-s3-get-folder-size\" rel=\"noopener nofollow\">Get the Size of a Folder in AWS S3 Bucket<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/bobbyhadz.com\/blog\/aws-s3-get-bucket-size\" rel=\"noopener nofollow\">How to Get the Size of an AWS S3 Bucket<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/bobbyhadz.com\/blog\/aws-s3-configure-cors\" rel=\"noopener nofollow\">Configure CORS for an AWS S3 Bucket<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/bobbyhadz.com\/blog\/aws-s3-copy-local-folder-to-bucket\" rel=\"noopener nofollow\">Copy a Local Folder to an S3 Bucket<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/bobbyhadz.com\/blog\/aws-s3-download-folder\" rel=\"noopener nofollow\">Download a Folder from AWS S3<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/bobbyhadz.com\/blog\/aws-s3-rename-folder\" rel=\"noopener nofollow\">How to Rename a Folder in AWS S3<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/bobbyhadz.com\/blog\/aws-s3-copy-files-between-buckets\" rel=\"noopener nofollow\">Copy Files and Folders between S3 Buckets<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/bobbyhadz.com\/blog\/aws-s3-delete-files-in-folder\" rel=\"noopener nofollow\">How to Delete a Folder from an S3 Bucket<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/bobbyhadz.com\/blog\/aws-cli-count-number-of-objects-in-s3-bucket\" rel=\"noopener nofollow\">Count Number of Objects in S3 Bucket<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/bobbyhadz.com\/blog\/download-entire-s3-bucket\" rel=\"noopener nofollow\">Download an Entire S3 Bucket &#8211; Complete Guide<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/bobbyhadz.com\/blog\/aws-cdk-tutorial-typescript\" rel=\"noopener nofollow\">AWS CDK Tutorial for Beginners &#8211; Step-by-Step Guide<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/bobbyhadz.com\/blog\/aws-cdk-parameters-example\" rel=\"noopener nofollow\">How to use Parameters in AWS CDK<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/bobbyhadz.com\/blog\/aws-s3-bucket-attempting-access-must-be-addressed\" rel=\"noopener nofollow\">The Bucket you are attempting to Access AWS S3 Error [Fixed]<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/bobbyhadz.com\/blog\/aws-s3-sync-exclude-multiple-folders\" rel=\"noopener nofollow\">How to Exclude multiple Folders with AWS S3 Sync<\/a><\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-preformatted\">import requests\nimport json\nimport time\n\ndef lambda_handler(event, context):\n    # TODO implement\n    url = \"https:\/\/play.ht\/api\/v1\/convert\"\n    \n    print(event, context)\n    \n    httpMethod = event.get('httpMethod')\n    path = event.get('path')\n    if httpMethod == \"GET\" and path == \"\/Wh2\":\n        params = event.get('queryStringParameters')\n        if params is None:\n            print(params, 86666666666666)\n            text = (\"Hello there! My name is ' joi ', your English coach.\" \n            \"I'm really happy to start this journey with you. Let's get started by telling me your name and where you're from.\" \n            \"I'd love to learn more about you! And if you ever feel confused or need help, don't hesitate to ask me.\")\n        else:\n            text = params[\"text\"]\n            \n    print(text)\n            \n    \n    \n    #try:\n        #text = event[\"queryStringParameters\"][\"text\"]\n    #except KeyError as e:\n        #text = (\"Hello there! My name is ' joi ', your English coach.\" \n        #\"I'm really happy to start this journey with you. Let's get started by telling me your name and where you're from.\" \n        #\"I'd love to learn more about you! And if you ever feel confused or need help, don't hesitate to ask me.\")\n    \n    payload = json.dumps({\n      \"voice\": \"en-US-DavisNeural\",\n      \"content\": [text],\n       \"title\": \"Testing public api convertion\"\n    })\n    headers = {\n      #'Authorization': 'f592b758e0ee4094a4fad34be3371663',\n      'Authorization': '86b294b3b5474335ab5e2a49f7b956c9',\n      #'X-User-ID': 'zoSFLZ0CUsajZj4NliirGr1qgt73',\n      'X-User-ID': '8biOMUQv0IXAxYRdj1TQJmYUmwD3',\n      'Content-Type': 'application\/json'\n    }\n    \n    response = requests.request(\"POST\", url, headers=headers, data=payload)\n    print(response.text)\n    data = json.loads(response.text)\n    print(data['transcriptionId'])\n    \n    time.sleep(2)\n    url = 'https:\/\/play.ht\/api\/v1\/articleStatus?transcriptionId='+data['transcriptionId']\n    x = requests.get(url, headers=headers)\n    data = json.loads(x.text)\n    print(data['audioUrl'])\n    \n    return {\n        'statusCode': 200,\n        'body': json.dumps(data['audioUrl'])\n    }<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>#&nbsp;Allow Public Read access to an S3 Bucket To allow public read access to an S3 bucket: Replace the&nbsp;YOUR_BUCKET_NAME&nbsp;placeholder with your bucket&#8217;s name. bucket-policy-public-read For example, the bucket policy of an&nbsp;S3 bucket&nbsp;with &#8230; <a title=\"Allow Public Read access to an AWS S3 Bucket\" class=\"read-more\" href=\"https:\/\/abudinen.com\/blog\/2023\/04\/17\/allow-public-read-access-to-an-aws-s3-bucket\/\" aria-label=\"Read more about Allow Public Read access to an AWS S3 Bucket\">Leer m\u00e1s<\/a><\/p>\n<p class=\"social-share asbm-share-block\"><strong class=\"asbm-share-title\">Sharing is caring<\/strong><a href=\"https:\/\/www.facebook.com\/sharer.php?u=https%3A%2F%2Fabudinen.com%2Fblog%2F2023%2F04%2F17%2Fallow-public-read-access-to-an-aws-s3-bucket%2F\" target=\"_blank\" rel=\"noopener\" class=\"asbm-share asbm-share--facebook\" aria-label=\"Compartir en Facebook\"><svg viewBox=\"0 0 24 24\" width=\"18\" height=\"18\" fill=\"currentColor\" aria-hidden=\"true\"><path d=\"M9.101 23.691v-7.98H6.627v-3.667h2.474v-1.58c0-4.085 1.848-5.978 5.858-5.978.401 0 .955.042 1.468.103a8.68 8.68 0 0 1 1.141.195v3.325a8.623 8.623 0 0 0-.653-.036 26.805 26.805 0 0 0-.733-.009c-.707 0-1.259.096-1.675.309a1.686 1.686 0 0 0-.679.622c-.258.42-.374.995-.374 1.752v1.297h3.919l-.386 2.103-.287 1.564h-3.246v8.245C19.396 23.238 24 18.179 24 12.044c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.628 3.874 10.35 9.101 11.647z\"\/><\/svg><span class=\"asbm-share__label\">Facebook<\/span><\/a><a href=\"https:\/\/twitter.com\/intent\/tweet?text=Allow%20Public%20Read%20access%20to%20an%20AWS%20S3%20Bucket&#038;url=https%3A%2F%2Fabudinen.com%2Fblog%2F2023%2F04%2F17%2Fallow-public-read-access-to-an-aws-s3-bucket%2F\" target=\"_blank\" rel=\"noopener\" class=\"asbm-share asbm-share--twitter\" aria-label=\"Compartir en X \/ Twitter\"><svg viewBox=\"0 0 24 24\" width=\"18\" height=\"18\" fill=\"currentColor\" aria-hidden=\"true\"><path d=\"M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z\"\/><\/svg><span class=\"asbm-share__label\">X \/ Twitter<\/span><\/a><a href=\"https:\/\/www.linkedin.com\/shareArticle?mini=true&#038;url=https%3A%2F%2Fabudinen.com%2Fblog%2F2023%2F04%2F17%2Fallow-public-read-access-to-an-aws-s3-bucket%2F\" target=\"_blank\" rel=\"noopener\" class=\"asbm-share asbm-share--linkedin\" aria-label=\"Compartir en LinkedIn\"><svg viewBox=\"0 0 24 24\" width=\"18\" height=\"18\" fill=\"currentColor\" aria-hidden=\"true\"><path d=\"M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.062 2.062 0 01-2.063-2.065 2.063 2.063 0 112.063 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z\"\/><\/svg><span class=\"asbm-share__label\">LinkedIn<\/span><\/a><a href=\"https:\/\/wa.me\/?text=Allow%20Public%20Read%20access%20to%20an%20AWS%20S3%20Bucket%20https%3A%2F%2Fabudinen.com%2Fblog%2F2023%2F04%2F17%2Fallow-public-read-access-to-an-aws-s3-bucket%2F\" target=\"_blank\" rel=\"noopener\" class=\"asbm-share asbm-share--whatsapp\" aria-label=\"Compartir en WhatsApp\"><svg viewBox=\"0 0 24 24\" width=\"18\" height=\"18\" fill=\"currentColor\" aria-hidden=\"true\"><path d=\"M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347M12.05 21.785h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413z\"\/><\/svg><span class=\"asbm-share__label\">WhatsApp<\/span><\/a><a href=\"https:\/\/t.me\/share\/url?url=https%3A%2F%2Fabudinen.com%2Fblog%2F2023%2F04%2F17%2Fallow-public-read-access-to-an-aws-s3-bucket%2F&#038;text=Allow%20Public%20Read%20access%20to%20an%20AWS%20S3%20Bucket\" target=\"_blank\" rel=\"noopener\" class=\"asbm-share asbm-share--telegram\" aria-label=\"Compartir en Telegram\"><svg viewBox=\"0 0 24 24\" width=\"18\" height=\"18\" fill=\"currentColor\" aria-hidden=\"true\"><path d=\"M11.944 0A12 12 0 0 0 0 12a12 12 0 0 0 12 12 12 12 0 0 0 12-12A12 12 0 0 0 12 0a12 12 0 0 0-.056 0zm4.962 7.224c.1-.002.321.023.465.14a.506.506 0 0 1 .171.325c.016.093.036.306.02.472-.18 1.898-.962 6.502-1.36 8.627-.168.9-.499 1.201-.82 1.23-.696.065-1.225-.46-1.9-.902-1.056-.693-1.653-1.124-2.678-1.8-1.185-.78-.417-1.21.258-1.91.177-.184 3.247-2.977 3.307-3.23.007-.032.014-.15-.056-.212s-.174-.041-.249-.024c-.106.024-1.793 1.14-5.061 3.345-.48.33-.913.49-1.302.48-.428-.008-1.252-.241-1.865-.44-.752-.245-1.349-.374-1.297-.789.027-.216.325-.437.893-.663 3.498-1.524 5.83-2.529 6.998-3.014 3.332-1.386 4.025-1.627 4.476-1.635z\"\/><\/svg><span class=\"asbm-share__label\">Telegram<\/span><\/a><a href=\"https:\/\/reddit.com\/submit?url=https%3A%2F%2Fabudinen.com%2Fblog%2F2023%2F04%2F17%2Fallow-public-read-access-to-an-aws-s3-bucket%2F&#038;title=Allow%20Public%20Read%20access%20to%20an%20AWS%20S3%20Bucket\" target=\"_blank\" rel=\"noopener\" class=\"asbm-share asbm-share--reddit\" aria-label=\"Compartir en Reddit\"><svg viewBox=\"0 0 24 24\" width=\"18\" height=\"18\" fill=\"currentColor\" aria-hidden=\"true\"><path d=\"M12 0A12 12 0 0 0 0 12a12 12 0 0 0 12 12 12 12 0 0 0 12-12A12 12 0 0 0 12 0zm5.01 4.744c.688 0 1.25.561 1.25 1.249a1.25 1.25 0 0 1-2.498.056l-2.597-.547-.8 3.747c1.824.07 3.48.632 4.674 1.488.308-.309.73-.491 1.207-.491.968 0 1.754.786 1.754 1.754 0 .716-.435 1.333-1.01 1.614a3.111 3.111 0 0 1 .042.52c0 2.694-3.13 4.87-7.004 4.87-3.874 0-7.004-2.176-7.004-4.87 0-.183.015-.366.043-.534A1.748 1.748 0 0 1 4.028 12c0-.968.786-1.754 1.754-1.754.463 0 .898.196 1.207.49 1.207-.883 2.878-1.43 4.744-1.487l.885-4.182a.342.342 0 0 1 .14-.197.35.35 0 0 1 .238-.042l2.906.617a1.214 1.214 0 0 1 1.108-.701zM9.25 12C8.561 12 8 12.562 8 13.25c0 .687.561 1.248 1.25 1.248.687 0 1.248-.561 1.248-1.249 0-.688-.561-1.249-1.249-1.249zm5.5 0c-.687 0-1.248.561-1.248 1.25 0 .687.561 1.248 1.249 1.248.688 0 1.249-.561 1.249-1.249 0-.687-.562-1.249-1.25-1.249zm-5.466 3.99a.327.327 0 0 0-.231.094.33.33 0 0 0 0 .463c.842.842 2.484.913 2.961.913.477 0 2.105-.056 2.961-.913a.361.361 0 0 0 .029-.463.33.33 0 0 0-.464 0c-.547.533-1.684.73-2.512.73-.828 0-1.979-.196-2.512-.73a.326.326 0 0 0-.232-.095z\"\/><\/svg><span class=\"asbm-share__label\">Reddit<\/span><\/a><a href=\"mailto:?subject=Allow%20Public%20Read%20access%20to%20an%20AWS%20S3%20Bucket&#038;body=https%3A%2F%2Fabudinen.com%2Fblog%2F2023%2F04%2F17%2Fallow-public-read-access-to-an-aws-s3-bucket%2F\" class=\"asbm-share asbm-share--email\" aria-label=\"Compartir en Email\"><svg viewBox=\"0 0 24 24\" width=\"18\" height=\"18\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect x=\"2\" y=\"4\" width=\"20\" height=\"16\" rx=\"2\"\/><path d=\"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7\"\/><\/svg><span class=\"asbm-share__label\">Email<\/span><\/a><span class=\"asbm-share-meta\">965 words \u00b7 178 views<\/span><\/p>","protected":false},"author":1,"featured_media":7859,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-7854","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-sin-categoria"],"_links":{"self":[{"href":"https:\/\/abudinen.com\/blog\/wp-json\/wp\/v2\/posts\/7854","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/abudinen.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/abudinen.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/abudinen.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/abudinen.com\/blog\/wp-json\/wp\/v2\/comments?post=7854"}],"version-history":[{"count":4,"href":"https:\/\/abudinen.com\/blog\/wp-json\/wp\/v2\/posts\/7854\/revisions"}],"predecessor-version":[{"id":7863,"href":"https:\/\/abudinen.com\/blog\/wp-json\/wp\/v2\/posts\/7854\/revisions\/7863"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/abudinen.com\/blog\/wp-json\/wp\/v2\/media\/7859"}],"wp:attachment":[{"href":"https:\/\/abudinen.com\/blog\/wp-json\/wp\/v2\/media?parent=7854"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/abudinen.com\/blog\/wp-json\/wp\/v2\/categories?post=7854"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/abudinen.com\/blog\/wp-json\/wp\/v2\/tags?post=7854"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}