<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Additional Topics on</title><link>https://docs.protegrity.com/protectors/10.0/docs/ap/ap_python/appendix/</link><description>Recent content in Additional Topics on</description><generator>Hugo</generator><language>en</language><atom:link href="https://docs.protegrity.com/protectors/10.0/docs/ap/ap_python/appendix/index.xml" rel="self" type="application/rss+xml"/><item><title>Memory Usage of the AP Python</title><link>https://docs.protegrity.com/protectors/10.0/docs/ap/ap_python/appendix/memory_usage_appython/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.protegrity.com/protectors/10.0/docs/ap/ap_python/appendix/memory_usage_appython/</guid><description>&lt;p>The memory used for the different policy sizes using a sample python application is described in this section.&lt;/p>
&lt;h2 id="sample-application">Sample application&lt;/h2>
&lt;p>The following is a sample python application.&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>from appython import Protector
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>if __name__ == &amp;#34;__main__&amp;#34;:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> # Initialize the protector
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> protector = Protector()
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> # Create session with policy user
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> session = protector.create_session(&amp;#34;USER1&amp;#34;)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> # Protect operation
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> p_out = session.protect(&amp;#34;Protegrity1&amp;#34;, &amp;#34;TE_AN_SLT13_L0R0_N&amp;#34;)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> print(&amp;#34;Protected Data: %s&amp;#34; %p_out)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> # Reprotect operation
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> r_out = session.reprotect(p_out, &amp;#34;TE_AN_SLT13_L0R0_N&amp;#34;, &amp;#34;TE_AN_SLT13_L0R0_N&amp;#34;)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> print(&amp;#34;Reprotected Data: %s&amp;#34; %r_out)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> # Unprotect operation
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> org = session.unprotect(r_out, &amp;#34;TE_AN_SLT13_L0R0_N&amp;#34;)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> print(&amp;#34;Unprotected Data: %s&amp;#34; %org)
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="expected-memory-usage">Expected memory usage&lt;/h2>
&lt;p>The process to find the policy size and expected memory usage for different policy sizes used by the python application is described in this section.&lt;/p></description></item><item><title>Setting Up AP Python on Linux in a Development Environment</title><link>https://docs.protegrity.com/protectors/10.0/docs/ap/ap_python/appendix/ap_python_dev_env/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.protegrity.com/protectors/10.0/docs/ap/ap_python/appendix/ap_python_dev_env/</guid><description>&lt;p>The steps to set up the AP Python on a Linux platform in a development environment are described in the section.&lt;/p>
&lt;h2 id="verifying-prerequisites">Verifying prerequisites&lt;/h2>
&lt;p>Ensure that the following prerequisites are met:&lt;/p>
&lt;ul>
&lt;li>Python 3, version from 3.7 to 3.11, must be installed on the machine.&lt;/li>
&lt;li>Latest version of &lt;em>pip&lt;/em>, the Python package manager, must be installed.&lt;/li>
&lt;/ul>
&lt;h2 id="extracting-the-ap-python-installation-package">Extracting the AP Python installation package&lt;/h2>
&lt;p>To set up the AP Python on the Linux platform in development environment.&lt;/p></description></item><item><title>DevOps Approach for Application Protector Python</title><link>https://docs.protegrity.com/protectors/10.0/docs/ap/ap_python/appendix/devops_ap_common/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.protegrity.com/protectors/10.0/docs/ap/ap_python/appendix/devops_ap_common/</guid><description>&lt;p>The DevOps approach enables immutable package deployment. It uses a REST API call to download packages from the ESA in an encrypted format.&lt;/p>
&lt;blockquote>
&lt;p>&lt;strong>Note&lt;/strong>: The RP Agent should not be installed for immutable package deployments using DevOps.&lt;/p>&lt;/blockquote>
&lt;p>For more information about package deployment approaches, refer to &lt;a href="https://docs.protegrity.com/10.0/docs/pmg/pmg_policy_management_in_protector/#:~:text=protectors%20and%20later.-,Resilient%20Package%20Deployment,-A%20number%20of">Resilient Package Deployment&lt;/a>.&lt;/p>
&lt;p>A REST API call is used to download the package on your local machine. Configure the package path in the &lt;code>config.ini&lt;/code> file within the &lt;em>DevOps&lt;/em> section and the decryptor class.&lt;/p></description></item><item><title>Application Protector API Return Codes</title><link>https://docs.protegrity.com/protectors/10.0/docs/ap/ap_python/appendix/ap_return_codes/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.protegrity.com/protectors/10.0/docs/ap/ap_python/appendix/ap_return_codes/</guid><description>&lt;p>When an application is developed using the APIs of the Protegrity Application Protector Suite, you may encounter the Application Protector API Return Codes.
For more information about log return codes, refer to &lt;a href="https://docs.protegrity.com/10.0/docs/troubleshooting/iag_log_return_codes/">Log return codes&lt;/a>.&lt;/p>
&lt;h2 id="sample-log-for-ap-return-codes">Sample Log for AP Return Codes&lt;/h2>
&lt;p>The following is a sample log generated in &lt;strong>Discover&lt;/strong> on the &lt;strong>Audit Store Dashboards&lt;/strong> in the ESA.&lt;/p>
&lt;p>&lt;img src="https://docs.protegrity.com/protectors/10.0/docs/images/ap/ap_sample_log_return_code.png" alt="Sample log for AP return codes">&lt;/p>
&lt;p>Protection audit logs are stored in the &lt;strong>Audit Store&lt;/strong>. Select the &lt;code>pty_insight_*audit*&lt;/code> index to view the protection logs.&lt;/p></description></item><item><title>Config.ini file for Application Protector</title><link>https://docs.protegrity.com/protectors/10.0/docs/ap/ap_python/appendix/ap_config_file/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.protegrity.com/protectors/10.0/docs/ap/ap_python/appendix/ap_config_file/</guid><description>&lt;p>The Application Protector can be configured using the &lt;code>config.ini&lt;/code> file. By default, this file is located in the &lt;em>&amp;lt;installation directory&amp;gt;/sdk/&amp;lt;protector&amp;gt;/data/&lt;/em> directory.&lt;/p>
&lt;p>The various configurations required for setting up the Application Protector are described in this section.&lt;/p>
&lt;h2 id="sample-configini-file">Sample config.ini file&lt;/h2>
&lt;p>The following represents a sample &lt;code>config.ini&lt;/code> file.&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># Protector configuration
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span># ----------------------------- 
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>[protector]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span># Cadence determines how often the protector connects with shared memory to fetch the policy updates in background.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span># Default is 60 seconds. So by default, every 60 seconds protector tries to fetch the policy updates.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>#
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span># Default 60.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>cadence = 60
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span># The time during which an session object is valid. Default = 15 minutes.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>session.sessiontimeout = 15
&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># Log Provider Config
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>###############################################################################
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>[log]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span># In case that connection to fluent-bit is lost, set how audits/logs are handled
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span># 
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span># drop : (default) Protector throws logs away if connection to the fluentbit is lost
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span># error : Protector returns error without protecting/unprotecting 
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span># data if connection to the fluentbit is lost
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>mode = drop
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span># Host/IP to fluent-bit where audits/logs will be forwarded from the protector
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>#
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span># Default localhost
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>host = localhost
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;!--# If the cadence is set to "0", then the protector will get the policy only once.-->
&lt;h2 id="different-configurations-for-application-protector">Different configurations for Application Protector&lt;/h2>
&lt;p>The following are the various configurations:&lt;/p></description></item><item><title>Multi-node Application Protector Architecture</title><link>https://docs.protegrity.com/protectors/10.0/docs/ap/ap_python/appendix/ap_multinode_arch/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.protegrity.com/protectors/10.0/docs/ap/ap_python/appendix/ap_multinode_arch/</guid><description>&lt;p>The multi-node Application Protector (AP) architecture, its individual components, and how logs are collected using the Log Forwarder are described in this section.&lt;/p>
&lt;p>The following figure describes the multi-node AP architecture.&lt;/p>
&lt;p>&lt;img src="https://docs.protegrity.com/protectors/10.0/docs/images/ap/multi-node_sdk_arch.png" alt="Multi-node AP architecture">&lt;/p>
&lt;p>For example, some AP nodes are connected to an ESA, which includes the Audit Store component. Each AP node contains a Log Forwarder, RP Agent, and AP instance for sending logs to the ESA.&lt;/p>
&lt;p>&lt;strong>Protector&lt;/strong>: The AP can be configured using the &lt;code>config.ini&lt;/code> file. &lt;br>
For more information about the configurations, refer to &lt;a href="https://docs.protegrity.com/protectors/10.0/docs/ap/ap_java/appendix/ap_config_file/">Config.ini file for Application Protector&lt;/a>.&lt;/p></description></item><item><title>Uninstalling the Application Protector</title><link>https://docs.protegrity.com/protectors/10.0/docs/ap/ap_python/appendix/uninstall_app_protector/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.protegrity.com/protectors/10.0/docs/ap/ap_python/appendix/uninstall_app_protector/</guid><description>&lt;h2 id="uninstalling-application-protector-ap-python-from-linux-in-production-environment">Uninstalling Application Protector (AP) Python from Linux in Production Environment&lt;/h2>
&lt;p>The steps to uninstall the different components of the AP Python in production environment are described in this section.&lt;/p>
&lt;h3 id="uninstalling-the-log-forwarder-from-linux">Uninstalling the Log Forwarder from Linux&lt;/h3>
&lt;p>To preserve all the configurations while upgrading the Log Forwarder, ensure that all the files present under the &lt;code>/opt/protegrity/logforwarder/data/config.d&lt;/code> directory are backed up.&lt;/p>
&lt;p>To uninstall the Log Forwarder from a Linux platform:&lt;/p>
&lt;ol>
&lt;li>
&lt;p>Navigate to the &lt;code>/opt/protegrity/logforwarder/bin&lt;/code> directory.&lt;/p></description></item></channel></rss>