{"id":8346,"date":"2019-08-22T09:30:47","date_gmt":"2019-08-21T23:30:47","guid":{"rendered":"https:\/\/www.penguinpunk.net\/blog\/?p=8346"},"modified":"2019-08-22T09:23:15","modified_gmt":"2019-08-21T23:23:15","slug":"pure-storage-configuring-objectengine-bucket-security","status":"publish","type":"post","link":"https:\/\/www.penguinpunk.net\/blog\/pure-storage-configuring-objectengine-bucket-security\/","title":{"rendered":"Pure Storage &#8211; Configuring ObjectEngine Bucket Security"},"content":{"rendered":"<p><a href=\"https:\/\/www.penguinpunk.net\/blog\/wp-content\/uploads\/2018\/11\/Pure_Logo.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-7400 size-full\" src=\"https:\/\/www.penguinpunk.net\/blog\/wp-content\/uploads\/2018\/11\/Pure_Logo.png\" alt=\"\" width=\"400\" height=\"65\" srcset=\"https:\/\/www.penguinpunk.net\/blog\/wp-content\/uploads\/2018\/11\/Pure_Logo.png 400w, https:\/\/www.penguinpunk.net\/blog\/wp-content\/uploads\/2018\/11\/Pure_Logo-300x49.png 300w\" sizes=\"auto, (max-width: 400px) 100vw, 400px\" \/><\/a><\/p>\n<p>This is a quick post as a reminder for me next time I need to do something with basic S3 bucket security. A little while I ago I was testing <a href=\"https:\/\/www.purestorage.com\/au\/products\/objectengine.html\">Pure Storage&#8217;s ObjectEngine (OE)<\/a> device with a number of data protection products. I&#8217;ve done a few articles previously on what it looked like from the <a href=\"https:\/\/www.penguinpunk.net\/blog\/cohesity-basics-configuring-an-external-target-for-cloud-archive\/\">Cohesity<\/a> and <a href=\"https:\/\/www.penguinpunk.net\/blog\/pure-storage-objectengine-and-commvault-integration\/\">Commvault<\/a> perspective, but thought it would be worthwhile to document what I did on the OE side of things.<\/p>\n<p>The first step is to create the bucket in the OE dashboard.<\/p>\n<p><a href=\"https:\/\/www.penguinpunk.net\/blog\/wp-content\/uploads\/2019\/08\/Pure_OE_bucket_01.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-8347\" src=\"https:\/\/www.penguinpunk.net\/blog\/wp-content\/uploads\/2019\/08\/Pure_OE_bucket_01.png\" alt=\"\" width=\"800\" height=\"269\" srcset=\"https:\/\/www.penguinpunk.net\/blog\/wp-content\/uploads\/2019\/08\/Pure_OE_bucket_01.png 1666w, https:\/\/www.penguinpunk.net\/blog\/wp-content\/uploads\/2019\/08\/Pure_OE_bucket_01-300x101.png 300w, https:\/\/www.penguinpunk.net\/blog\/wp-content\/uploads\/2019\/08\/Pure_OE_bucket_01-768x259.png 768w, https:\/\/www.penguinpunk.net\/blog\/wp-content\/uploads\/2019\/08\/Pure_OE_bucket_01-1024x345.png 1024w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/a><\/p>\n<p>You&#8217;ll need to call it something, and there are rules around the naming convention and length of the name.<\/p>\n<p><a href=\"https:\/\/www.penguinpunk.net\/blog\/wp-content\/uploads\/2019\/08\/Pure_OE_bucket_02.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-8348\" src=\"https:\/\/www.penguinpunk.net\/blog\/wp-content\/uploads\/2019\/08\/Pure_OE_bucket_02.png\" alt=\"\" width=\"800\" height=\"269\" srcset=\"https:\/\/www.penguinpunk.net\/blog\/wp-content\/uploads\/2019\/08\/Pure_OE_bucket_02.png 1666w, https:\/\/www.penguinpunk.net\/blog\/wp-content\/uploads\/2019\/08\/Pure_OE_bucket_02-300x101.png 300w, https:\/\/www.penguinpunk.net\/blog\/wp-content\/uploads\/2019\/08\/Pure_OE_bucket_02-768x259.png 768w, https:\/\/www.penguinpunk.net\/blog\/wp-content\/uploads\/2019\/08\/Pure_OE_bucket_02-1024x345.png 1024w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/a><\/p>\n<p>In this example, I&#8217;m creating a bucket for Commvault to use, so I&#8217;ve called this one &#8220;commvault-test&#8221;.<\/p>\n<p><a href=\"https:\/\/www.penguinpunk.net\/blog\/wp-content\/uploads\/2019\/08\/Pure_OE_bucket_03.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-8349\" src=\"https:\/\/www.penguinpunk.net\/blog\/wp-content\/uploads\/2019\/08\/Pure_OE_bucket_03.png\" alt=\"\" width=\"800\" height=\"269\" srcset=\"https:\/\/www.penguinpunk.net\/blog\/wp-content\/uploads\/2019\/08\/Pure_OE_bucket_03.png 1666w, https:\/\/www.penguinpunk.net\/blog\/wp-content\/uploads\/2019\/08\/Pure_OE_bucket_03-300x101.png 300w, https:\/\/www.penguinpunk.net\/blog\/wp-content\/uploads\/2019\/08\/Pure_OE_bucket_03-768x259.png 768w, https:\/\/www.penguinpunk.net\/blog\/wp-content\/uploads\/2019\/08\/Pure_OE_bucket_03-1024x345.png 1024w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/a><\/p>\n<p>Once the bucket has been created, you should add a security policy to the bucket.<\/p>\n<p><a href=\"https:\/\/www.penguinpunk.net\/blog\/wp-content\/uploads\/2019\/08\/Pure_OE_bucket_04.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-8350\" src=\"https:\/\/www.penguinpunk.net\/blog\/wp-content\/uploads\/2019\/08\/Pure_OE_bucket_04.png\" alt=\"\" width=\"800\" height=\"269\" srcset=\"https:\/\/www.penguinpunk.net\/blog\/wp-content\/uploads\/2019\/08\/Pure_OE_bucket_04.png 1666w, https:\/\/www.penguinpunk.net\/blog\/wp-content\/uploads\/2019\/08\/Pure_OE_bucket_04-300x101.png 300w, https:\/\/www.penguinpunk.net\/blog\/wp-content\/uploads\/2019\/08\/Pure_OE_bucket_04-768x259.png 768w, https:\/\/www.penguinpunk.net\/blog\/wp-content\/uploads\/2019\/08\/Pure_OE_bucket_04-1024x345.png 1024w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/a><\/p>\n<p>Click on &#8220;Add&#8221; and you&#8217;ll be prompted to get started with the Bucket Policy Editor.<\/p>\n<p><a href=\"https:\/\/www.penguinpunk.net\/blog\/wp-content\/uploads\/2019\/08\/Pure_OE_bucket_05.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-8351\" src=\"https:\/\/www.penguinpunk.net\/blog\/wp-content\/uploads\/2019\/08\/Pure_OE_bucket_05.png\" alt=\"\" width=\"800\" height=\"295\" srcset=\"https:\/\/www.penguinpunk.net\/blog\/wp-content\/uploads\/2019\/08\/Pure_OE_bucket_05.png 1666w, https:\/\/www.penguinpunk.net\/blog\/wp-content\/uploads\/2019\/08\/Pure_OE_bucket_05-300x111.png 300w, https:\/\/www.penguinpunk.net\/blog\/wp-content\/uploads\/2019\/08\/Pure_OE_bucket_05-768x284.png 768w, https:\/\/www.penguinpunk.net\/blog\/wp-content\/uploads\/2019\/08\/Pure_OE_bucket_05-1024x378.png 1024w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/a><\/p>\n<p>I&#8217;m pretty hopeless with this stuff, but fortunately there&#8217;s a <a href=\"http:\/\/awspolicygen.s3.amazonaws.com\/policygen.html\">policy generator on the AWS site you can use<\/a>.<\/p>\n<p><a href=\"https:\/\/www.penguinpunk.net\/blog\/wp-content\/uploads\/2019\/08\/Pure_OE_bucket_05.5.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-8353\" src=\"https:\/\/www.penguinpunk.net\/blog\/wp-content\/uploads\/2019\/08\/Pure_OE_bucket_05.5.png\" alt=\"\" width=\"800\" height=\"521\" srcset=\"https:\/\/www.penguinpunk.net\/blog\/wp-content\/uploads\/2019\/08\/Pure_OE_bucket_05.5.png 1324w, https:\/\/www.penguinpunk.net\/blog\/wp-content\/uploads\/2019\/08\/Pure_OE_bucket_05.5-300x195.png 300w, https:\/\/www.penguinpunk.net\/blog\/wp-content\/uploads\/2019\/08\/Pure_OE_bucket_05.5-768x500.png 768w, https:\/\/www.penguinpunk.net\/blog\/wp-content\/uploads\/2019\/08\/Pure_OE_bucket_05.5-1024x667.png 1024w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/a><\/p>\n<p>Once you&#8217;ve generated your policy, click on Save and you&#8217;ll be good to go. Keep in mind that any user you reference in the policy will need to exist in OE for the policy to work.<\/p>\n<p><a href=\"https:\/\/www.penguinpunk.net\/blog\/wp-content\/uploads\/2019\/08\/Pure_OE_bucket_06.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-8352\" src=\"https:\/\/www.penguinpunk.net\/blog\/wp-content\/uploads\/2019\/08\/Pure_OE_bucket_06.png\" alt=\"\" width=\"800\" height=\"295\" srcset=\"https:\/\/www.penguinpunk.net\/blog\/wp-content\/uploads\/2019\/08\/Pure_OE_bucket_06.png 1666w, https:\/\/www.penguinpunk.net\/blog\/wp-content\/uploads\/2019\/08\/Pure_OE_bucket_06-300x111.png 300w, https:\/\/www.penguinpunk.net\/blog\/wp-content\/uploads\/2019\/08\/Pure_OE_bucket_06-768x284.png 768w, https:\/\/www.penguinpunk.net\/blog\/wp-content\/uploads\/2019\/08\/Pure_OE_bucket_06-1024x378.png 1024w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/a><\/p>\n<p>Here&#8217;s the policy I applied to this particular bucket. The user is commvault, and the bucket name is commvault-test.<\/p>\n<pre><strong>{<\/strong>\r\n<strong>  \"Id\": \"Policy1563859773493\",<\/strong>\r\n<strong>  \"Version\": \"2012-10-17\",<\/strong>\r\n<strong>  \"Statement\": [<\/strong>\r\n<strong>  \u00a0 {<\/strong>\r\n<strong>  \u00a0 \u00a0 \"Sid\": \"Stmt1563859751962\",<\/strong>\r\n<strong>  \u00a0 \u00a0 \"Action\": \"s3:*\",<\/strong>\r\n<strong>  \u00a0 \u00a0 \"Effect\": \"Allow\",<\/strong>\r\n<strong>  \u00a0 \u00a0 \"Resource\": \"arn:aws:s3:::commvault-test\",<\/strong>\r\n<strong>  \u00a0 \u00a0 \"Principal\": {<\/strong>\r\n<strong>  \u00a0 \u00a0 \u00a0 \"AWS\": [<\/strong>\r\n<strong>  \u00a0 \u00a0 \u00a0 \u00a0 \"arn:aws:iam::0:user\/commvault\"<\/strong>\r\n<strong>  \u00a0 \u00a0 \u00a0 ]<\/strong>\r\n<strong>  \u00a0 \u00a0 }<\/strong>\r\n<strong>  \u00a0 },<\/strong>\r\n<strong>  \u00a0 {<\/strong>\r\n<strong>  \u00a0 \u00a0 \"Sid\": \"Stmt1563859771357\",<\/strong>\r\n<strong>  \u00a0 \u00a0 \"Action\": \"s3:*\",<\/strong>\r\n<strong>  \u00a0 \u00a0 \"Effect\": \"Allow\",<\/strong>\r\n<strong>  \u00a0 \u00a0 \"Resource\": \"arn:aws:s3:::commvault-test\/*\",<\/strong>\r\n<strong>  \u00a0 \u00a0 \"Principal\": {<\/strong>\r\n<strong>  \u00a0 \u00a0 \u00a0 \"AWS\": [<\/strong>\r\n<strong>  \u00a0 \u00a0 \u00a0 \u00a0 \"arn:aws:iam::0:user\/commvault\"<\/strong>\r\n<strong>  \u00a0 \u00a0 \u00a0 ]<\/strong>\r\n<strong>  \u00a0 \u00a0 }<\/strong>\r\n<strong>  \u00a0 }<\/strong>\r\n<strong>  ]<\/strong>\r\n<strong>}<\/strong><\/pre>\n<p>You can read more about the policy elements <a href=\"https:\/\/docs.aws.amazon.com\/IAM\/latest\/UserGuide\/reference_policies_elements.html\">here<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This is a quick post as a reminder for me next time I need to do something with basic S3 bucket security. A little while I ago I was testing Pure Storage&#8217;s ObjectEngine (OE) device with a number of data protection products. I&#8217;ve done a few articles previously on what it looked like from the [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[62,25,1237,692,5],"tags":[110,1209,693,891],"class_list":["post-8346","post","type-post","status-publish","format-standard","hentry","category-commvault","category-dataprotection","category-objectengine","category-pure-storage","category-storage","tag-howto","tag-objectengine","tag-pure-storage-2","tag-s3"],"_links":{"self":[{"href":"https:\/\/www.penguinpunk.net\/blog\/wp-json\/wp\/v2\/posts\/8346","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.penguinpunk.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.penguinpunk.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.penguinpunk.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.penguinpunk.net\/blog\/wp-json\/wp\/v2\/comments?post=8346"}],"version-history":[{"count":2,"href":"https:\/\/www.penguinpunk.net\/blog\/wp-json\/wp\/v2\/posts\/8346\/revisions"}],"predecessor-version":[{"id":8355,"href":"https:\/\/www.penguinpunk.net\/blog\/wp-json\/wp\/v2\/posts\/8346\/revisions\/8355"}],"wp:attachment":[{"href":"https:\/\/www.penguinpunk.net\/blog\/wp-json\/wp\/v2\/media?parent=8346"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.penguinpunk.net\/blog\/wp-json\/wp\/v2\/categories?post=8346"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.penguinpunk.net\/blog\/wp-json\/wp\/v2\/tags?post=8346"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}