AddGatewayAuth - 创建网关鉴权

创建网关鉴权。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

授权信息

下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:

  • 操作:是指具体的权限点。
  • 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
  • 资源类型:是指操作中支持授权的资源类型。具体说明如下:
    • 对于必选的资源类型,用背景高亮的方式表示。
    • 对于不支持资源级授权的操作,用全部资源表示。
  • 条件关键字:是指云产品自身定义的条件关键字。
  • 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作访问级别资源类型条件关键字关联操作
mse:AddGatewayAuthcreate
*Gateway
acs:mse:{#regionId}:{#accountId}:instance/{#GatewayUniqueId}

请求参数

名称类型必填描述示例值
Namestring

鉴权名称。

test
Typestring

鉴权类型:

  • JWT
  • OIDC
  • IDaaS
  • ExternalAuthZ(自建的鉴权服务)
JWT
Issuerstring

鉴权类型为 JWT/OIDC 时使用:

  • JWT:表示 JWT claims 的 iss(issuer),即签发人。
  • OIDC:表示 OIDC claims 的 iss(issuer),即签发人
https://example.com/auth
Jwksstring

JWT 公钥,支持 JSON 格式。

{"keys":[{"e":"AQAB","kid":"DHFbpoIUqrY8t2zpA2qXfCmr5VO5ZEr4RzHU_-envvQ","kty":"RSA","n":"xAE7eB6qugXyCAG3yhh7pkDkT65pHymX-P7KfIupjf59vsdo91bSP9C8H07pSAGQO1MV_xFj9VswgsCg4R6otmg5PV2He95lZdHtOcU5DXIg_pbhLdKXbi66GlVeK6ABZOUW3WYtnNHD-91gVuoeJT_DwtGGcp4ignkgXfkiEm4sw-4sfb4qdt5oLbyVpmW6x9cfa7vs2WTfURiCrBoUqgBo_-4WTiULmmHSGZHOjzwa8WtrtOQGsAFjIbno85jp6MnGGGZPYZbDAa_b3y5u-YpW7ypZrvD8BgtKVjgtQgZhLAGezMt0ua3DRrWnKqTZ0BJ_EyxOGuHJrLsn00fnMQ"}]}
TokenPositionstring

JWT Token 类型:

  • HEADER:通过 Header 传输

要校验的 Token 参数信息,默认是以 Bearer 为前缀放在 Authorization header 中,例如:Authorization: Bearer token。

HEADER
TokenNamestring

JWT Token 保存的位置。

要校验的 Token 参数信息,默认是以 Bearer 为前缀放在 Authorization header 中,例如:Authorization: Bearer token

Authorization
TokenNamePrefixstring

JWT Token 的前缀。

要校验的 Token 参数信息,默认是以 Bearer 为前缀放在 Authorization header 中,例如:Authorization: Bearer token

Bearer
TokenPassboolean

是否透传 Token。

true
IsWhiteboolean

授权黑白名单模式:

  • true:白名单模式(名单中的 hosts + paths 不需要校验即可访问,其余都需要校验)
  • false:黑名单模式(名单中的 hosts + paths 需要校验,其余可直接访问)
true
Statusboolean

未开放参数,无需传递(鉴权创建后默认为关闭状态)。

false
RedirectUrlstring

授权成功后的重定向地址(OIDC/IDaaS 使用,需要与 OIDC/IDaaS 中配置的重定向地址保持一致。)

https://test-.com/oauth2/callback
ClientIdstring

服务注册的应用 ID(OIDC/IDaaS 使用)。

23460e2fdd9bf9ad106****
ClientSecretstring

服务注册的应用 Secret(OIDC/IDaaS 使用)。

123****
CookieDomainstring

Cookie 的域名,认证通过后会将 Cookie 发送到指定的域名,保持登录状态。

例如:设置Cookie-domain=a.example.com,则 Cookie 会发送到域名a.example.com;设置Cookie-domain=.example.com,则 Cookie 会发送到example.com的所有子域名。

test.com
ScopesListarray

OIDC 授权作用域(OIDC 使用)。

string

OIDC 授权作用域

openid
LoginUrlstring

IDaaS 实例用户登录页地址(IDaaS 使用)。

https://daxxxxcn.aliyunidaas.com/
Substring

鉴权类型为 JWT 时使用;JWT claims 的 sub(subject),即主体,请确保 JWT 的 Payload 中的 sub 字段的值与此处配置的值一致。如果该参数未设置或者为空,那么默认与 Issuer 参数设置的值一致

testing@secure.istio.io
ExternalAuthZJSONobject

自定义鉴权信息。

ServiceIdlong

鉴权服务 ID。

1343
PrefixPathstring

鉴权服务提供的鉴权 API 的 Path,API 的 Path 需是前缀匹配。

/auth
TokenKeystring

Token 处于请求报文中哪个 Header 中,常见的有 Authorization 和 Cookie。

Authorization
AllowRequestHeadersarray

鉴权请求中允许携带的头部。

string

允许的请求头名称。

x-req
AllowUpstreamHeadersarray

鉴权响应中允许保留的头部。

string

允许的响应头名称。

x-resp
Timeoutinteger

鉴权服务的超时时间,单位:秒。

10
IsRestrictboolean

自定义鉴权模式:

  • true:严格模式,当鉴权服务不可用时(鉴权服务建立连接失败或者返回 5xx 请求),网关拒绝客户端请求
  • false:宽松模式,当鉴权服务不可用时(鉴权服务建立连接失败或者返回 5xx 请求),网关放过客户端请求
true
WithRequestBodyboolean

是否允许携带 Body。

true
BodyMaxBytesinteger

Body 的最大字节数。

4000000
GatewayUniqueIdstring

网关唯一标识 ID。

gw-*****9b04bb4474cae9d645be850e3d7
AuthResourceModeinteger

授权资源模式:

  • 0:简单模式
  • 1:复杂模式
1
AuthResourceConfigstring

复杂模式的 YAML 配置

AuthResourceListarray<object>

鉴权的授权规则列表,多个规则条件之间是“或”关系,规则条件内的多个匹配项之间是“与”关系。

object

数据结构。

DomainIdlong

规则内域名的 ID。

1765
Pathstring

规则的匹配路径。

/test
MatchTypestring

请求 Path 的匹配类型:

  • EQUAL:精确匹配
  • PRE:前缀匹配
  • ERGULAR:正则匹配
EQUAL
IgnoreCaseboolean

路径是否开启大小写敏感(创建自定义鉴权时使用,其他鉴权类型默认开启大小写敏感)

  • true:开启大小写敏感
  • false:关闭大小写敏感
true
AuthResourceHeaderListarray<object>

规则的请求头(当前仅供自定义鉴权使用)

object
HeaderKeystring

请求头名称。

x-req
HeaderMethodstring

匹配条件:

  • EQUAL:等于
  • NOT_EQUAL:不等于
  • EXIST:存在
  • NOT_EXIST:不存在
  • INCLUDE:包含
  • EXCLUDE:不包含
  • PREFIX:前缀
  • SUFFIX:后缀
  • REGREX:正则
EQUAL
HeaderValuestring

请求头的值。

123
AcceptLanguagestring

返回结果显示的语言。取值:zh(默认值):中文,en:英文

zh

返回参数

名称类型描述示例值
object

数据结构。

RequestIdstring

请求 ID。

4279C00F-A5E1-53C6-A43B-751C1C524D0B
HttpStatusCodeinteger

HTTP 状态码。

200
Messagestring

返回信息。

OK
Codeinteger

用于和 Success 同步,当 Success 为 true 时,Code 为 200。

200
Successboolean

请求结果,取值如下:

  • true:请求成功。
  • false:请求失败。
true
Datalong

创建的鉴权 ID。

333

示例

正常返回示例

JSON格式

{
  "RequestId": "4279C00F-A5E1-53C6-A43B-751C1C524D0B",
  "HttpStatusCode": 200,
  "Message": "OK",
  "Code": 200,
  "Success": true,
  "Data": 333
}

错误码

HTTP status code错误码错误信息描述
400IllegalRequestInvalid request:%s非法请求: %s
400InvalidParameterParameter error:%s请求参数错误:%s
403NoPermissionYou are not authorized to perform this operation:%s没有权限使用此接口:%s
404NotFoundNot found:%s资源不存在:%s
500InternalErrorConsole error. Try again later:%s控制台错误.稍后重试:%s

访问错误中心查看更多错误码。

变更历史

变更时间变更内容概要操作
2024-09-26API 内部配置变更,不影响调用查看变更详情
2024-04-11OpenAPI 入参发生变更查看变更详情