注意
本文档适用于 Ceph 的开发版本。
RGW 中的 OpenID Connect 提供程序
需要在 RGW 中创建描述 OpenID Connect 提供程序的实体,以在两者之间建立信任。
用于操作 OpenID Connect 提供程序的 REST API
以下 REST API 可用于在 RGW 中创建和管理 OpenID Connect 提供程序实体。
为了调用 REST 管理 API,需要创建一个具有管理权限的用户。
radosgw-admin --uid TESTER --display-name "TestUser" --access_key TESTER --secret test123 user create
radosgw-admin caps add --uid="TESTER" --caps="oidc-provider=*"
CreateOpenIDConnectProvider
在 RGW 中创建 OpenID Connect 提供程序实体
请求参数
ClientIDList.member.N
- 描述:
需要访问 S3 资源的客户端 ID 列表。
- 类型:
字符串数组
ThumbprintList.member.N
- 描述:
OpenID Connect IDP 服务器证书指纹列表。最多允许 5 个指纹。
- 类型:
字符串数组
Url
- 描述:
IDP 的 URL。
- 类型:
String
示例
POST "<hostname>?Action=Action=CreateOpenIDConnectProvider
&ThumbprintList.list.1=F7D7B3515DD0D319DD219A43A9EA727AD6065287
&ClientIDList.list.1=app-profile-jsp
&Url=http://localhost:8080/auth/realms/quickstart"
DeleteOpenIDConnectProvider
删除 RGW 中的 OpenID Connect 提供程序实体
请求参数
OpenIDConnectProviderArn
- 描述:
由 Create API 返回的 IDP 的 ARN。
- 类型:
String
示例
POST "<hostname>?Action=Action=DeleteOpenIDConnectProvider
&OpenIDConnectProviderArn=arn:aws:iam:::oidc-provider/localhost:8080/auth/realms/quickstart"
GetOpenIDConnectProvider
获取有关 IDP 的信息。
请求参数
OpenIDConnectProviderArn
- 描述:
由 Create API 返回的 IDP 的 ARN。
- 类型:
String
示例
POST "<hostname>?Action=Action=GetOpenIDConnectProvider
&OpenIDConnectProviderArn=arn:aws:iam:::oidc-provider/localhost:8080/auth/realms/quickstart"
ListOpenIDConnectProviders
列出有关所有 IDP 的信息
请求参数
None
示例
POST "<hostname>?Action=Action=ListOpenIDConnectProviders
AddClientIDToOpenIDConnectProvider
将客户端 ID 添加到创建 OpenIDConnectProvider 时注册的现有客户端 ID 列表。
请求参数
OpenIDConnectProviderArn
- 描述:
由 Create API 返回的 IDP 的 ARN。
- 类型:
String
ClientID
- 描述:
要添加到现有 OpenIDConnectProvider 的客户端 ID。
- 类型:
String
示例
POST "<hostname>?Action=Action=AddClientIDToOpenIDConnectProvider
&OpenIDConnectProviderArn=arn:aws:iam:::oidc-provider/localhost:8080/auth/realms/quickstart
&ClientID=app-jee-jsp"
RemoveClientIDFromOpenIDConnectProvider
从创建 OpenIDConnectProvider 时注册的现有客户端 ID 列表中删除客户端 ID。
请求参数
OpenIDConnectProviderArn
- 描述:
由 Create API 返回的 IDP 的 ARN。
- 类型:
String
ClientID
- 描述:
要从现有 OpenIDConnectProvider 中删除的客户端 ID。
- 类型:
String
示例
POST "<hostname>?Action=Action=RemoveClientIDFromOpenIDConnectProvider
&OpenIDConnectProviderArn=arn:aws:iam:::oidc-provider/localhost:8080/auth/realms/quickstart
&ClientID=app-jee-jsp"
UpdateOpenIDConnectProviderThumbprint
使用给定的列表更新 OpenIDConnectProvider 的现有指纹列表。此 API 删除现有的指纹列表并将其替换为输入的指纹列表。
请求参数
OpenIDConnectProviderArn
- 描述:
由 Create API 返回的 IDP 的 ARN。
- 类型:
String
ThumbprintList.member.N
- 描述:
OpenID Connect IDP 服务器证书指纹列表。最多允许 5 个指纹。
- 类型:
字符串数组
示例
POST "<hostname>?Action=Action=UpdateOpenIDConnectProviderThumbprint
&OpenIDConnectProviderArn=arn:aws:iam:::oidc-provider/localhost:8080/auth/realms/quickstart
&&ThumbprintList.list.1=ABCDB3515DD0D319DD219A43A9EA727AD6061234"