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. OAuth 用于 GitHub、GitLab 或 Bitbucket 复制链接链接已复制到粘贴板!
允许用户使用远程 Git 存储库:
3.9.1.1. 为 GitHub 配置 OAuth 2.0 复制链接链接已复制到粘贴板!
允许用户使用托管在 GitHub 上的远程 Git 存储库:
- 设置 GitHub OAuth 应用程序(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 应用程序 Secret 复制链接链接已复制到粘贴板!
准备并应用 GitHub OAuth App Secret。
先决条件
- 设置 GitHub OAuth 应用程序已完成。
 设置 GitHub OAuth App 时生成的 Base64 编码的值已准备好:
- GitHub OAuth 客户端 ID
 - GitHub OAuth 客户端机密
 
- 
									一个活跃的 
oc会话,具有到目标 OpenShift 集群的管理权限。请参阅 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 作为 Name。
 - 
									输入 
"https://devspaces-<openshift_deployment_name>.<domain_name>"/api/oauth/callback作为 Redirect URI。 - 选中 机密和 过期访问令牌 复选框。
 - 
									在 Scopes 下,选中 
api、write_repository和openid复选框。 - 点 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 客户端 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 客户端机密
 
- 
									一个活跃的 
oc会话,具有到目标 OpenShift 集群的管理权限。请参阅 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 - 
									前往  
。  - 
									在 URL 字段中输入 
"https://devspaces-<openshift_deployment_name>.<domain_name>"/,然后点击 Create new link。 - 在提供的 Application URL 下,选中 Use this URL 复选框,再单击 Continue。
 - 输入 OpenShift Dev Spaces 作为 Application Name。
 - 选择 Generic Application 作为 应用程序类型。
 - 输入 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作为 Access token URL。 - 
									输入 
<bitbucket_server_url> /plugins/servlet/oauth/authorize作为 Authorize URL。 - 选中 创建传入链接 复选框,再单击 继续。
 - 
									粘贴 
bitbucket_consumer_key文件的内容作为 Consumer Key。 - 输入 OpenShift Dev Spaces 作为 Consumer 名称。
 - 
									将 
public-stripped.pub文件的内容作为 公钥 粘贴,然后单击 Continue。 
3.9.1.3.2. 为 Bitbucket 服务器应用应用程序链接 Secret 复制链接链接已复制到粘贴板!
为 Bitbucket 服务器准备并应用应用链接 Secret。
先决条件
- 应用链接在 Bitbucket 服务器上设置。
 设置应用程序链接时创建的以下 Base64 编码文件已准备好:
- 
											
privatepkcs8-stripped.pem - 
											
bitbucket_consumer_key - 
											
bitbucket-shared-secret 
- 
											
 - 
									一个活跃的 
oc会话,具有到目标 OpenShift 集群的管理权限。请参阅 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 使用者(OAuth 2.0)。
 - 为 Bitbucket 云应用 OAuth 使用者 Secret。
 
3.9.1.4.1. 在 Bitbucket 云中设置 OAuth 使用者 复制链接链接已复制到粘贴板!
在 Bitbucket 云中为 OAuth 2.0 设置 OAuth 使用者。
先决条件
- 您已登录到 Bitbucket 云。
 - 
									
base64安装在您正在使用的操作系统中。 
流程
- 点 avatar,再进入 All workspaces 页面。
 - 选择一个工作区并点它。
 - 
									前往  
。  - 输入 OpenShift Dev Spaces 作为 Name。
 - 
									输入 
"https://devspaces-<openshift_deployment_name>.<domain_name>"/api/oauth/callback作为 Callback URL。 - 在 Permissions 下,选中所有 帐户和 存储库 复选框,然后单击保存。
 扩展添加的消费者,然后复制 Key 值并将其编码为 Base64,以便在应用 Bitbucket OAuth 消费者 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 消费者 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 消费者 Secret
 
- 
									一个活跃的 
oc会话,具有到目标 OpenShift 集群的管理权限。请参阅 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 用户的数据。按照此流程,使服务符合 EU General Data Protection Regulation (GDPR),它强制个人擦除个人数据。
先决条件
- 具有到 OpenShift Dev Spaces 的管理权限的活跃会话。请参阅 第 3.9.2 节 “配置管理用户”。
 - 
								一个活跃的 
oc会话,具有 OpenShift 集群的管理权限。请参阅 OpenShift CLI 入门。 
流程
- 
								获取 < ;username> user <id > 
id: 导航到 https:// <devspaces- <openshift_deployment_name>.<domain_name>> /swagger/#/user/find_1,点 , set name: <username> ,然后点 。向下滚动 Response body 以查找id值。 - 
								删除 OpenShift Dev Spaces 服务器 管理的 <id > 用户数据,如 user preferences: 导航到 https:// <devspaces- <openshift_deployment_name>.<domain_name> >/swagger/#/user/remove,点 , set id: <id>,然后点 。预期为 
204响应代码: 删除 user 项目,以删除绑定到用户的所有 OpenShift 资源,如工作区、机密和 configmap。
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。