<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 08:25:43 UTC 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>MongoDB Jira</title>
    <link>https://jira.mongodb.org</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>9.7.1</version>
        <build-number>970001</build-number>
        <build-date>13-04-2023</build-date>
    </build-info>


<item>
            <title>[DRIVERS-2493] Ensure Auth Environment Variables are Always Dynamic</title>
                <link>https://jira.mongodb.org/browse/DRIVERS-2493</link>
                <project id="10980" key="DRIVERS">Drivers</project>
                    <description>&lt;div class=&quot;panel&quot; style=&quot;background-color: #fafbfc;border-color: #21313c;border-style: solid;border-width: 1px;&quot;&gt;&lt;div class=&quot;panelContent&quot; style=&quot;background-color: #fafbfc;&quot;&gt;
&lt;h3&gt;&lt;a name=&quot;Summary&quot;&gt;&lt;/a&gt;&lt;b&gt;Summary&lt;/b&gt;&lt;/h3&gt;
&lt;p&gt;&lt;em&gt;What is the problem or use case, what are we trying to achieve?&lt;/em&gt;&lt;br/&gt;
In &lt;a href=&quot;https://jira.mongodb.org/browse/DRIVERS-2333&quot; title=&quot;Cache AWS Credentials Where Possible&quot; class=&quot;issue-link&quot; data-issue-key=&quot;DRIVERS-2333&quot;&gt;&lt;del&gt;DRIVERS-2333&lt;/del&gt;&lt;/a&gt; we introduced caching of AWS credentials.  However, if credentials from environment variables are cached, the user will see an error if their application updates those environment variables and attempts a new connection. &lt;/p&gt;

&lt;p&gt;Drivers should ensure that credentials read from environment variables are never cached or stored, and instead are read as appropriate from the system.   For programming languages that do not support dynamically changing environment variables, no change is necessary.&lt;/p&gt;

&lt;h3&gt;&lt;a name=&quot;Motivation&quot;&gt;&lt;/a&gt;&lt;b&gt;Motivation&lt;/b&gt;&lt;/h3&gt;
&lt;h4&gt;&lt;a name=&quot;Whoistheaffectedenduser%3F&quot;&gt;&lt;/a&gt;Who is the affected end user?&lt;/h4&gt;
&lt;p&gt; See &lt;a href=&quot;https://jira.mongodb.org/browse/CSHARP-4395&quot; title=&quot;C# Driver caches AWS credentials assumed for IAM Role until the first error&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CSHARP-4395&quot;&gt;&lt;del&gt;CSHARP-4395&lt;/del&gt;&lt;/a&gt; for an affected user.  In this case the user will be better served once EKS credentials are properly handled in &lt;a href=&quot;https://jira.mongodb.org/browse/DRIVERS-1746&quot; title=&quot;Add native support for AWS IAM Roles for service accounts, EKS in particular&quot; class=&quot;issue-link&quot; data-issue-key=&quot;DRIVERS-1746&quot;&gt;&lt;del&gt;DRIVERS-1746&lt;/del&gt;&lt;/a&gt;, but the workaround is unavailable in the interim.&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
        <key id="2173625">DRIVERS-2493</key>
            <summary>Ensure Auth Environment Variables are Always Dynamic</summary>
                <type id="3" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14718&amp;avatarType=issuetype">Task</type>
                                            <priority id="10300" iconUrl="https://jira.mongodb.org/images/icons/priorities/medium.svg">Unknown</priority>
                        <status id="13453" iconUrl="https://jira.mongodb.org/images/icons/status_generic.gif" description="">Implementing</status>
                    <statusCategory id="4" key="indeterminate" colorName="inprogress"/>
                                    <resolution id="-1">Unresolved</resolution>
                                        <assignee username="steve.silvester@mongodb.com">Steve Silvester</assignee>
                                    <reporter username="steve.silvester@mongodb.com">Steve Silvester</reporter>
                        <labels>
                    </labels>
                <created>Wed, 2 Nov 2022 21:09:41 +0000</created>
                <updated>Tue, 8 Nov 2022 14:23:44 +0000</updated>
                                                                                    <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="4961470" author="xgen-internal-githook" created="Tue, 8 Nov 2022 00:32:40 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Steven Silvester&apos;, &apos;email&apos;: &apos;steven.silvester@ieee.org&apos;, &apos;username&apos;: &apos;blink1073&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/DRIVERS-2493&quot; title=&quot;Ensure Auth Environment Variables are Always Dynamic&quot; class=&quot;issue-link&quot; data-issue-key=&quot;DRIVERS-2493&quot;&gt;DRIVERS-2493&lt;/a&gt; Ensure Auth Environment Variables are Always Dynamic (#1337)&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/specifications/commit/875446db44aade414011731840831f38a6c668df&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/specifications/commit/875446db44aade414011731840831f38a6c668df&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="4950137" author="JIRAUSER1263701" created="Wed, 2 Nov 2022 21:40:42 +0000"  >&lt;p&gt;In both cases the SDKS are using dynamic calls to fetch the credentials, and are not caching them.&lt;/p&gt;</comment>
                            <comment id="4950113" author="jeff.yemin" created="Wed, 2 Nov 2022 21:34:05 +0000"  >&lt;p&gt;Do the C# and Python AWS SDKs abide by this behavior?&#160; Do they assume that the env vars can change at any time?&lt;/p&gt;</comment>
                            <comment id="4950045" author="JIRAUSER1263701" created="Wed, 2 Nov 2022 21:25:54 +0000"  >&lt;p&gt;That&apos;s fair, both Python and C# support dynamic environment variables.  I&apos;ll add a note that this only applies to languages that support it.&lt;/p&gt;</comment>
                            <comment id="4950039" author="jeff.yemin" created="Wed, 2 Nov 2022 21:22:21 +0000"  >&lt;p&gt;I find this odd.&#160; I thought that environment variables were essentially constants.&#160; Java, for example, has a &lt;tt&gt;System.getenv&lt;/tt&gt; method but no &lt;tt&gt;System.setenv&lt;/tt&gt;.&#160; And IIRC the Java AWS SDK treats environment variables as constants.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10620">
                    <name>Issue split</name>
                                            <outwardlinks description="split to">
                                        <issuelink>
            <issuekey id="2172617">CSHARP-4395</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2173636">RUBY-3172</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2173628">CDRIVER-4518</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2173629">CXX-2611</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2173630">GODRIVER-2641</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2173632">NODE-4797</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2173635">PHPLIB-1036</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2173631">JAVA-4800</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2173633">MOTOR-1063</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2173634">PYTHON-3501</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2173637">RUST-1533</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                                                                                                                                            <customfield id="customfield_15850" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                        <customfield id="customfield_17052" key="com.atlassian.jira.plugin.system.customfieldtypes:textarea">
                        <customfieldname>Downstream Changes Summary</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>
&lt;p&gt;&lt;b&gt;Summary of required changes&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Ensure that AWS credentials fetched from environment variables are handled appropriately.&lt;/li&gt;
	&lt;li&gt;Add tests to verify environment variable handling&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;&lt;b&gt;Additional background&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Please see &lt;a href=&quot;https://github.com/mongodb/specifications/commit/875446db44aade414011731840831f38a6c668dffor&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/specifications/commit/875446db44aade414011731840831f38a6c668dffor&lt;/a&gt; the specification change.&lt;/p&gt;

&lt;p&gt;Please see &lt;a href=&quot;https://github.com/mongodb/mongo-python-driver/commit/ff94b0e3094f6bf08645ff0a491ec9b51f504b53&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-python-driver/commit/ff94b0e3094f6bf08645ff0a491ec9b51f504b53&lt;/a&gt;&#160;for a reference implementation in Python.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Integration test&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Drivers are expected to add integration tests as described in the specification change&lt;/p&gt;</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10951" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Driver Changes</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10748"><![CDATA[Needed]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_23952" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Driver Compliance</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[<style type='text/css'>
         #scriptField, #scriptField *{
                border: 1px solid black;
            }

            #scriptField{
                border-collapse: collapse;
            }

            #scriptField td {
                text-align: center; /* Center-align text in table cells */
            }

            #scriptField td.key {
                text-align: left; /* Left-align text in the Key column */
            }

            #scriptField a {
                text-decoration: none; /* Remove underlines from links */
                border: none; /* Remove border from links */
            }
            
            /* Add green background color to cells with FixVersion */
            #scriptField td.hasFixVersion {
                background-color: #00FF00; /* Green color code */
            }

            /* Center-align the first row headers */
            #scriptField th {
                text-align: center;
            }
        </style>
<table id='scriptField'>
  <tr>
    <th>Key</th>
    <th>Status/Resolution</th>
    <th>FixVersion</th>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/CSHARP-4395'>CSHARP-4395</a>
    </td>
    <td>Fixed</td>
    <td class='hasFixVersion'>2.19.0</td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/CDRIVER-4518'>CDRIVER-4518</a>
    </td>
    <td>Backlog</td>
    <td class=''></td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/CXX-2611'>CXX-2611</a>
    </td>
    <td>Backlog</td>
    <td class=''></td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/GODRIVER-2641'>GODRIVER-2641</a>
    </td>
    <td>Backlog</td>
    <td class=''></td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/JAVA-4800'>JAVA-4800</a>
    </td>
    <td>Won't Do</td>
    <td class=''></td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/NODE-4797'>NODE-4797</a>
    </td>
    <td>Backlog</td>
    <td class=''></td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/MOTOR-1063'>MOTOR-1063</a>
    </td>
    <td>Duplicate</td>
    <td class=''></td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/PYTHON-3501'>PYTHON-3501</a>
    </td>
    <td>Fixed</td>
    <td class='hasFixVersion'>4.3.3</td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/PHPLIB-1036'>PHPLIB-1036</a>
    </td>
    <td>Backlog</td>
    <td class=''></td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/RUBY-3172'>RUBY-3172</a>
    </td>
    <td>Backlog</td>
    <td class=''></td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/RUST-1533'>RUST-1533</a>
    </td>
    <td>Duplicate</td>
    <td class=''></td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/SWIFT-1677'>SWIFT-1677</a>
    </td>
    <td>Duplicate</td>
    <td class=''></td>
  </tr>
</table>]]></customfieldvalue>


                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|i0z6w0:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10558" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>9223372036854775807</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        </customfields>
    </item>
</channel>
</rss>