A New Venn Of Access Control For The API Economy

简介: Cloud providers and many federated IAM practitioners are excited about OAuth, a new(ish) security technology on the scene.

Cloud providers and many federated IAM practitioners are excited about OAuth, a new(ish) security technology on the scene. I’ve written about OAuth in Protecting Enterprise APIs With A Light Touch. The cheat-sheet list I keep of major OAuth product support announcements already includes items from Apigee, Covisint, Google, IBM, Layer 7, Microsoft, Ping Identity, and salesforce.com. (Did I miss yours? Let me know.)

OAuth specializes in securing API/web service access by a uniquely identified client app on behalf of a uniquely identified user. It has flows for letting the user explicitly consent to (authorize) this connection, but generally relies on authorizing the actions of the calling application itself through simple authentication. So does the auth part of the name stand for authentication, authorization, or what? Let’s go with “all of the above.”

However, OAuth is merely plumbing of a sort similar to the WS-Security standard (or, for that matter, HTTP Basic Authentication). It doesn’t solve every auth* problem known to humankind, not by a long shot. What other IAM solutions are popping up in the API-economy universe? Two standards communities are building solutions on top of OAuth to round out the picture:

  • OpenID Connect for single sign-on (SSO): This protocol from the OpenID Foundation solves for SSO, session management, and identity claims retrieval. I first wrote about it here. You can think of it as a lightweight SAML that enables dynamic B2E, B2B, and B2C use cases, in a way that’s of particular interest to efforts such as the National Strategy for Trusted Identities in Cyberspace.
  • User-Managed Access (UMA) for access management: This protocol from the Kantara Initiative solves for access control by third parties. (Disclosure: I founded the UMA standards effort and still serve as its group chair.) The initial use cases included an individual Web 2.0 user sharing calendars, health data, and more with friends, family, and organizations in their lives. New business-related use cases include enterprise oversight of employees’ use of cloud services. You can think of it as a lightweight XACML without the policy expression language, which enables loose coupling of authorization decisions and enforcement.

Time for a new Venn diagram, methinks…

Venn of access control for the API economy, comparing OAuth 2.0, OpenID Connect, and UMA

There's no doubt about it: these OAuth-based efforts are nascent. The Implementer’s Draft specs for OpenID Connect just passed a vote of the OpenID Foundation membership on February 16 and interoperability testing among seven implementers, including Google and eBay is under way. UMA has four implementations to date, and will hold its first face-to-face interop event in April. But I’ve been discovering in a number of client conversations that IT and business organizations already have “holes” in their solution spaces that this union of Venn features helps to solve, and they welcome news of solutions that are web-friendly, lightweight, and able to be loosely coupled.

The new universe of open APIs that need serious protection – Accessibility with Security, as Google engineer Steve Yegge termed it in his famous rant – is yet more reason why I believe the “identity singularity” is on its way. We’ll be publishing some research soon on this phenomenon writ large, which we’re calling Zero Trust Identity. For now I’ll leave the obvious comparisons within the Venn as exercises for the reader, and I welcome your thoughts, questions, challenges, and use cases.


Categories:


目录
相关文章
|
4月前
|
API Python Windows
[已解决] openai.error.AuthenticationError: No API key provided. You can set your API key in code using
[已解决] openai.error.AuthenticationError: No API key provided. You can set your API key in code using
110 0
|
5月前
|
JavaScript API
Componsition API与Options API的对比
Componsition API与Options API的对比
23 0
|
7月前
|
API 网络安全
关于 SAP ABAP CL_HTTP_CLIENT API 中的 SSL_ID 参数
ABAP HTTP API:CL_HTTP_CLIENT, create_by_url 有一个输入参数 SSL_ID, 类型为 SSFAPPLSSL, 这个参数应该传什么值进去呢?
53 0
|
Shell
wandb.errors.UsageError: api_key not configured (no-tty). call wandb.login(key=[your_api_key])
wandb.errors.UsageError: api_key not configured (no-tty). call wandb.login(key=[your_api_key])
2907 0
wandb.errors.UsageError: api_key not configured (no-tty). call wandb.login(key=[your_api_key])
|
10月前
|
API 开发工具 git
解决 `remote: You must use a personal access token with 'api' scope for Git over HTTP.`
`git clone` 报错,解决 `remote: You must use a personal access token with 'api' scope for Git over HTTP.`
217 0
解决 `remote: You must use a personal access token with 'api' scope for Git over HTTP.`
|
10月前
|
缓存 API
报错https://chat.openai.com/ api/auth/ session 429怎么办
报错https://chat.openai.com/ api/auth/ session 429怎么办
621 0
|
11月前
|
存储 JSON 缓存
Elasitcsearch High Level Rest Client学习笔记(二) 基础API - 木子H的个人空间 - OSCHINA
Elasitcsearch High Level Rest Client学习笔记(二) 基础API - 木子H的个人空间 - OSCHINA
|
Cloud Native
Open Policy Agent (OPA) 【3】实战
Open Policy Agent (OPA) 【3】实战
Open Policy Agent (OPA) 【3】实战
|
缓存 Cloud Native Go
Open Policy Agent(OPA) 【1】介绍(3)
Open Policy Agent(OPA) 【1】介绍(3)
|
存储 SQL JSON
Open Policy Agent(OPA) 【1】介绍(2)
Open Policy Agent(OPA) 【1】介绍(2)