Google Launches Authentication Service for Servers and APIs
Google's newly launched Service Accounts will provide certificate-based authentication to APIs for server-to-server interactions. Until now, Google secured its APIs in these scenarios via shared keys and passwords.
"This means, for example, that a request from a Web application to Google Cloud Storage can be authenticated via a certificate instead of a shared key," said Google product manager Justin Smith, in a blog post, noting that unlike passwords and shared keys, certs can't be guessed.
In addition to Cloud Storage, Google's Prediction API, URL Shortener, OAuth 2.0 Authorization Server, APIs Console and its API libraries for Python, Java and PHPs will support certificates. Other APIs and client libraries, including Ruby and .NET, will follow over time, according to Smith.
The certs are implemented as an OAuth 2.0 flow. An app using the certificate service generates a JSON structure, which is signed with a private key and encoded as a JSON Web Token (JWT). Once the JWT accesses Google's OAuth 2.0 Authorization Server it provides an access token, which is sent to Google Cloud Storage or the Prediction API.
Adding certificate-based authentication will be welcome to those who require better security than passwords and shared keys offer, said Forrester Research analyst Eve Maler. "Government agencies and other high-risk players generally demand certificate-based authentication," she said. "This decision by Google enables, for its service ecosystem, this stronger option for those who need it. Google has experimented rapidly to come up with maximally effective API security mechanisms."
Developers can set up Service Accounts on the Google APIs Console.
Jeffrey Schwartz is editor of Redmond magazine and also covers cloud computing for Virtualization Review's Cloud Report. In addition, he writes the Channeling the Cloud column for Redmond Channel Partner. Follow him on Twitter @JeffreySchwartz.