This documentation is for a release that is no longer maintained
See documentation for the latest supported version.3.9. 管理身份和授权
本节介绍管理 Red Hat OpenShift Dev Spaces 的身份和授权的不同方面。
3.9.1. GitHub、GitLab 或 Bitbucket 的 OAuth 复制链接链接已复制到粘贴板!
允许用户处理远程 Git 存储库:
3.9.1.1. 为 GitHub 配置 OAuth 2.0 复制链接链接已复制到粘贴板!
允许用户处理 GitHub 上托管的远程 Git 存储库:
- 设置 GitHub OAuth App (OAuth 2.0)。
- 应用 GitHub OAuth App Secret。
3.9.1.1.1. 设置 GitHub OAuth 应用程序 复制链接链接已复制到粘贴板!
使用 OAuth 2.0 设置 GitHub OAuth 应用程序。
先决条件
- 登录到 GitHub。
-
base64安装在您要使用的操作系统中。
流程
- 前往 https://github.com/settings/applications/new。
输入以下值:
-
应用程序名称 :
OpenShift Dev Spaces. -
主页 URL:
"https://devspaces-<openshift_deployment_name>.<domain_name>"/ -
授权回调 URL:
"https://devspaces-<openshift_deployment_name>.<domain_name>"/api/oauth/callback
-
应用程序名称 :
- 点击 Register application。
- 点 Generate new client secret。
复制 GitHub OAuth 客户端 ID,并将其编码为 Base64,以便在应用 GitHub OAuth App Secret 时使用:
echo -n '<github_oauth_client_id>' | base64
$ echo -n '<github_oauth_client_id>' | base64Copy to Clipboard Copied! Toggle word wrap Toggle overflow 复制 GitHub OAuth 客户端 Secret,并将其编码为 Base64,以便在应用 GitHub OAuth App Secret 时使用:
echo -n '<github_oauth_client_secret>' | base64
$ echo -n '<github_oauth_client_secret>' | base64Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.9.1.1.2. 应用 GitHub OAuth App Secret 复制链接链接已复制到粘贴板!
准备并应用 GitHub OAuth App Secret。
先决条件
- 设置 GitHub OAuth 应用程序已完成。
准备好设置 GitHub OAuth App 时所生成的 Base64 编码值:
- GitHub OAuth 客户端 ID
- GitHub OAuth 客户端机密
-
具有对目标 OpenShift 集群的管理权限的活跃
oc会话。请参阅 CLI 入门。
流程
准备 Secret:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 应用 Secret:
oc apply -f - <<EOF <Secret_prepared_in_the_previous_step> EOF
$ oc apply -f - <<EOF <Secret_prepared_in_the_previous_step> EOFCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 在输出中验证是否创建了 Secret。
3.9.1.2. 为 GitLab 配置 OAuth 2.0 复制链接链接已复制到粘贴板!
允许用户处理使用 GitLab 实例托管的远程 Git 存储库:
- 设置 GitLab 授权应用程序(OAuth 2.0)。
- 应用 GitLab 授权应用程序 Secret。
3.9.1.2.1. 设置 GitLab 授权应用程序 复制链接链接已复制到粘贴板!
使用 OAuth 2.0 设置 GitLab 授权应用程序。
先决条件
- 登录到 GitLab。
-
base64安装在您要使用的操作系统中。
流程
-
点您的 avatar,转到
。 - 输入 OpenShift Dev Spaces 作为名称。
-
输入
"https://devspaces-<openshift_deployment_name>.<domain_name>"/api/oauth/callback作为 Redirect URI。 - 选中 机密和 过期访问令牌 复选框。
-
在 Scopes 下,选中
api、write_repository和openides。 - 点 Save application。
复制 GitLab 应用 ID,并将其编码为 Base64,以便在应用 GitLab-authorized 应用程序 Secret 时使用:
echo -n '<gitlab_application_id>' | base64
$ echo -n '<gitlab_application_id>' | base64Copy to Clipboard Copied! Toggle word wrap Toggle overflow 复制 GitLab Client Secret,并将其编码为 Base64,以便在应用 GitLab-authorized 应用程序 Secret 时使用:
echo -n '<gitlab_client_secret>' | base64
$ echo -n '<gitlab_client_secret>' | base64Copy to Clipboard Copied! Toggle word wrap Toggle overflow
其他资源
3.9.1.2.2. 应用 GitLab-authorized 应用程序 Secret 复制链接链接已复制到粘贴板!
准备并应用 GitLab-authorized 应用 Secret。
先决条件
- 设置 GitLab 授权应用程序已完成。
在设置 GitLab 授权应用程序时生成的 Base64 编码值会被准备:
- GitLab Application ID
- GitLab 客户端机密
-
具有对目标 OpenShift 集群的管理权限的活跃
oc会话。请参阅 CLI 入门。
流程
准备 Secret:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 应用 Secret:
oc apply -f - <<EOF <Secret_prepared_in_the_previous_step> EOF
$ oc apply -f - <<EOF <Secret_prepared_in_the_previous_step> EOFCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 在输出中验证是否创建了 Secret。
3.9.1.3. 为 Bitbucket 服务器配置 OAuth 1.0 复制链接链接已复制到粘贴板!
允许用户使用托管在 Bitbucket 服务器上的远程 Git 存储库:
- 在 Bitbucket 服务器上设置应用程序链接(OAuth 1.0)。
- 对 Bitbucket 服务器应用应用程序链接 Secret。
3.9.1.3.1. 在 Bitbucket 服务器上设置应用程序链接 复制链接链接已复制到粘贴板!
在 Bitbucket 服务器上为 OAuth 1.0 设置应用程序链接。
流程
在命令行中,运行命令来创建后续步骤所需的文件,并在应用应用程序链接 Secret 时使用:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
转到
。 -
输入
"https://devspaces-<openshift_deployment_name>.<domain_name>"/in the URL 字段,然后点击 Create new link。 - 在提供的 Application URL 下重定向一次,选中 Use this URL 复选框,再单击 Continue 。
- 输入 OpenShift Dev Spaces 作为 Application Name。
- 选择 Generic Application 作为 Application Type。
- 输入 OpenShift Dev Spaces 作为 Service Provider Name。
-
将
bitbucket-consumer-key文件的内容粘贴到 Consumer 键。 -
将
bitbucket-shared-secret文件的内容粘贴到 Shared secret。 -
输入
<bitbucket_server_url> /plugins/servlet/oauth/request-token,作为 Request Token URL。 -
输入
<bitbucket_server_url> /plugins/servlet/oauth/access-token,作为 访问令牌 URL。 -
输入
<bitbucket_server_url> /plugins/servlet/oauth/authorize作为 Authorize URL。 - 选中 Create incoming 链接 复选框,再单击 Continue。
-
将
bitbucket_consumer_key文件的内容粘贴到 Consumer Key。 - 输入 OpenShift Dev Spaces 作为 使用者名称。
-
将
public-stripped.pub文件的内容粘贴到 Public Key,再单击 Continue。
3.9.1.3.2. 为 Bitbucket 服务器应用应用程序链接 Secret 复制链接链接已复制到粘贴板!
为 Bitbucket 服务器准备并应用应用程序链接 Secret。
先决条件
- 应用链接在 Bitbucket 服务器上设置。
准备好在设置应用程序链接时创建的以下 Base64 编码文件:
-
privatepkcs8-stripped.pem -
bitbucket_consumer_key -
bitbucket-shared-secret
-
-
具有对目标 OpenShift 集群的管理权限的活跃
oc会话。请参阅 CLI 入门。
流程
准备 Secret:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 应用 Secret:
oc apply -f - <<EOF <Secret_prepared_in_the_previous_step> EOF
$ oc apply -f - <<EOF <Secret_prepared_in_the_previous_step> EOFCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 在输出中验证是否创建了 Secret。
3.9.1.4. 为 Bitbucket 云配置 OAuth 2.0 复制链接链接已复制到粘贴板!
您可以让用户处理 Bitbucket 云上托管的远程 Git 存储库:
- 在 Bitbucket 云中设置 OAuth consumer (OAuth 2.0)。
- 对 Bitbucket 云应用 OAuth 使用者机密。
3.9.1.4.1. 在 Bitbucket 云中设置 OAuth 用户 复制链接链接已复制到粘贴板!
在 Bitbucket 云中为 OAuth 2.0 设置 OAuth 用户。
先决条件
- 登录到 Bitbucket 云。
-
base64安装在您要使用的操作系统中。
流程
- 点 avatar,进入 All workspaces 页面。
- 选择一个工作区并点它。
-
前往
。 - 输入 OpenShift Dev Spaces 作为名称。
-
输入
"https://devspaces-<openshift_deployment_name>.<domain_name>"/api/oauth/callback作为 Callback URL。 - 在 "权限" 下,选中所有 帐户 和存储库复选框,然后单击保存。
展开添加的使用者,然后复制 Key 值并将其编码为 Base64,以便在应用 Bitbucket OAuth consumer Secret 时使用:
echo -n '<bitbucket_oauth_consumer_key>' | base64
$ echo -n '<bitbucket_oauth_consumer_key>' | base64Copy to Clipboard Copied! Toggle word wrap Toggle overflow 复制 Secret 值并将其编码为 Base64,以便在应用 Bitbucket OAuth consumer Secret 时使用:
echo -n '<bitbucket_oauth_consumer_secret>' | base64
$ echo -n '<bitbucket_oauth_consumer_secret>' | base64Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.9.1.4.2. 为 Bitbucket 云应用 OAuth 用户 Secret 复制链接链接已复制到粘贴板!
为 Bitbucket 云准备并应用 OAuth 用户 Secret。
先决条件
- OAuth 使用者在 Bitbucket 云中设置。
准备好设置 Bitbucket OAuth 消费者时生成的 Base64 编码值:
- Bitbucket OAuth 使用者密钥
- Bitbucket OAuth 使用者机密
-
具有对目标 OpenShift 集群的管理权限的活跃
oc会话。请参阅 CLI 入门。
流程
准备 Secret:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 应用 Secret:
oc apply -f - <<EOF <Secret_prepared_in_the_previous_step> EOF
$ oc apply -f - <<EOF <Secret_prepared_in_the_previous_step> EOFCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 在输出中验证是否创建了 Secret。
3.9.2. 配置管理用户 复制链接链接已复制到粘贴板!
要在 OpenShift Dev Spaces 服务器上执行需要管理特权的操作,如删除用户数据,请激活具有管理特权的用户。默认安装为 admin 用户启用管理特权,无论它在 OpenShift 中是否存在。
流程
配置
CheCluster自定义资源,以使用管理特权设置 & lt;admin > 用户。请参阅 第 3.1.2 节 “使用 CLI 配置 CheCluster 自定义资源”。spec: components: cheServer: extraProperties: CHE_SYSTEM_ADMIN__NAME: '<admin>'spec: components: cheServer: extraProperties: CHE_SYSTEM_ADMIN__NAME: '<admin>'Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.9.3. 删除用户数据 复制链接链接已复制到粘贴板!
3.9.3.1. 根据 GDPR 删除用户数据 复制链接链接已复制到粘贴板!
您可以使用 OpenShift Dev Spaces API 删除 OpenShift Dev Spaces 用户数据。按照此流程,服务符合欧盟通用数据保护条例(GDPR),以强制个人使用个人数据清除的权利。
先决条件
- 具有 OpenShift Dev Spaces 的管理权限的活跃会话。请参阅 第 3.9.2 节 “配置管理用户”。
-
具有 OpenShift 集群的管理权限的活跃
oc会话。请参阅 OpenShift CLI 入门。
流程
-
获取 < ;username> user <
id> id : 进入 https://<devspaces-<openshift_deployment_ name >.<domain_name> > /swagger/#/user/find_1,点 ,设置名称 : <username>,然后点 。向下滚动 Response body 以查找id值。 -
删除 OpenShift Dev Spaces 服务器 管理的 <id > 用户数据,如用户首选项:导航到 https:// <devspaces- <openshift_deployment_name>.<domain_name> >/swagger/#/user/remove,点 ,设置 id: <id>,然后点 。预期为
204响应代码: 删除 user 项目,以删除绑定到用户的所有 OpenShift 资源,如工作区、secret 和 configmaps。
oc delete namespace <username>-devspaces
$ oc delete namespace <username>-devspacesCopy to Clipboard Copied! Toggle word wrap Toggle overflow
其他资源
- 第 5 章 使用 Dev Spaces 服务器 API.
- 第 3.2.1 节 “配置项目名称”.
- 要删除所有用户的数据,请参阅 第 7 章 卸载 Dev Spaces。