

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# Sign-In 使用 OAuth 2.0
<a name="oauth-sign-in-overview"></a>

## OAuth 概述
<a name="oauth-sign-in-overview-intro"></a>

借助 AWS Sign-In 行业标准的 OAuth 2.0 支持，代理和应用程序可以使用 OAuth 授权访问支持的 AWS 服务。

OAuth 可与您现有的 AWS 身份和授权模型集成。应用程序通过获取短期的 OAuth 令牌。 AWS Sign-InOAuth 令牌适用于您现有的 IAM 身份、策略、服务控制策略 (SCP)、资源控制策略 (RCP) 和其他授权控制。 AWS OAuth 引入了基于标准的授权模型，但未更改 AWS 资源访问的管理方式。

使用 AWS Sign-In，您可以通过浏览器（交互式）对应用程序进行授权，或者具有现有 AWS 凭据的应用程序可以通过编程方式（非交互式）获取 OAuth 访问令牌。

## 支持的功能
<a name="oauth-sign-in-capabilities"></a>

AWS Sign-In 提供以下 OAuth 功能。


| 能力 | 说明 | 
| --- | --- | 
| [交互式授权 ](#oauth-sign-in-interactive) | Browser-based 为用户提供 OAuth 授权。 | 
| [Non-interactive 授权](#oauth-sign-in-non-interactive) | 使用现有 AWS 凭据对代理和应用程序进行 OAuth 授权，无需浏览器。 | 
| [代币管理 ](aws-mcp-server.md#aws-mcp-server-token-management) | 发行和反省访问和刷新令牌，并撤销刷新令牌。 | 
| [动态客户注册 ](https://docs.aws.amazon.com/signin/latest/APIReference/API_dataplane-signin_CreateOAuth2PublicClient.html) | 向注册批准的 OAuth-compatible 应用程序 AWS Sign-In。 | 
| [IAM 集成 ](https://docs.aws.amazon.com/service-authorization/latest/reference/list_signin.html) | 使用 IAM 权限、资源和条件密钥管理 OAuth 授权。 | 
| [CloudTrail 整合](aws-mcp-server.md#aws-mcp-server-monitoring) | 使用审计 OAuth 授权和令牌生命周期事件。 AWS CloudTrail | 

## OAuth 的工作原理
<a name="oauth-sign-in-how-it-works"></a>

中的 OAuth 授权 AWS Sign-In 遵循 OAuth 2.0 标准。

1. 代理或应用程序请求授权以访问支持的 AWS 服务。

1. AWS Sign-In 对用户进行身份验证。

1. AWS Sign-In 发放 OAuth 令牌，授权应用程序代表用户访问所请求的 AWS 服务。

1. 该 AWS 服务使用现有的 AWS 授权模型评估每个请求，包括 IAM 策略、服务控制策略 (SCP)、资源控制策略 (RCP)、权限边界和其他适用的控制措施。

OAuth 令牌授权应用程序访问支持的 AWS 服务。他们不授予其他 AWS 权限。应用程序只能执行经过身份验证的 IAM 身份已经允许的操作。

## 授权模型
<a name="oauth-sign-in-authorization-models"></a>

AWS Sign-In 支持两种 OAuth 授权模型。

### 交互式授权
<a name="oauth-sign-in-interactive"></a>

交互式授权适用于使用基于浏览器的身份验证的开发人员。

AWS Sign-In 使用代码交换证明密钥 (PKCE) 强制执行 OAuth 2.1 授权码授予。当应用程序需要授权时，它会将用户重定向到 AWS Sign-In，用户在那里进行身份验证、查看授权请求并授予同意。

成功授权后， AWS Sign-In 出现以下问题：
+ **访问令牌 ** — 授权应用程序访问支持的 AWS 服务的 Short-lived OAuth 令牌（最多一小时）。
+ **刷新令牌 **-用于获取新的访问令牌，无需用户再次进行身份验证。 AWS Sign-In 自动管理授权应用程序的令牌刷新。

交互式授权支持：
+ IAM 用户
+ AWS 账户 root 用户
+ IAM Identity Center 用户
+ SAML 和自定义身份代理用户

有关使用交互式授权连接代理的演练，请参阅[AWS MCP 服务器](aws-mcp-server.md)。

### Non-interactive 授权
<a name="oauth-sign-in-non-interactive"></a>

Non-interactive 授权适用于已经拥有 AWS 凭据且无法执行基于浏览器的身份验证的代理和应用程序。

AWS Sign-In 使用 AWS 签名版本 4 (SigV4) 证书而不是静态 OAuth 客户端密钥实现 OAuth 2.0 客户端凭据授予。应用程序使用现有 AWS 凭据对 AWS Sign-In 令牌端点进行身份验证，并收到一个短期的 OAuth 访问令牌，该令牌可用于访问支持的服务。 AWS 

客户端凭据授予仅颁发访问令牌（不授予刷新令牌）。当前令牌到期时请求新的访问令牌。

有关使用非交互式授权连接应用程序的演练，请参阅。[AWS MCP 服务器](aws-mcp-server.md)

## 安全模型
<a name="oauth-sign-in-security-model"></a>

OAuth 授权与现有 AWS 的安全模型集成。 AWS Sign-In 通过以下 OAuth-specific 功能扩展了此授权模型，包括：
+ 用于 OAuth 授权和令牌管理的 IAM 操作。有关[操作、资源和条件键，请参阅 AWS Sign-In](https://docs.aws.amazon.com/service-authorization/latest/reference/list_signin.html)。
+ OAuth 授权授予资源。有关[操作、资源和条件键，请参阅 AWS Sign-In](https://docs.aws.amazon.com/service-authorization/latest/reference/list_signin.html)。
+ OAuth-specific IAM 条件密钥。请参阅[OAuth 条件密钥](reference-signin-condition-keys.md#reference-signin-condition-keys-oauth)。
+ 代币[自省](https://docs.aws.amazon.com/signin/latest/APIReference/API_dataplane-signin_IntrospectOAuth2TokenWithIAM.html)和[撤销 ](https://docs.aws.amazon.com/signin/latest/APIReference/API_dataplane-signin_RevokeOAuth2TokenWithIAM.html) API。
+ AWS CloudTrail 审计 OAuth 授权和令牌生命周期事件。请参阅[监控 OAuth 活动](aws-mcp-server.md#aws-mcp-server-monitoring)。
+ 交互式授权流程需要 OAuth 2.1 的 PKCE（代码交换证明密钥）。
+ Single-use 授权码和轮换一次性刷新令牌以防止重播攻击。
+ VPCE 支持 OAuth API。请参阅[AWS PrivateLink](oauth-privatelink.md)。
+ 支持 DCR 中的可信重定向 URI。

这些功能允许管理员使用他们已经使用的相同的 IAM 授权模型来管理 OAuth 授权。 AWS

## OAuth 终端节点
<a name="oauth-sign-in-endpoints"></a>

AWS Sign-In 提供以下 OAuth 端点。


| 端点 | 路径 | 说明 | 
| --- | --- | --- | 
| Authorization | /v1/authorize | 启动交互式授权流程。 | 
| 令牌 | /v1/token | 交换授权码、刷新令牌或客户端凭证以获取 OAuth 令牌。 | 
| 反省 | /v1/introspect | 返回有关 OAuth 令牌的元数据。 | 
| 吊销 | /v1/revoke | 撤消刷新令牌。 | 
| 动态客户注册 | /v1/register | 向注册经批准的 OAuth 客户端。 AWS Sign-In仅接受列入许可名单的重定向 URI。 | 

使用此区域终端节点进行 OAuth 流程，网址为。`https://{region}.oauth.signin.aws`有关可能的区域值的列表，请参阅[AWS Sign-In终端节点中的区域列](https://docs.aws.amazon.com/general/latest/gr/signin-service.html)。

## 相关主题
<a name="oauth-sign-in-related"></a>
+ [AWS MCP 服务器](aws-mcp-server.md)
+ [OAuth 条件密钥](reference-signin-condition-keys.md#reference-signin-condition-keys-oauth)
+ [AWS Sign-In API 引用](https://docs.aws.amazon.com/signin/latest/APIReference/API_Operations.html)
+ [的操作、资源和条件键 AWS Sign-In ](https://docs.aws.amazon.com/service-authorization/latest/reference/list_signin.html)