OIDC 是一种广泛使用的授权框架,它基于 OAuth 2.0 协议之上,提供了身份验证和授权的功能。本教程介绍扣子编程插件如何与 Google Cloud Platform(GCP)集成,实现安全访问 GCP Cloud Storage Bucket。
你已经创建了一个非公开访问的 Bucket,本教程 Bucket 名称设置为 coze-plugin-oidc-test,详情可参考 Create buckets。
借助 Workload Identity,你的工作负载无需服务账号密钥即可访问 Google Cloud。
OIDC 是一种广泛使用的授权框架,它基于 OAuth 2.0 协议之上,提供了身份验证和授权的功能。
登录扣子编程。
在页面顶部选择目标工作空间,然后在左侧导航栏中单击资源库。
在页面右上角,选择 +资源 > 插件。
配置插件信息并单击确认。
设置基础信息。
|
配置项 |
说明 |
|---|---|
|
插件图标 |
单击默认图标后,您可以上传本地图片文件作为新的图标。 |
|
插件名称 |
自定义插件名称,用于标识当前插件。建议输入清晰易理解的名称,便于大语言模型搜索与使用插件。 |
|
插件描述 |
插件的描述信息,一般用于记录当前插件的用途。 |
|
插件工具创建方式 |
本教程选择基于已有服务创建。 |
|
插件 URL |
插件的访问地址或相关资源的链接,本教程输入 Google Cloud Storage 的默认域名 说明 插件 URL 必须为域名格式,暂不支持 IP 格式的 URL 地址。 |
|
Header 列表 |
HTTP 请求头参数列表。您需要根据 API 自身的参数配置要求来填写。 |
选择授权方式,本教程选择 Service > OAuth 2.0 & OIDC。
配置参数说明如下:
|
配置项 |
说明 |
|---|---|
|
grant_type |
根据 GrantType 来选择使用的 OAuth Flow,支持的 Flow 包括:
本教程选择 TokenExchange。 |
|
endpoint_url |
授权服务器的端点 URL,用于发送授权请求和接收响应。配置时需要指定授权服务器的地址,以便客户端可以正确地向服务器发起请求。 |
|
audience |
资源服务器,客户端告诉授权服务器它希望代表用户访问哪个资源服务器。配置时需要指定资源服务器的标识符。 |
|
scope |
客户端请求的权限范围。对于 OIDC,通常需要包含 |
|
client_id |
客户端在授权服务器注册时获得的唯一标识符,配置时需要使用在授权服务器注册应用时获得的 client_id。 |
参考以下操作,配置插件工具:
配置 Bucket 访问控制策略,实现步骤一中配置的 Provider 能够访问对应的 Bucket。
在左侧导航栏,单击 Buckets,然后单击 PERMISSIONS -> GRANT ACCESS。
添加访问控制权限,然后单击 SAVE。
在 Add Principals 填写步骤一中复制的 IAM principal,并根据以下规则调整 SUBJECT_ATTRIBUTE_VALUE :
// account_id: coze 账号 ID,这个账号必须是 workspace owner 的账号 ID
// workspace_id: 空间 ID
// plugin_id: 插件 ID
acct:${account_id}/ws:${workspace_id}/pln:${plugin_id}
完成上述所有配置,在扣子编程插件页面进行试运行,测试能够获取 Bucket 的名称。
在编辑工具页面,单击试运行。
在试运行页面,单击运行。
本教程无需配置输入参数。若在 Response 页签中成功返回 Bucket 名称,即表示创建工具成功。