I agree we need a way to overcome these rogue clients but by rate limiting genuine requests will get effected. Then one would need retries and some times critical operations gets failed. It beats the whole logic of being available.<div>

<br><div><br></div><div>About the keyrings, How do we tackle if a service is using JSON API calls and not python clients?</div><div><br></div><div>Thanks,</div><div>-Ravi.<br><br><div class="gmail_quote">On Tue, Jun 18, 2013 at 6:37 PM, Adam Young <span dir="ltr"><<a href="mailto:ayoung@redhat.com" target="_blank">ayoung@redhat.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
  
    
  
  <div bgcolor="#FFFFFF" text="#000000"><div class="im">
    <div>On 06/18/2013 09:13 PM, Kant, Arun
      wrote:<br>
    </div>
    <blockquote type="cite">
      
      
      
      <div>
        <p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">The
            issue with having un-managed number of tokens for same
            credential is that it can be easily exploited. Getting a
            token is one of initial step (gateway) to get access to
            services. A rogue client can keep creating unlimited number
            of tokens and possibly create denial of service attack on
            services. If there are somewhat limited number of tokens,
            then cloud provider can possibly use tokenId based
            rate-limiting approach.</span></p>
      </div>
    </blockquote></div>
    Better here to rate limit, then.<div class="im"><br>
    <br>
    <br>
    <blockquote type="cite">
      <div>
        <p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u><u></u></span></p>
        <p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
        <p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Extending
            the expiry to some fixed interval might be okay as that can
            be considered as continuing user session similar to what is
            seen when a user keeps browsing an application while logged
            in.  <br>
          </span></p>
      </div>
    </blockquote></div>
    Tokens are resources created by Keystone.  No reason to ask to
    create something new if it is not needed.<br>
    <br>
    The caching needs to be done client side.  We have ongoing work
    using python-keyring to support that.<br>
    <br>
    <blockquote type="cite"><div class="im">
      <div>
        <p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u><u></u></span></p>
        <p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
        <p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">-Arun<u></u><u></u></span></p>
        <p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
        <p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
        <div style="border:none;border-top:solid #b5c4df 1.0pt;padding:3.0pt 0in 0in 0in">
          <p class="MsoNormal"><b><span style="font-size:11.0pt;font-family:"Calibri","sans-serif"">From:
              </span></b><span style="font-size:11.0pt;font-family:"Calibri","sans-serif"">Adam
              Young <<a href="mailto:ayoung@redhat.com" target="_blank">ayoung@redhat.com</a>><br>
              <b>Reply-To: </b>OpenStack Development Mailing List <<a href="mailto:openstack-dev@lists.openstack.org" target="_blank">openstack-dev@lists.openstack.org</a>><br>
              <b>Date: </b>Friday, June 14, 2013 3:33 PM<br>
              <b>To: </b>"<a href="mailto:openstack-dev@lists.openstack.org" target="_blank">openstack-dev@lists.openstack.org</a>"
              <<a href="mailto:openstack-dev@lists.openstack.org" target="_blank">openstack-dev@lists.openstack.org</a>><br>
              <b>Subject: </b>Re: [openstack-dev] [Keystone][Folsom]
              Token re-use<u></u><u></u></span></p>
        </div>
        <div>
          <p class="MsoNormal"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif""><u></u> <u></u></span></p>
        </div>
        <div>
          <div>
            <div>
              <p class="MsoNormal"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">On
                  06/13/2013 07:58 PM, Ravi Chunduru wrote:<u></u><u></u></span></p>
            </div>
            <blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
              <p class="MsoNormal"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">Hi,
                  <u></u><u></u></span></p>
              <div>
                <p class="MsoNormal"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif""> 
                    We are having Folsom setup and we find that our
                    token table increases a lot. I understand client can
                    re-use the token but why doesnt keystone reuse the
                    token if client asks it with same credentials.. <u></u><u></u></span></p>
              </div>
              <div>
                <p class="MsoNormal"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">I
                    would like to know if there is any reason for not
                    doing so.<u></u><u></u></span></p>
              </div>
              <div>
                <p class="MsoNormal"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif""><u></u> <u></u></span></p>
              </div>
              <div>
                <div>
                  <p class="MsoNormal"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">Thanks
                      in advance,<u></u><u></u></span></p>
                </div>
                <p class="MsoNormal"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">--
                    <br>
                    Ravi<u></u><u></u></span></p>
              </div>
              <p class="MsoNormal"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif""><br>
                  <br>
                  <br>
                  <u></u><u></u></span></p>
              <pre><span style>_______________________________________________<u></u><u></u></span></pre>
              <pre><span style>OpenStack-dev mailing list<u></u><u></u></span></pre>
              <pre><span style><a href="mailto:OpenStack-dev@lists.openstack.org" target="_blank">OpenStack-dev@lists.openstack.org</a><a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><u></u><u></u></span></pre>


            </blockquote>
            <p class="MsoNormal"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">You
                can cache the token on the client side and reuse. Tokens
                have a an expiry, so if you request a new token, you
                extend the expiry.  <u></u><u></u></span></p>
          </div>
        </div>
      </div>
      <br>
      <fieldset></fieldset>
      <br>
      </div><div class="im"><pre>_______________________________________________
OpenStack-dev mailing list
<a href="mailto:OpenStack-dev@lists.openstack.org" target="_blank">OpenStack-dev@lists.openstack.org</a>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a>
</pre>
    </div></blockquote>
    <br>
  </div>

<br>_______________________________________________<br>
OpenStack-dev mailing list<br>
<a href="mailto:OpenStack-dev@lists.openstack.org">OpenStack-dev@lists.openstack.org</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br>Ravi<br>
</div></div>