<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Installation on</title><link>https://docs.protegrity.com/cloud-protect/4.0.0/docs/aws/athena/installation/</link><description>Recent content in Installation on</description><generator>Hugo</generator><language>en</language><atom:link href="https://docs.protegrity.com/cloud-protect/4.0.0/docs/aws/athena/installation/index.xml" rel="self" type="application/rss+xml"/><item><title>Prerequisites</title><link>https://docs.protegrity.com/cloud-protect/4.0.0/docs/aws/athena/installation/prerequisite/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.protegrity.com/cloud-protect/4.0.0/docs/aws/athena/installation/prerequisite/</guid><description>&lt;ol id="toc">&lt;/ol>
&lt;script>
 // JavaScript to generate the table of contents from H2 headings
 document.addEventListener("DOMContentLoaded", function () {
 //get all h2 headings within the 'main' element and generate a toc with links to them
 //excluding h2 heading 'Feedback' if it exists
 const toc = document.getElementById("toc");
 const headings = document.querySelectorAll("main h2");
 headings.forEach(heading => {
 if (heading.textContent === "Feedback") {
 return; // Skip the 'Feedback' heading
 }

 const li = document.createElement("li");
 const a = document.createElement("a");
 const id = heading.textContent.toLowerCase().replace(/\s+/g, '-');
 heading.id = id; // Set the id for the heading
 a.href = `#${id}`;
 a.textContent = heading.textContent;
 li.appendChild(a);
 toc.appendChild(li);
 });

 });
&lt;/script>



&lt;p>

 




	






 






 &lt;h2 id="aws-service-dependencies">AWS Service Dependencies&lt;/h2>
&lt;p>The following table describes the AWS services that may be a part of your Protegrity installation.&lt;/p></description></item><item><title>Protect Service Installation</title><link>https://docs.protegrity.com/cloud-protect/4.0.0/docs/aws/athena/installation/protector/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.protegrity.com/cloud-protect/4.0.0/docs/aws/athena/installation/protector/</guid><description>&lt;ol id="toc">&lt;/ol>
&lt;script>
 // JavaScript to generate the table of contents from H2 headings
 document.addEventListener("DOMContentLoaded", function () {
 //get all h2 headings within the 'main' element and generate a toc with links to them
 //excluding h2 heading 'Feedback' if it exists
 const toc = document.getElementById("toc");
 const headings = document.querySelectorAll("main h2");
 headings.forEach(heading => {
 if (heading.textContent === "Feedback") {
 return; // Skip the 'Feedback' heading
 }

 const li = document.createElement("li");
 const a = document.createElement("a");
 const id = heading.textContent.toLowerCase().replace(/\s+/g, '-');
 heading.id = id; // Set the id for the heading
 a.href = `#${id}`;
 a.textContent = heading.textContent;
 li.appendChild(a);
 toc.appendChild(li);
 });

 });
&lt;/script>



&lt;h2 id="protect-service-installation">Protect Service Installation&lt;/h2>
&lt;p>The following sections install the Cloud Protect serverless Lambda function.&lt;/p></description></item><item><title/><link>https://docs.protegrity.com/cloud-protect/4.0.0/docs/aws/athena/installation/aws_username_regex_appendix/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.protegrity.com/cloud-protect/4.0.0/docs/aws/athena/installation/aws_username_regex_appendix/</guid><description>&lt;h2 id="configuring-regular-expression-to-extract-policy-username">Configuring Regular Expression to Extract Policy Username&lt;/h2>
&lt;p>Cloud Protect Lambda Function exposes USERNAME_REGEX configuration to allow extraction of policy username from user in the request.&lt;/p>
&lt;ul>
&lt;li>
&lt;p>&lt;strong>USERNAME_REGEX Lambda Environment configuration&lt;/strong>&lt;/p>
&lt;p>The USERNAME_REGEX configuration can be used to extract policy username from user in the request. The following are allowed values for USERNAME_REGEX:&lt;/p>
&lt;ul>
&lt;li>
&lt;p>1 - Default build-in regular expression is used:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-fallback" data-lang="fallback">&lt;span style="display:flex;">&lt;span>^arn:aws:(?:iam|sts)::[0-9]{12}:(?:role|user|group|assumed\-role|federated\-user)\/([\w\/+=,.\-]{1,1024}|[\w\/+=,.\-@]{1,1024})(?:@[a-zA-Z0-9\-]{1,320}(?:\.\w+)+)?$
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;/li>
&lt;li>
&lt;p>^User regex$ - Custom regex with one capturing group. This group is used to extract the username.
Examples below show different regular expression values and the resulting policy user.&lt;/p></description></item><item><title/><link>https://docs.protegrity.com/cloud-protect/4.0.0/docs/aws/athena/installation/cloud_protect_creating_lambda_iam_policy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.protegrity.com/cloud-protect/4.0.0/docs/aws/athena/installation/cloud_protect_creating_lambda_iam_policy/</guid><description>&lt;h1 id="create-protect-lambda-iam-execution-policy">Create Protect Lambda IAM Execution Policy&lt;/h1>
&lt;p>This task defines a policy used by the Protegrity Lambda function to write CloudWatch logs and access the KMS encryption key to decrypt the policy.&lt;/p>
&lt;p>Perform the following steps to create the Lambda execution role and required policies.&lt;/p>
&lt;p>To create protect lambda IAM execution policy:&lt;/p>
&lt;ol>
&lt;li>
&lt;p>From the AWS IAM console, select &lt;strong>Policies&lt;/strong> &amp;gt; &lt;strong>Create Policy&lt;/strong>.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Select the &lt;strong>JSON&lt;/strong> tab and copy the following sample policy.&lt;/p></description></item><item><title/><link>https://docs.protegrity.com/cloud-protect/4.0.0/docs/aws/athena/installation/cpa_athena_user_permissions/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.protegrity.com/cloud-protect/4.0.0/docs/aws/athena/installation/cpa_athena_user_permissions/</guid><description>&lt;h2 id="granting-access-to-use-the-cloud-protect-udf">Granting access to use the Cloud Protect UDF&lt;/h2>
&lt;p>The ability to use the Cloud Protect UDF from Athena is controlled through IAM permissions. The Athena user/role must have the InvokeFunction permission to the Cloud Protect Lambda function as shown in the following example:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-fallback" data-lang="fallback">&lt;span style="display:flex;">&lt;span>{ 
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &amp;#34;Version&amp;#34;: &amp;#34;2012-10-17&amp;#34;, 
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &amp;#34;Statement&amp;#34;: [ 
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> { 
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &amp;#34;Sid&amp;#34;: &amp;#34;ProtectLambdaFunction&amp;#34;, 
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &amp;#34;Effect&amp;#34;: &amp;#34;Allow&amp;#34;, 
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &amp;#34;Action&amp;#34;: &amp;#34;lambda:InvokeFunction&amp;#34;, 
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &amp;#34;Resource&amp;#34;: &amp;#34;&amp;lt;PROTECT_FUNCTION_ARN&amp;gt;&amp;#34; 
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> } 
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> ] 
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>The policy above would be used in addition to any other IAM policies required to use Amazon Athena. Refer to the &lt;a href="https://docs.aws.amazon.com/athena/latest/ug/udf-iam-access.html">AWS Athena example policy&lt;/a> for a typical IAM policy.&lt;/p></description></item><item><title/><link>https://docs.protegrity.com/cloud-protect/4.0.0/docs/aws/athena/installation/cpa_policy_user/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.protegrity.com/cloud-protect/4.0.0/docs/aws/athena/installation/cpa_policy_user/</guid><description>&lt;h2 id="policy-user">Policy User&lt;/h2>
&lt;p>Policy user for protect and unprotect operations can be provided from either Lambda environment variable or federated identity.&lt;/p>
&lt;ul>
&lt;li>
&lt;p>&lt;strong>POLICY_USER Environment Variable in the Athena Protect Lambda&lt;/strong>&lt;/p>
&lt;p>The Lambda environment variable POLICY_USER, may be set with a default user in the security policy or as a service user.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Federated Identity&lt;/strong>&lt;/p>
&lt;p>When the request contains the federated identity, the policy user maybe the IAM ARN of the user running the SQL query. For example:&lt;/p></description></item><item><title/><link>https://docs.protegrity.com/cloud-protect/4.0.0/docs/aws/athena/installation/prerequisites/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.protegrity.com/cloud-protect/4.0.0/docs/aws/athena/installation/prerequisites/</guid><description>&lt;h2 id="prerequisites">Prerequisites&lt;/h2>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>Requirement&lt;/th>
 &lt;th>Detail&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>Protegrity distribution and installation scripts&lt;/td>
 &lt;td>These artifacts are provided by Protegrity&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>Protegrity ESA 10.0+&lt;/td>
 &lt;td>The Cloud VPC must be able to obtain network access to the ESA&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>AWS Account&lt;/td>
 &lt;td>Recommend creating a new sub-account for Protegrity Serverless&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>Athena Engine Version 3&lt;/td>
 &lt;td>Only Athena engine version 3 is supported. The product may work in Athena engine version 2, but it is deprecated and all users are encouraged to upgrade.&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table></description></item><item><title/><link>https://docs.protegrity.com/cloud-protect/4.0.0/docs/aws/athena/installation/services/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.protegrity.com/cloud-protect/4.0.0/docs/aws/athena/installation/services/</guid><description>&lt;h2 id="aws-service-dependencies">AWS Service Dependencies&lt;/h2>
&lt;p>The following table describes the AWS services that may be a part of your Protegrity installation.&lt;/p>
&lt;table>&lt;thead>&lt;tr>&lt;th>
&lt;p>Service&lt;/p>
&lt;/th>&lt;th>
&lt;p>Description&lt;/p>
&lt;/th>&lt;/tr>&lt;/thead>&lt;tbody>&lt;tr>&lt;td>
&lt;p>&lt;strong>Lambda&lt;/strong>&lt;/p>
&lt;/td>&lt;td>
&lt;p>Provides serverless compute for Protegrity protection operations and the ESA integration to fetch policy updates or deliver audit logs.&lt;/p>
&lt;/td>&lt;/tr>&lt;tr>&lt;td>
&lt;p>&lt;strong>KMS&lt;/strong>&lt;/p>
&lt;/td>&lt;td>
&lt;p>Provides secrets for envelope policy encryption/decryption for Protegrity.&lt;/p>
&lt;/td>&lt;/tr>&lt;tr>&lt;td>
&lt;p>&lt;strong>Secrets Manager&lt;/strong>&lt;/p>
&lt;/td>&lt;td>
&lt;p>Provides secrets management for the ESA credentials.&lt;/p>
&lt;/td>&lt;/tr>&lt;tr>&lt;td>
&lt;p>&lt;strong>S3&lt;/strong>&lt;/p>
&lt;/td>&lt;td>
&lt;p>Intermediate storage location for the encrypted ESA policy layer.&lt;/p></description></item><item><title/><link>https://docs.protegrity.com/cloud-protect/4.0.0/docs/aws/athena/installation/skills/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.protegrity.com/cloud-protect/4.0.0/docs/aws/athena/installation/skills/</guid><description>&lt;h2 id="required-skills-and-abilities">Required Skills and Abilities&lt;/h2>
&lt;table>&lt;thead>&lt;tr>&lt;th>
&lt;p>Role / Skillset&lt;/p>
&lt;/th>&lt;th>
&lt;p>Description&lt;/p>
&lt;/th>&lt;/tr>&lt;/thead>&lt;tbody>&lt;tr>&lt;td>
&lt;p>AWS Account Administrator&lt;/p>
&lt;/td>&lt;td>
&lt;p>To run CloudFormation (or perform steps manually), create/configure a VPC and IAM permissions.&lt;/p>
&lt;/td>&lt;/tr>&lt;tr>&lt;td>
&lt;p>Protegrity Administrator&lt;/p>
&lt;/td>&lt;td>
&lt;p>The ESA credentials required to extract the policy for the Policy Agent&lt;/p>
&lt;/td>&lt;/tr>&lt;tr>&lt;td>
&lt;p>Network Administrator&lt;/p>
&lt;/td>&lt;td>
&lt;p>To open firewall to access ESA and evaluate AWS network setup&lt;/p>
&lt;/td>&lt;/tr>&lt;/tbody>
&lt;/table></description></item></channel></rss>