<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[Turbot Newsletter]]></title><description><![CDATA[Governance for the Cloud Age]]></description><link>https://newsletter.turbot.com</link><image><url>https://substackcdn.com/image/fetch/$s_!NYR_!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4106b2b5-7f30-46c8-93f5-af22aea4773c_300x300.png</url><title>Turbot Newsletter</title><link>https://newsletter.turbot.com</link></image><generator>Substack</generator><lastBuildDate>Thu, 09 Apr 2026 05:55:21 GMT</lastBuildDate><atom:link href="https://newsletter.turbot.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Turbot HQ]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[news@turbot.com]]></webMaster><itunes:owner><itunes:email><![CDATA[news@turbot.com]]></itunes:email><itunes:name><![CDATA[David Boeke]]></itunes:name></itunes:owner><itunes:author><![CDATA[David Boeke]]></itunes:author><googleplay:owner><![CDATA[news@turbot.com]]></googleplay:owner><googleplay:email><![CDATA[news@turbot.com]]></googleplay:email><googleplay:author><![CDATA[David Boeke]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[The Control Freak's guide to Zoom]]></title><description><![CDATA[Top 10 compliance and security controls for Zoom]]></description><link>https://newsletter.turbot.com/p/the-control-freaks-guide-to-zoom</link><guid isPermaLink="false">https://newsletter.turbot.com/p/the-control-freaks-guide-to-zoom</guid><dc:creator><![CDATA[David Boeke]]></dc:creator><pubDate>Fri, 11 Jun 2021 15:07:02 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!5g6J!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2d27a735-0369-46c0-85c7-d46fda1e0d08_1892x1200.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2>Zoom CIS Benchmark</h2><p>We have been doing a ton of operational work lately in order to achieve our <a href="https://turbot.com/blog/2021/02/soc2-type-1-certification/">SOC2 certification</a>. One of the things our team automated was compliance scans for various cloud service configurations. The Zoom CIS benchmark was especially challenging. We decided to open source it for others to leverage and build upon: <a href="https://hub.steampipe.io/mods/turbot/zoom_compliance">https://hub.steampipe.io/mods/turbot/zoom_compliance</a></p><p>You can run the scan from your local desktop using a recently released feature of <a href="https://steampipe.io/">Steampipe</a> called <strong><a href="https://steampipe.io/docs/reference/mod-resources">mods</a></strong>.  There are currently <a href="https://hub.steampipe.io/mods">compliance mods for AWS, Azure, GCP and Zoom</a> built by the open source Steampipe community.  The output of the mod looks like this:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!5g6J!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2d27a735-0369-46c0-85c7-d46fda1e0d08_1892x1200.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!5g6J!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2d27a735-0369-46c0-85c7-d46fda1e0d08_1892x1200.png 424w, https://substackcdn.com/image/fetch/$s_!5g6J!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2d27a735-0369-46c0-85c7-d46fda1e0d08_1892x1200.png 848w, https://substackcdn.com/image/fetch/$s_!5g6J!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2d27a735-0369-46c0-85c7-d46fda1e0d08_1892x1200.png 1272w, https://substackcdn.com/image/fetch/$s_!5g6J!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2d27a735-0369-46c0-85c7-d46fda1e0d08_1892x1200.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!5g6J!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2d27a735-0369-46c0-85c7-d46fda1e0d08_1892x1200.png" width="1456" height="923" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/2d27a735-0369-46c0-85c7-d46fda1e0d08_1892x1200.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:923,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Console output when running the Steampipe Zoom compliance mod.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Console output when running the Steampipe Zoom compliance mod." title="Console output when running the Steampipe Zoom compliance mod." srcset="https://substackcdn.com/image/fetch/$s_!5g6J!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2d27a735-0369-46c0-85c7-d46fda1e0d08_1892x1200.png 424w, https://substackcdn.com/image/fetch/$s_!5g6J!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2d27a735-0369-46c0-85c7-d46fda1e0d08_1892x1200.png 848w, https://substackcdn.com/image/fetch/$s_!5g6J!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2d27a735-0369-46c0-85c7-d46fda1e0d08_1892x1200.png 1272w, https://substackcdn.com/image/fetch/$s_!5g6J!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F2d27a735-0369-46c0-85c7-d46fda1e0d08_1892x1200.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Console output when running the Steampipe Zoom compliance mod.</figcaption></figure></div><p>The compliance mod includes the full CIS benchmark for Zoom (100+ automated checks). I thought it might be helpful to channel David Letterman and boil it down to the 10 most important controls that should be monitored, burt first a shameless plug:</p><p></p><blockquote><p>If you&#8217;re intrigued the idea of building automated governance controls using SQL, I will be doing a talk at the <a href="https://www.awsfest2021.com/">AWS Fest 2021</a> on June 22nd. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!xO7W!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3e233a9-4c08-4d51-8113-0ae608f04f6c_1200x628.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!xO7W!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3e233a9-4c08-4d51-8113-0ae608f04f6c_1200x628.png 424w, https://substackcdn.com/image/fetch/$s_!xO7W!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3e233a9-4c08-4d51-8113-0ae608f04f6c_1200x628.png 848w, https://substackcdn.com/image/fetch/$s_!xO7W!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3e233a9-4c08-4d51-8113-0ae608f04f6c_1200x628.png 1272w, https://substackcdn.com/image/fetch/$s_!xO7W!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3e233a9-4c08-4d51-8113-0ae608f04f6c_1200x628.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!xO7W!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3e233a9-4c08-4d51-8113-0ae608f04f6c_1200x628.png" width="546" height="285.74" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/b3e233a9-4c08-4d51-8113-0ae608f04f6c_1200x628.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:628,&quot;width&quot;:1200,&quot;resizeWidth&quot;:546,&quot;bytes&quot;:89036,&quot;alt&quot;:&quot;Banner Ad for AWS Fest 2021&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Banner Ad for AWS Fest 2021" title="Banner Ad for AWS Fest 2021" srcset="https://substackcdn.com/image/fetch/$s_!xO7W!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3e233a9-4c08-4d51-8113-0ae608f04f6c_1200x628.png 424w, https://substackcdn.com/image/fetch/$s_!xO7W!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3e233a9-4c08-4d51-8113-0ae608f04f6c_1200x628.png 848w, https://substackcdn.com/image/fetch/$s_!xO7W!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3e233a9-4c08-4d51-8113-0ae608f04f6c_1200x628.png 1272w, https://substackcdn.com/image/fetch/$s_!xO7W!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3e233a9-4c08-4d51-8113-0ae608f04f6c_1200x628.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Ops as Code: Going beyond CIS with custom controls</figcaption></figure></div><p>I will be discussing the pros and cons of industry benchmarks vs custom controls, and doing a demo and some live coding to show how easy it is to get started.</p></blockquote><p></p><h1>Top 10 Zoom Governance Controls</h1><p>One of the most important things to understand with Zoom is that meeting hosts have tremendous autonomy in managing meeting settings.  Many governance controls in Zoom simply change default settings, but allow host to override them.   For the settings in this list we recommend that you ensure the settings are &#8216;<strong>locked</strong>&#8217; in your organizations configuration so only administrators can change them.<br></p><h4><strong>1. Require use of passcodes and passwords</strong></h4><p>Ensure the organization's account settings require passcodes.</p><ul><li><p><strong>Require a passcode for personal meetings &#8212;&nbsp;</strong>A common exploit across conferencing platforms is the reuse of an individual's personal meeting. Requiring a passcode to join a personal meeting can reduce the likelihood of 3rd party reuse.<br></p></li><li><p><strong>Require password for participants joining by phone &#8212;&nbsp;</strong>To prevent unauthorized third parties from joining scheduled meetings via phone, this setting will require meeting attendees that join by phone to authenticate with a personal passcode.<br></p></li><li><p><strong>Require passcode to access shared cloud recordings &#8212;&nbsp;</strong>If you allow hosts to share cloud recordings of their meetings, use this setting to require a password to view/download the recording.</p><p></p></li></ul><h4><strong>2. Ensure adequate passcode &amp; password complexity</strong></h4><p>There are multiple use cases within Zoom for usage of passcode/password secrets. Each has independent settings for ensuring appropriate complexity rules. </p><ul><li><p><strong>Meeting passcodes: &#8212; </strong>Meeting passcodes are distinct from user passwords, they are a shared secret that indicates the user has been invited to a specific meeting. This key control prevents unwanted attendees from guessing meeting IDs and entering meetings they weren't invited to (a.k.a. <a href="https://en.wikipedia.org/wiki/Zoombombing">Zoom bombing</a>). </p><p>Given that passcodes frequently show up in meeting invites, and that calendars are often visible/shared within an organization, we recommend that complexity factors be set high to encourage use of random meeting passcodes and prevent use of a meaningful pass phrases that might be a used in a password reuse attack.<br></p></li><li><p><strong>Recording download passcodes &#8212; </strong>If your organization allows sharing of cloud hosted meeting recordings, those downloads should be secured by a complex random password.<br></p></li><li><p><strong>User passwords &#8212; </strong>Most organizations will want to enforce single sign-on for Zoom users. With single sign-on enabled, the only users with passwords should be break-glass users and administrators with elevated access. Ensure that your user password complexity factors meets your organizations requirement for administrative secrets. </p></li></ul><p></p><h4><strong>3. Ensure only authenticated users can join meetings</strong></h4><p>Ensure meeting hosts are not able to create publicly accessible meetings.<br></p><h4><strong>4. Enforce use of waiting rooms</strong></h4><p>Waiting rooms give hosts the ability to screen users before allowing them into a meeting. This setting can prevent unintended sharing of sensitive information (e.g. an unexpected user entering the meeting while sensitive content is being shared).</p><h4><br><strong>5. Prevent content sharing</strong></h4><p>Prevent exfiltration of sensitive information by limiting how hosts and users can share content.</p><ul><li><p><strong>Ensure screen capture of messaging is set to disabled &#8212;&nbsp;</strong>Check that settings prevent users from taking screenshots of direct messages or group conversations.<br></p></li><li><p><strong>Display "Zoom Meeting" in place of meeting subject &#8212;&nbsp;</strong>Hosts can inadvertently disclose private information in a meeting title (e.g. A patient's name in a health care setting or an acquisition target as part of a M&amp;A). This setting replaces the meeting title with "Zoom Meeting" so the actual meeting title isn't visble to anyone looking over the shoulder of an attendee (think of a crowded Starbucks).<br></p></li><li><p><strong>Closed captioning: Ensure save captions is set to disabled &#8212;&nbsp;</strong>Zoom has a closed captioning feature which is likely enabled (and important) for users with hearing impairment. This setting prevents the resulting "transcript" from being saved which could be both a way to exfiltrate data and a potential legal discovery issue for the organization.</p></li></ul><h4><br><strong>6. Enable watermarking features</strong></h4><p>Zoom&#8217;s watermarking features add "invisible" digital data to images, video and audio within Zoom that can be used in an investigation to identify a user who inappropriately shared private or sensitive information outside your organization.<br></p><h4><strong>7. Add timestamps to recordings</strong></h4><p>Ensures that timestamps are added to recordings to help with forensic investigation of any security/data loss incidents.<br></p><h4><strong>8. Ensure only local regions are enabled</strong></h4><p>Many organizations have data sovereignty requirements that require that company information and PII of customers and employees do not leave specific regions. Check these settings to ensure that only specific local regions are used when hosting your Zoom meetings.</p><p></p><h4><strong>9. Notify host when a meeting is scheduled </strong></h4><p>If someone were to compromise a host account, this setting would at least ensure that the host will be notified if an unauthorized 3rd party scheduled a meeting using their account.</p><h4><br><strong>10. Ensure only approved integrations are enabled</strong></h4><p>Ensure that the organization specifically reviews and approves any available 3rd party integrations before allowing them to be activated by Zoom users.</p><p></p><h3>References:</h3><ul><li><p><a href="https://hub.steampipe.io/mods/turbot/zoom_compliance">Steampipe Zoom Compliance Mod</a> &#8212; Turbot</p></li><li><p><a href="https://www.cisecurity.org/benchmark/zoom/">CIS Benchmark for Zoom</a> &#8212; CIS</p></li><li><p><a href="https://zoom.us/docs/doc/Securing%20Your%20Zoom%20Meetings.pdf">Best Practices for Securing Your Zoom Meetings</a> &#8212; Zoom</p></li><li><p><a href="https://it.cornell.edu/zoom/zoom-security-features-reduce-odds-zoombombing">Zoom Security Features</a> &#8212; Cornell IT</p></li></ul><p></p><p></p><p></p><p></p>]]></content:encoded></item><item><title><![CDATA[select * from cloud;]]></title><description><![CDATA[Use SQL to query AWS, Azure, GCP, etc. with Steampipe, a new open source project from Turbot.]]></description><link>https://newsletter.turbot.com/p/steampipe</link><guid isPermaLink="false">https://newsletter.turbot.com/p/steampipe</guid><dc:creator><![CDATA[David Boeke]]></dc:creator><pubDate>Thu, 04 Feb 2021 19:26:40 GMT</pubDate><enclosure url="https://cdn.substack.com/image/fetch/h_600,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6dd7ec2-d48c-427e-bc76-f9ffb1d5206f_1560x1040.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!SSc6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa600ec5b-dbdc-4bcf-88a8-54086d7b2614_1032x724.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!SSc6!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa600ec5b-dbdc-4bcf-88a8-54086d7b2614_1032x724.gif 424w, https://substackcdn.com/image/fetch/$s_!SSc6!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa600ec5b-dbdc-4bcf-88a8-54086d7b2614_1032x724.gif 848w, https://substackcdn.com/image/fetch/$s_!SSc6!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa600ec5b-dbdc-4bcf-88a8-54086d7b2614_1032x724.gif 1272w, https://substackcdn.com/image/fetch/$s_!SSc6!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa600ec5b-dbdc-4bcf-88a8-54086d7b2614_1032x724.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!SSc6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa600ec5b-dbdc-4bcf-88a8-54086d7b2614_1032x724.gif" width="1032" height="724" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/a600ec5b-dbdc-4bcf-88a8-54086d7b2614_1032x724.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:724,&quot;width&quot;:1032,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:345717,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/gif&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!SSc6!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa600ec5b-dbdc-4bcf-88a8-54086d7b2614_1032x724.gif 424w, https://substackcdn.com/image/fetch/$s_!SSc6!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa600ec5b-dbdc-4bcf-88a8-54086d7b2614_1032x724.gif 848w, https://substackcdn.com/image/fetch/$s_!SSc6!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa600ec5b-dbdc-4bcf-88a8-54086d7b2614_1032x724.gif 1272w, https://substackcdn.com/image/fetch/$s_!SSc6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa600ec5b-dbdc-4bcf-88a8-54086d7b2614_1032x724.gif 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">The Steampipe CLI in Action</figcaption></figure></div><p></p><h3><strong><a href="https://steampipe.io">Steampipe, a new open-source tool from Turbot</a> allows you to ask interesting questions of your cloud, one query at time.</strong></h3><p></p><p>Which users have MFA enabled right now?</p><pre><code> 
 select 
   user_id, 
   name,
   mfa_enabled
 from 
   github_repo_user;
                  </code></pre><p></p><p>What security groups are open to the world?</p><pre><code>
 select 
   group_name,
   group_id
 from
   aws_vpc_security_group_rule 
 where 
   type = 'ingress'
   and cidr_ip = '0.0.0.0/0';
  </code></pre><p></p><p>Which resources aren't tagged correctly?</p><pre><code>
 select 
   id,
   name
 from
   azure_compute_image
 where
   tags -&gt; 'owner' is null or
   tags -&gt; 'app_id' is null;
 </code></pre><p></p><p>What storage volumes are not in use?</p><pre><code>
 select 
   volume_id,
   volume_type
 from 
   aws_ebs_volume
 where
   attachments is null;
  </code></pre><p></p><p>What IAM Users have inline policies attached?</p><pre><code>
  select
    user_id,
    name
  from
    aws_iam_user
  where 
    inline_policies is not null;
 </code></pre><p></p><h3>Built for Cloud Professionals</h3><p>At Turbot many of our day-to-day tasks require us to work with cloud resource metadata, sometimes as a basis for a search or filter, but also to combine with or enrich other data sources.</p><p>The existing tools we used to answer these questions were a hodgepodge of web-based consoles, CLIs, APIs, and SDKs, cobbled together with custom python or bash scripts. None of which has any level of consistency across clouds or even in a single cloud.</p><p>We needed better tooling to get our own cloud work done, so we built something to scratch that itch&#8230;  and from the very first query it blew our minds.  There is something very satisfying about seeing your cloud resources act like the database we always knew they were; it feels like a magic trick.  Once we had it in our hands we were sure that we wanted to share it with the world, and the <a href="https://github.com/turbot/steampipe">Steampipe open source</a> project was born.</p><p></p><h3>How does it work?</h3><p>One of the goals of Steampipe was to make the first experience with it as simple as possible; we wanted zero barriers for people to download and run their first query. A lot of engineering went into how to elegantly install the dependencies and provide a first class interface to current and future plugins. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!B2qO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fabc1bb70-cc35-4a6d-8e9c-f14ed2b8ae2b_1754x1666.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!B2qO!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fabc1bb70-cc35-4a6d-8e9c-f14ed2b8ae2b_1754x1666.png 424w, https://substackcdn.com/image/fetch/$s_!B2qO!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fabc1bb70-cc35-4a6d-8e9c-f14ed2b8ae2b_1754x1666.png 848w, https://substackcdn.com/image/fetch/$s_!B2qO!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fabc1bb70-cc35-4a6d-8e9c-f14ed2b8ae2b_1754x1666.png 1272w, https://substackcdn.com/image/fetch/$s_!B2qO!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fabc1bb70-cc35-4a6d-8e9c-f14ed2b8ae2b_1754x1666.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!B2qO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fabc1bb70-cc35-4a6d-8e9c-f14ed2b8ae2b_1754x1666.png" width="1456" height="1383" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/abc1bb70-cc35-4a6d-8e9c-f14ed2b8ae2b_1754x1666.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1383,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!B2qO!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fabc1bb70-cc35-4a6d-8e9c-f14ed2b8ae2b_1754x1666.png 424w, https://substackcdn.com/image/fetch/$s_!B2qO!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fabc1bb70-cc35-4a6d-8e9c-f14ed2b8ae2b_1754x1666.png 848w, https://substackcdn.com/image/fetch/$s_!B2qO!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fabc1bb70-cc35-4a6d-8e9c-f14ed2b8ae2b_1754x1666.png 1272w, https://substackcdn.com/image/fetch/$s_!B2qO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fabc1bb70-cc35-4a6d-8e9c-f14ed2b8ae2b_1754x1666.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The simplicity of the user experience masks the complexity and depth of the architecture. Underlying Steampipe are three distinct software components: a CLI executable, plugin modules and a lightweight PostgreSQL background service. Data is not persisted in Postgres, instead Steampipe uses the PostgreSQL Foreign Data Wrapper to present external data as database tables.  The foreign data wrapper does not directly interface with external systems, but instead relies on plugins to return data in a standard format. This approach simplifies the work needed to extend Steampipe, because PostgreSQL specific logic is encapsulated in the foreign data wrapper, while API and service-specific code resides only in the plugin.</p><p></p><h3>Where do we go from here?</h3><p>One of the fun things that happens when you use Steampipe every day, is that you start to wish that everything was SQL enabled. <br></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!EGB3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6dd7ec2-d48c-427e-bc76-f9ffb1d5206f_1560x1040.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!EGB3!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6dd7ec2-d48c-427e-bc76-f9ffb1d5206f_1560x1040.jpeg 424w, https://substackcdn.com/image/fetch/$s_!EGB3!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6dd7ec2-d48c-427e-bc76-f9ffb1d5206f_1560x1040.jpeg 848w, https://substackcdn.com/image/fetch/$s_!EGB3!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6dd7ec2-d48c-427e-bc76-f9ffb1d5206f_1560x1040.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!EGB3!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6dd7ec2-d48c-427e-bc76-f9ffb1d5206f_1560x1040.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!EGB3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6dd7ec2-d48c-427e-bc76-f9ffb1d5206f_1560x1040.jpeg" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/c6dd7ec2-d48c-427e-bc76-f9ffb1d5206f_1560x1040.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:91273,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!EGB3!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6dd7ec2-d48c-427e-bc76-f9ffb1d5206f_1560x1040.jpeg 424w, https://substackcdn.com/image/fetch/$s_!EGB3!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6dd7ec2-d48c-427e-bc76-f9ffb1d5206f_1560x1040.jpeg 848w, https://substackcdn.com/image/fetch/$s_!EGB3!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6dd7ec2-d48c-427e-bc76-f9ffb1d5206f_1560x1040.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!EGB3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6dd7ec2-d48c-427e-bc76-f9ffb1d5206f_1560x1040.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">#rowscoloredglasses</figcaption></figure></div><p>Memes aside, we are finding that we do love using Steampipe to answer real world questions outside of the public cloud space, and those ideas are making their way into the product too. For example, our customer success group was struggling to produce simple aging reports from our Zendesk platform using the built-in reporting tools.</p><p>Today, we have an automated job that runs a query against Zendesk using Steampipe and posts it to Slack every morning; It sets the focus for the day for the entire team.</p><pre><code>
  select
    date_part('day', now() - t.created_at) as age,
    t.id,
    t.status,
    u.name as agent,
    o.name as organization,
  from
    zendesk_ticket as t,
    zendesk_user as u,
    zendesk_organization as o
  where
    t.assignee_id = u.id
  and
    t.organization_id = o.id
  and
    t.status in ('open', 'pending', 'hold');

  +-----+-----+---------+----------+------------------+
  | AGE | ID  | STATUS  | AGENT    | ORGANIZATION     |
  +-----+-----+---------+----------+------------------+
  | 43  | 373 | hold    | KKapoor  | Haymont Tires    | 
  | 41  | 374 | hold    | JHalpert | Tract Industries | 
  | 40  | 375 | hold    | KKapoor  | Dunmore HS       |
  | 22  | 376 | hold    | KKapoor  | East PA Seminary |
  | 14  | 418 | pending | JHalpert | Capital One      |
  | 5   | 435 | pending | DSchrute | Mr. Rammel       |
  | 2   | 437 | pending | JHalpert | Steamtown Mall   |
  | 0   | 439 | open    | SHudson  | Stone &amp; Son Suit |
  | 0   | 440 | hold    | JHalpert | Larry Meyers     |
  | 0   | 441 | pending | Sudson   | Blue Cross       |
  +-----+-----+---------+----------+------------------+
 </code></pre><p>As I write this, only 2 weeks after launch, there are 11 plugins with ~200 tables published to the Steampipe Hub:  https://hub.steampipe.io, including AWS, Azure, GCP, Slack, Zendesk, Github and most recently Digital Ocean.  We fully intend to keep expanding the coverage, scratching any itches we find, but we are even more excited to see where the open source community takes the project and what APIs they connect Steampipe to.</p><p></p><h3>Bonus: Get started today and get some free swag!</h3><p>That&#8217;s right, take 2 minutes out of your day to <a href="https://steampipe.io/downloads">install Steampipe</a> and when you run your first query let us know about it!  Tweet your first query to <a href="https://twitter.com/turbothq">@turbothq</a>, or head over to the <a href="https://github.com/turbot/steampipe/discussions/categories/first-query">Steampipe message boards</a>, and post some feedback there on your &#8220;First Query&#8221;  (Can you tell we are excited about this?) So excited in fact, that we will handsomely <strong>reward everyone that posts #firstquery in February with Turbot and Steampipe laptop sticker swag</strong>!</p><p></p><h3>Getting Started Resources</h3><ul><li><p>Steampipe Homepage: <strong><a href="https://steampipe.io">https://steampipe.io</a></strong></p></li><li><p>Download/Install Guide: <strong><a href="https://steampipe.io/downloads">https://steampipe.io/downloads</a></strong></p></li><li><p>Documentation: <strong><a href="https://steampipe.io/docs">https://steampipe.io/docs</a></strong></p></li><li><p>Open Source Repo: <strong><a href="https://github.com/turbot/steampipe">https://github.com/turbot/steampipe</a></strong></p></li><li><p>Discussion Board: <strong><a href="https://github.com/turbot/steampipe/discussions">https://github.com/turbot/steampipe/discussions</a></strong></p></li><li><p>Plugin Registry: <strong><a href="https://hub.steampipe.io">https://hub.steampipe.io</a></strong></p></li></ul><p></p><p></p><p></p><p></p><p></p><p></p>]]></content:encoded></item><item><title><![CDATA[Will 2021 be the year of governance?]]></title><description><![CDATA[Perspective on 2021 cloud trends]]></description><link>https://newsletter.turbot.com/p/will-2021-be-the-year-of-governance</link><guid isPermaLink="false">https://newsletter.turbot.com/p/will-2021-be-the-year-of-governance</guid><dc:creator><![CDATA[David Boeke]]></dc:creator><pubDate>Fri, 18 Dec 2020 20:15:04 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!xdzc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb093e8c-94d1-4e96-b45c-c897e9a82860_1270x546.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Year-end is a great time to connect with customers and get a feel for what their priorities are moving into the next calendar year. The common trends emerging from those conversations clearly paints a picture of large enterprises stepping-up to the next level of the cloud maturity model. </p><p>I see big shifts into optimization (e.g. focus on improving cost, visibility and manageability) of the cloud ecosystem, specialization of cloud roles, and an emerging challenge between the &#8220;best-of-breed&#8221; and &#8220;standardization&#8221; religions.</p><p><strong>Don&#8217;t lament that our green fields have turned brown&#8230;</strong></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!xdzc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb093e8c-94d1-4e96-b45c-c897e9a82860_1270x546.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!xdzc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb093e8c-94d1-4e96-b45c-c897e9a82860_1270x546.jpeg 424w, https://substackcdn.com/image/fetch/$s_!xdzc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb093e8c-94d1-4e96-b45c-c897e9a82860_1270x546.jpeg 848w, https://substackcdn.com/image/fetch/$s_!xdzc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb093e8c-94d1-4e96-b45c-c897e9a82860_1270x546.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!xdzc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb093e8c-94d1-4e96-b45c-c897e9a82860_1270x546.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!xdzc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb093e8c-94d1-4e96-b45c-c897e9a82860_1270x546.jpeg" width="1270" height="546" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/db093e8c-94d1-4e96-b45c-c897e9a82860_1270x546.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:546,&quot;width&quot;:1270,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:134074,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!xdzc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb093e8c-94d1-4e96-b45c-c897e9a82860_1270x546.jpeg 424w, https://substackcdn.com/image/fetch/$s_!xdzc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb093e8c-94d1-4e96-b45c-c897e9a82860_1270x546.jpeg 848w, https://substackcdn.com/image/fetch/$s_!xdzc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb093e8c-94d1-4e96-b45c-c897e9a82860_1270x546.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!xdzc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb093e8c-94d1-4e96-b45c-c897e9a82860_1270x546.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>As the cutting-edge technology adopters have moved on to the next hype cycle it is now the governance professionals time to shine.&nbsp; There is a giant sea of usage: multiple clouds, dozens of services and hundreds of accounts ready for optimization! One customer told me that they committed to 10% cost savings for their 2021 cost-savings goal, but actually plan on delivering 10% each quarter (&gt; 35% for the year) because it is such a target rich environment.</p><p>Even AWS is on the bandwagon. The headliners of this years&#8217; <a href="https://aws.amazon.com/about-aws/whats-new/2020/">re:Invent announcements</a> were solid improvements to cost, manageability and usability of existing services; maybe that is not as exciting as someone <a href="https://twitter.com/turbothq/status/1333201712958541827?s=20">driving a semi-trailer on stage</a>, but you can&#8217;t argue that getting more polished services at a lower cost will put a smile on customer faces.&nbsp; Before leaving on holiday, I suggest spending a day or two to analyze the changes that have the potential for biggest impact on your cloud ecosystem and putting a plan in place to test and implement them in Q1.&nbsp; For example, I found three key areas of cost improvement for Turbot (both SaaS and Enterprise across v3 to v5).</p><ol><li><p>New <a href="https://bit.ly/3aldBOh">gp3 volume types</a> are 10-20% savers for every gp2 workload and many high IOPS use-cases too.</p></li><li><p>New <a href="https://bit.ly/34qCQLi">Amazon S3 Bucket Keys</a> will end up saving us thousands in KMS charges. </p></li><li><p>The change from 100ms to 1ms billing granularity for AWS Lambda is saving us so much <a href="https://twitter.com/turbothq/status/1336329022398103557">more than we expected</a> based on our numbers:</p><p>Turbot uses a ton of AWS Lambda to run governance guardrails at massive scale across AWS, GCP &amp; Azure. In just one of our dev environments, we have 2,000+ event driven Lambda functions that are invoked &gt;42M times/month.</p><p>Our Lambda functions have an average duration of 600ms with a floor of 0.35ms and long tail out to several seconds, because the wide distribution we initially assumed an average savings of ~50ms per invocation or about 10% of our monthly bill. However, our actual billed usage is more interesting.</p><p>We see that the change was implemented on Dec 2 and our Lambda billed usage went from an average of $32.33/day all the way down to $6.73/day (savings of 79%). Clearly, a large number of very short function invocations (&lt;50ms) were spiking our costs.</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!B0sB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc9cd4ac-3d3d-4da1-9d3e-35616d462231_1640x1042.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!B0sB!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc9cd4ac-3d3d-4da1-9d3e-35616d462231_1640x1042.png 424w, https://substackcdn.com/image/fetch/$s_!B0sB!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc9cd4ac-3d3d-4da1-9d3e-35616d462231_1640x1042.png 848w, https://substackcdn.com/image/fetch/$s_!B0sB!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc9cd4ac-3d3d-4da1-9d3e-35616d462231_1640x1042.png 1272w, https://substackcdn.com/image/fetch/$s_!B0sB!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc9cd4ac-3d3d-4da1-9d3e-35616d462231_1640x1042.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!B0sB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc9cd4ac-3d3d-4da1-9d3e-35616d462231_1640x1042.png" width="625" height="397.0638736263736" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/bc9cd4ac-3d3d-4da1-9d3e-35616d462231_1640x1042.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:925,&quot;width&quot;:1456,&quot;resizeWidth&quot;:625,&quot;bytes&quot;:100900,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!B0sB!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc9cd4ac-3d3d-4da1-9d3e-35616d462231_1640x1042.png 424w, https://substackcdn.com/image/fetch/$s_!B0sB!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc9cd4ac-3d3d-4da1-9d3e-35616d462231_1640x1042.png 848w, https://substackcdn.com/image/fetch/$s_!B0sB!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc9cd4ac-3d3d-4da1-9d3e-35616d462231_1640x1042.png 1272w, https://substackcdn.com/image/fetch/$s_!B0sB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc9cd4ac-3d3d-4da1-9d3e-35616d462231_1640x1042.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>It is gems like these that will have your management team and finance team finally understanding the true cost savings and optimization opportunities you cloud strategy promised when it was fresh.</p><p><strong>The rise of specialization&#8230;</strong></p><p>It is abundantly clear to our customers that the days of being the &#8220;Cloud Guy&#8221; are over.&nbsp; The service landscape from the cloud providers is too broad for one person (or team) to be expert across everything.&nbsp; Amazon RDS has much more in common with Azure SQL and GCP Cloud SQL than it does with EC2 or S3, so does it makes sense to have specialists in cloud database technologies?&nbsp; Our customers think so, and the same holds true for other specialties as well.&nbsp; We see teams organizing around core service capabilities in 2021 and beyond. Key areas of emerging specialization:</p><ul><li><p><strong>Identity</strong> (separate from security): specialists in IAM focus on automation and integration with enterprise identity. Building processes to enforce segregation of duties, least privilege and periodic review of access.</p></li><li><p><strong>Cloud finance/cost optimization</strong>: focused on billing dashboards, cost allocation and coordinating organization efforts to optimize spend.</p></li><li><p><strong>Storage</strong>: Data retention, resiliency tiers, backups, archive, with multiple services across multiple clouds&#8230; this is a really deep area.</p></li><li><p><strong>Database</strong>: It&#8217;s clear from <a href="https://www.cnn.com/2020/09/16/investing/snowflake-ipo/index.html">Snowflake&#8217;s IPO</a> that enterprise customers have a never-ending appetite for database technologies.&nbsp; In the past you might have had technology specific DB teams, but we see the specialization here across cloud-based database technologies (helping teams pick the right tools for the application pattern.)</p></li><li><p><strong>Networking</strong>:&nbsp; I think 2021 will be the year of NetDevOps&#8230;&nbsp; We are seeing the simultaneous elimination of data center networks and the change in focus here from inbound network segregation/security to how to I protect from data leaving my network.</p></li></ul><p><strong>&#8230;and the coming war of standardization</strong></p><p>As we specialize, we need more people in those roles and headcount is difficult to justify. This will lead some to try and make the case that they need to support fewer technologies. The basic thinking here is &#8220;if I standardize on a fewer number of technologies than I need fewer people to manage them&#8221;.&nbsp; It is a logical argument, easy to rally people around and easy explain to management, but ultimately it reduces IT agility.&nbsp; This is a mistake; reducing IT agility will have a direct and measurable impact to business agility as well.</p><p>We see leading organizations using the following strategies to avoid the pain of the standardization pendulum:</p><ol><li><p><strong>Justify headcount with cost savings</strong>.&nbsp; A huge part of the &#8220;experts&#8221; job should be in assessing what is being used to optimize spend. A good rubric to know if an area is worthy of justifying a specialist head &#8220;is the spending in this space at least 4x the cost of the specialist?&#8221;</p></li><li><p><strong>Generalize the specialist</strong>.&nbsp; Having a cloud technology specialist that works across products in the same family makes more sense than specializing on specific service offerings (e.g. I would rather have a Cloud-Database Architect than an RDS Manager).</p></li><li><p><strong>Proactively communicate your wins</strong>.&nbsp; Cloud is moving fast; you need to highlight that pace of innovation and what your team is delivering on. Show you are in control (and accelerating) by ensuring that you have a steady stream of technology and business wins to share every two weeks. By keeping initiatives small (two-week sprints) you will have 20+ wins in 2021 across every service team, while keeping morale and productivity high.</p></li></ol><p>What are your focus areas for 2021?&nbsp; We would love to hear from you and include some of your insights in an upcoming case-study.&nbsp; If you are new to the Turbot newsletter and like this type of content please consider subscribing and sharing with colleagues.</p>]]></content:encoded></item><item><title><![CDATA[I'm a control freak]]></title><description><![CDATA[A rant on preventative controls (necessary but not sufficient)]]></description><link>https://newsletter.turbot.com/p/im-a-control-freak</link><guid isPermaLink="false">https://newsletter.turbot.com/p/im-a-control-freak</guid><dc:creator><![CDATA[David Boeke]]></dc:creator><pubDate>Thu, 05 Nov 2020 18:01:46 GMT</pubDate><enclosure url="https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/e600e407-2f51-425e-8df6-9f5e50720570_2048x1195.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h4><strong>Turbot CTO Newsletter: October 2020</strong></h4><p>In American football, the <a href="https://en.wikipedia.org/wiki/Prevent_defense">prevent defense</a> is a type of defensive play called when a team is leading in the game with very little time remaining. The core idea is to allow the opponent to execute short plays and focus all energy on preventing a very long scoring play. John Madden famously chided teams that used the strategy with this zinger: &#8220;All a <strong>prevent defense</strong> does is <strong>prevent you from winning</strong>."</p><p>Similarly, I believe that the current trend of cloud operations &amp; security teams relying heavily on preventative controls for cloud governance will ultimately undermine the organizations business objectives and create new risks for the organization; but before I get started defending that statement, lets quickly get people up to speed with a couple of definitions.</p><div><hr></div><p><strong>Business Objective</strong>: A business objective is a (hopefully measurable) positive result that an organization hopes to achieve through execution of a business strategy.</p><p>To achieve those business objectives every organization needs to manage risk, and as it pertains to public cloud governance the risks typically fall into one of a few key categories:</p><ul><li><p>Reliability and availability of systems</p></li><li><p>Effectiveness and efficiency of operations</p></li><li><p>Compliance with internal processes, laws and regulations.</p></li><li><p>Protection of data and systems from internal and external threats.</p></li></ul><p><strong>Control objective</strong>: A control objective is a (hopefully measurable) statement that describes a desired outcome for the organization as it pertains to managing or mitigating risk, and we achieve that objective by implementing one or more controls. Types of controls:</p><p><strong>Preventative controls</strong>: Mechanisms that are designed to keep undesirable events from occurring.</p><p><strong>Detective controls</strong>: Mechanisms that are designed to find and raise awareness of undesirable events.</p><p><strong>Corrective controls</strong>: Mechanisms designed to compensate for and reduce risk when an undesirable event occurs. Side note: By definition, this implies that a detective control was in place and effective as well.</p><div><hr></div><p>With the advent of <a href="https://aws.amazon.com/blogs/aws/aws-organizations-policy-based-management-for-multiple-aws-accounts/">new shiny tools</a> in the last few years, it is becoming increasing common for me to see an organization&#8217;s entire governance control framework designed around preventative controls. Frequently to the extent that it makes it difficult to actually apply detective and corrective controls to their environment. This often leads to slower cloud adoption, developer dissatisfaction with IT and an overall reduction in the business benefits organizations were seeking when executing a cloud strategy. Cloud advocates inside organizations need to raise the alarm early on the pitfalls of this approach, hopefully I can give you some talking points to create awareness within your organization.</p><p><strong>Green field vs. Brown field</strong></p><p>By the time that compliance, security and IT organizations get around to implementing governance controls there will already be a significant footprint of applications in your public cloud. Preventative controls cause headaches because they will often be closing the barn door after the horses have got out. The early adopters of cloud in your organization are critical allies to have in building out your governance strategy, so implementing a framework that ignores them completely, or blocks them from executing is not viable.</p><p><strong>Exception Management</strong></p><p>A hard-fought lesson for many enterprise IT groups is that one size does not fit all. Your marketing organization&#8217;s public websites, your R&amp;D organization&#8217;s data lake and legacy data center migration workloads need completely different governance controls. Teams that start with a single &#8220;best-practice&#8221; preventative controls for their whole organization/tenant structure will spend 10x as long tweaking and relaxing those policies as they come in contact with the real-world use cases. The time spent doing that and the back and forth between the app teams and cloud team is non-value added work, that slows organization velocity.</p><p><strong>Who&#8217;s watching the watchers</strong></p><p>Someone in your organization (or contracted to your org) is writing and implementing those preventative controls. Too often I see a very small group or even a single individual that has visibility, technical understanding, and access to change those controls. What happens if they are targeted and compromised by bad actors or just make a mistake?</p><p>Even if you are not worried about insider threats, <a href="https://www.securitymagazine.com/articles/91083-insider-threats-are-biggest-danger-to-data-security">your auditors will be</a>. In our experience organizations completely underestimate the time and resources required to implement elevated access controls and to make changes to your control framework when your organization relies primarily on preventative controls for cloud governance.</p><p><strong>Friction with your business teams</strong></p><p>Preventative controls (by their very nature) cause friction in someone&#8217;s workflow. Many implementations of preventative controls just blatantly deny users from taking an action with no explanation given.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!VS75!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F388a9f66-e65f-4159-863f-171a561f7ba0_1600x900.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!VS75!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F388a9f66-e65f-4159-863f-171a561f7ba0_1600x900.png 424w, https://substackcdn.com/image/fetch/$s_!VS75!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F388a9f66-e65f-4159-863f-171a561f7ba0_1600x900.png 848w, https://substackcdn.com/image/fetch/$s_!VS75!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F388a9f66-e65f-4159-863f-171a561f7ba0_1600x900.png 1272w, https://substackcdn.com/image/fetch/$s_!VS75!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F388a9f66-e65f-4159-863f-171a561f7ba0_1600x900.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!VS75!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F388a9f66-e65f-4159-863f-171a561f7ba0_1600x900.png" width="493" height="277.3125" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/388a9f66-e65f-4159-863f-171a561f7ba0_1600x900.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:493,&quot;bytes&quot;:233682,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!VS75!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F388a9f66-e65f-4159-863f-171a561f7ba0_1600x900.png 424w, https://substackcdn.com/image/fetch/$s_!VS75!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F388a9f66-e65f-4159-863f-171a561f7ba0_1600x900.png 848w, https://substackcdn.com/image/fetch/$s_!VS75!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F388a9f66-e65f-4159-863f-171a561f7ba0_1600x900.png 1272w, https://substackcdn.com/image/fetch/$s_!VS75!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F388a9f66-e65f-4159-863f-171a561f7ba0_1600x900.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>This can often lead to an unexpected consequence that undermines the concept of &#8220;least privilege&#8221;. When confronted with an error message developers and data scientists will grant higher and higher levels of privilege to their users and services accounts to work around the access denied block. When it is finally discovered that it was a preventative control causing the blockage, how many teams will have the discipline to go back and remove the expanded privileges?</p><p>This friction impacts your development teams and data scientists, with upstream impacts to the projects they are working on. Your organization is competing to attract and retain these highly paid professionals, if their productivity is impacted you will see measurable reductions in the organizations business agility. A recent McKinsey <a href="https://www.mckinsey.com/business-functions/organization/our-insights/enterprise-agility-buzz-or-business-impact#">study</a> found that organizations that were leading with regard to enterprise agility also had better business outcomes:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!eCIq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1cf6144c-1c35-44b7-9263-e0fbc22b1947_2104x1212.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!eCIq!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1cf6144c-1c35-44b7-9263-e0fbc22b1947_2104x1212.png 424w, https://substackcdn.com/image/fetch/$s_!eCIq!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1cf6144c-1c35-44b7-9263-e0fbc22b1947_2104x1212.png 848w, https://substackcdn.com/image/fetch/$s_!eCIq!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1cf6144c-1c35-44b7-9263-e0fbc22b1947_2104x1212.png 1272w, https://substackcdn.com/image/fetch/$s_!eCIq!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1cf6144c-1c35-44b7-9263-e0fbc22b1947_2104x1212.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!eCIq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1cf6144c-1c35-44b7-9263-e0fbc22b1947_2104x1212.png" width="511" height="294.4567307692308" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/1cf6144c-1c35-44b7-9263-e0fbc22b1947_2104x1212.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:839,&quot;width&quot;:1456,&quot;resizeWidth&quot;:511,&quot;bytes&quot;:164301,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!eCIq!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1cf6144c-1c35-44b7-9263-e0fbc22b1947_2104x1212.png 424w, https://substackcdn.com/image/fetch/$s_!eCIq!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1cf6144c-1c35-44b7-9263-e0fbc22b1947_2104x1212.png 848w, https://substackcdn.com/image/fetch/$s_!eCIq!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1cf6144c-1c35-44b7-9263-e0fbc22b1947_2104x1212.png 1272w, https://substackcdn.com/image/fetch/$s_!eCIq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1cf6144c-1c35-44b7-9263-e0fbc22b1947_2104x1212.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>What is the leading practice?</strong></p><p>One approach does not fit all. I will avoid falling into the trap of saying there is one way to solve these problems for all organizations. The approach will need to change based on your industry, your organizations culture and where you are starting from, but I think these key tenants of implementing a cloud governance strategy are broadly applicable and can serve as a template to start from:</p><p>1. <strong>Visibility and observability are mandatory</strong>. Every cloud resource that has the potential to be misconfigured needs to be cataloged in a <a href="https://bit.ly/3jEXjkd">cloud-scale CMDB</a> and changes to that resource tracked over time. This should be solved before you put a single control in place.</p><p>2. <strong>Define a list of services that are acceptable for use</strong> in your cloud(s), and a process for evaluating and approving new services as they become available.</p><p>3. <strong>Define a data classification strategy</strong>. Many controls need to behave differently, based on the classification of data they interact with (e.g. PII, Confidential, etc.). If you don&#8217;t already have a robust data classification strategy, go build one.</p><p>4. <strong>Document control objectives for each service</strong>. You should have a short list of control objectives for each approved service. (e.g. public access, encryption, <a href="https://bit.ly/34H6yMF">tagging</a>, etc.).</p><p>5. <strong>Implement detective controls </strong>for existing and new environments. Your detective controls should be effective in identifying any resource in the CMDB that is not meeting your control objectives. Query your environment and test that your control logic can correctly identify non-adherence and misconfiguration scenarios. Automating this testing now will pay dividends for years to come.</p><p>6. <strong>Notify and teach. </strong>Implement a process for detective controls to trigger a notification to application teams, with the details of the control violation and documentation on how to resolve the issue (or request an exception).</p><p>7. <strong>Exception process. </strong>Implement a process to assess and approve exceptions to controls. Resources with approved exceptions should be flagged in the CMDB to prevent additional alarms from being created on that resource during the time period of the approved exception.</p><p>8. <strong>Green means go.</strong> Governance approval for production release should be tied to proof that the pre-production environment (e.g. dev, test, qa, validation, etc.) is 100% green across all controls. This means that they are either meeting the control or have an approved exception in place.</p><p>9. <strong>Implement automated corrective controls for your most critical control objectives in production.</strong> Relying on detect -&gt; alert -&gt; fix manual workflows in production environments is not good enough for critical controls like public access.</p><p>10. <strong>Create governance accelerators for new projects.</strong> Implement automation and corrective controls that ensure that key foundational capabilities (especially ones that are commonly misconfigured) are created in advance for application teams, this helps them move faster while complying with organizational controls.</p><p>11. <strong>Strategically implement preventative controls</strong> in production for unapproved services and for capabilities where you have created governance accelerators. At this point, we are in great shape, we have all our application teams seeing green from a governance standpoint and we have built accelerators where compliance to organization standards is difficult or time-consuming. Implementing preventative controls at this point becomes a way to increase velocity and add value to your business teams, instead of becoming an invisible barrier to their work.</p><div><hr></div><p><strong>TL;DR</strong></p><p>Preventative controls are necessary but not sufficient for cloud governance. Similar to the &#8220;prevent defense&#8221; in football, overuse of the approach can cause unexpected and deleterious consequences. When starting to implement a cloud governance strategy you should focus first on getting visibility and observability, communication and detective controls in place before tackling preventative lockdown.</p><div><hr></div><p>If you enjoy cloud governance topics like this, be sure to subscribe to this newsletter and <a href="https://turbot.substack.com/">share it with others</a>! Are you a control freak too? Join the conversation by sharing your comments below or contacting us at <a href="mailto:cto@turbot.com">cto@turbot.com</a>. </p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.turbot.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.turbot.com/subscribe?"><span>Subscribe now</span></a></p>]]></content:encoded></item><item><title><![CDATA[Welcome to the Turbot Newsletter!]]></title><description><![CDATA[Welcome to the first edition of the Turbot newsletter! We are excited to have a new avenue to connect with our customers and network that we hope will add value to your inbox. One of the things I love about my job is that it gives me the opportunity to meet with Governance professionals from a variety of industries on a day-to-day basis; because of this I am often asked to share trends regarding best practices in the cloud governance space. With this newsletter I will try to distill some of the most interesting and valuable case studies, as well as trends we see through data. Please let me know what your open questions to the community are and we will do our best to address them.]]></description><link>https://newsletter.turbot.com/p/welcome-to-the-turbot-cto-newsletter</link><guid isPermaLink="false">https://newsletter.turbot.com/p/welcome-to-the-turbot-cto-newsletter</guid><dc:creator><![CDATA[David Boeke]]></dc:creator><pubDate>Tue, 25 Aug 2020 17:00:00 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!NYR_!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4106b2b5-7f30-46c8-93f5-af22aea4773c_300x300.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Greetings,<br><br>Welcome to the first edition of the monthly Turbot&nbsp;newsletter!&nbsp; We are excited to have a new avenue to connect with our customers and network that we hope will add value to your inbox.&nbsp;<br><br>One of the things I love about my job is that it gives me the opportunity to meet with Governance professionals from a variety of industries on a day-to-day basis; because of this I am often asked to share trends regarding best practices in the cloud governance space.&nbsp; With this&nbsp;monthly newsletter&nbsp;I will try to distill some of the most interesting and valuable case studies, as well as trends we see through data.&nbsp; Please let me know what your open questions to the community are and we will do our best to address them.<br><br>A few weeks ago I was a guest on Cory Quinn&#8217;s podcast: &#8220;<a href="https://bit.ly/34nb7vw">Screaming in the Cloud</a>&#8221;, we discussed (among other topics) tagging controls as a gateway to more complex governance policies. In this week&#8217;s topic I will jump in and discuss pros and cons of common resource tagging governance strategies we see across our customers.<br><br><strong>Control Objective</strong>: Ensure all resources have a minimal set of required tags.<br><br><strong>Business Objective</strong>: Often tags are used to identify ownership and control of resources; not having specific tags (e.g. Cost Center) may lead to an inability to bill appropriately for consumed services. An effective tagging strategy can also speed troubleshooting in large environments and can be used by other governance controls as metadata for policy decisions.<br><br>Most Common Required Tags:</p><ol><li><p><strong>Cost Center</strong>: Typically, free form but sometimes from a list of approved values.</p></li><li><p><strong>Environment</strong>: e.g. Development, Staging, Test, QA, Production&#8230;</p></li><li><p><strong>Owner</strong>: Typically email or employee id, sometimes a DL or other Group Identifier.</p></li><li><p><strong>Data Classification</strong>: e.g. PII, PCI, Highly Restricted, Restricted, Private, Public&#8230;</p></li><li><p><strong>Business Unit</strong>: e.g. Sales, R&amp;D, Operations&#8230;</p></li></ol><p><strong>Strict Approach:&nbsp;</strong><em>Delete any (taggable) resource that does not have required tags/values.</em><br>This approach ensures that you always have some tag value (if not always a correct tag value), but it is difficult to retrofit into existing environments if you have large numbers of resources that need to be remediated &nbsp;<a href="https://bit.ly/3jiI8wV">&#8230;continue reading on the Turbot blog</a></p><div><hr></div><p>Our tagging automation was&nbsp;<a href="https://bit.ly/3kn47nV">initially released in 2017</a>&nbsp;and the&nbsp;<a href="https://bit.ly/3knvNJ4">current v5 tagging capabilities</a>&nbsp;can be taken to new heights&nbsp;<a href="https://bit.ly/3dR8Zio">via calculated policies</a>. Let us know what your biggest tagging challenge is, we will select one to feature as a case study (with solution) in our open source developer library:&nbsp;<a href="https://github.com/turbot/tdk">https://github.com/turbot/tdk</a>&nbsp;and reward the submitter with a $100 Amazon gift card!&nbsp; Send your tagging challenge to&nbsp;<a href="mailto:cto@turbot.com">cto@turbot.com</a>&nbsp;or post an issue on the&nbsp;<a href="https://bit.ly/34iID5Q">TDK repo</a>.</p><div><hr></div><p><strong>Release Digest</strong></p><p><strong>Current Recommended Versions</strong></p><ul><li><p>Turbot Enterprise (TE)&nbsp;<a href="https://bit.ly/2HseWqd">5.28.4</a></p></li><li><p>Turbot EnterpriseDatabase (TED)&nbsp;<a href="https://bit.ly/3jqaYeJ">1.11.0</a></p></li><li><p>Turbot Enterprise Foundation (TEF)&nbsp;<a href="https://bit.ly/3klkPUJ">1.23.0</a></p></li><li><p>Turbot Terraform Provider&nbsp;<a href="https://bit.ly/3khjb6m">1.6.2</a></p></li><li><p>Turbot CLI&nbsp;<a href="https://bit.ly/3koBoyV">1.20.1</a></p></li></ul><p><strong>Recent New Features and Highlights:</strong></p><ul><li><p>Support for Terraform 0.13 Beta.</p></li><li><p>Improved Performance</p></li><li><p>New Performance Dashboards for Enterprise Customers.</p></li><li><p>Support for AWS China Regions.</p></li><li><p>Full text search on policy type names.</p></li><li><p>Support for change windows (prevent Turbot from taking actions except when in a change window).</p></li></ul><p>Thanks for subscribing, and if you enjoyed this feel free to share with the link below.</p><p>All the best,<br>David Boeke, CTO &amp; VP Services<br>Turbot</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.turbot.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.turbot.com/subscribe?"><span>Subscribe now</span></a></p><p></p>]]></content:encoded></item></channel></rss>