-
Notifications
You must be signed in to change notification settings - Fork 354
5、用户管理
wanghe edited this page Jul 25, 2024
·
3 revisions
系统会初始化 admin 超级管理员(默认密码 kubepi),拥有系统所有资源的管理权限
- 创建用户 user1,拥有集群管理员和用户管理员角色
![create-user](https://private-user-images.githubusercontent.com/46734380/253904372-f7323898-f971-4259-b73d-9d68d74bb195.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk4Mjg5MDksIm5iZiI6MTczOTgyODYwOSwicGF0aCI6Ii80NjczNDM4MC8yNTM5MDQzNzItZjczMjM4OTgtZjk3MS00MjU5LWI3M2QtOWQ2OGQ3NGJiMTk1LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTclMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE3VDIxNDMyOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWE4YzBkNDA2M2Q3MjNmODI1ZGJmNGQ0YTlmNTFhOWIwYzJkNTg4MDU0YWE5ZWMyMjkyNzc4NjRhODVhYzljNzYmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.b-ncg2z3XxmH7gFzmaCT-mBxZYB0GdyDk5UrHeo_8uU)
- Manage Clusters: 集群管理员,拥有集群对象的所有权限
- Manage RBAC: 角色与用户管理员,拥有角色和用户对象的所有权限
- ReadOnly: 只读用户,只拥有所有对象的访问权限
- Common User: 普通用户,只拥有集群对象访问权限
![role-index](https://private-user-images.githubusercontent.com/46734380/253904412-00628616-5158-4d21-ba2f-6ad7985d9511.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk4Mjg5MDksIm5iZiI6MTczOTgyODYwOSwicGF0aCI6Ii80NjczNDM4MC8yNTM5MDQ0MTItMDA2Mjg2MTYtNTE1OC00ZDIxLWJhMmYtNmFkNzk4NWQ5NTExLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTclMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE3VDIxNDMyOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTQ4OTQxYWRjMDNkNWE0YzI0Nzc2N2YyNzFmMzA1OTQxNDEyNGJhMWRhZWY5ODAzYjA4NjA1OWExNjQ0NGExMzYmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.kmAGErNhgWmZtgRWCBXqIFj44HtMqDrZ4k6aw7kzHm0)
创建角色 role1,拥有用户、角色、镜像仓库和系统日志的所有操作权限
![create-role](https://private-user-images.githubusercontent.com/46734380/253904455-af4e4e36-90e2-488c-b679-9466fcbaa99e.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk4Mjg5MDksIm5iZiI6MTczOTgyODYwOSwicGF0aCI6Ii80NjczNDM4MC8yNTM5MDQ0NTUtYWY0ZTRlMzYtOTBlMi00ODhjLWI2NzktOTQ2NmZjYmFhOTllLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTclMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE3VDIxNDMyOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTQxNzMwZjIxNzFlZjliYTBiOTZhNDc5OWM0NWNkNjU4YmYxZTY0YzczN2RmMDE1YTExMTY2MGYzMWVkNjg2MmYmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.p2ehpoLzprkIYDdRdpFnR0duEdIsvXxlKze-PMFfhLM)
- 管理员可以将 LDAP 外部用户系统中的用户同步到系统中,同时允许最终用户在登录 KubePi 时使用其 LDAP 凭据进行身份验证
![ldap](https://private-user-images.githubusercontent.com/46734380/253904495-7045e138-50ce-49df-995c-d2cfd23fec89.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk4Mjg5MDksIm5iZiI6MTczOTgyODYwOSwicGF0aCI6Ii80NjczNDM4MC8yNTM5MDQ0OTUtNzA0NWUxMzgtNTBjZS00OWRmLTk5NWMtZDJjZmQyM2ZlYzg5LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTclMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE3VDIxNDMyOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTAxNGIyOTZkYWI1MGI4NGM4MjIwNmFkOTdiYjc4ZGIwMmUyY2RjNTViYzNjY2EwNjkwMGFhODU5YWQwYjE5ZjEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.8prB-T2_d2KNRIZ96gCWQ4da2E-RwwaIuYckLNWvcww)
- 1.1、创建 Keycloak 持久化目录,并将权限设置为 1000
mkdir ./data
chown 1000:1000 ./data
- 1.2、运行 Keycloak
docker run --name keycloak-test -d \
-p 8080:8080 \
-v ./data:/opt/keycloak/data/h2 \
-e KEYCLOAK_ADMIN=admin -e KEYCLOAK_ADMIN_PASSWORD=123456 \
-e PROXY_ADDRESS_FORWARDING=true \
-e KC_PROXY=edge \
-e KC_HOSTNAME_STRICT_BACKCHANNEL=false \
quay.io/keycloak/keycloak:21.1.1 \
start-dev
注意:Valid redirect URIs:KubePi 访问地址+/kubepi/api/v1/sso/callback
查看 Client Secret
查看 issuer 接口地址
配置参数描述
协议:SSO认证协议
接口地址:issuer URL
客户端ID:kubepi
客户端密钥:Z8hvxryA2ErZtXTqMwdwtIVjaskB3GXb
勾选功能开启
- 1.1、创建 Keycloak 持久化目录,并将权限设置为 1000
mkdir ./data
chown 1000:1000 ./data
- 1.2、运行 Keycloak
docker run --name keycloak-test -d \
-p 8080:8080 \
-v ./data:/opt/keycloak/data/h2 \
-e KEYCLOAK_ADMIN=admin -e KEYCLOAK_ADMIN_PASSWORD=123456 \
-e PROXY_ADDRESS_FORWARDING=true \
-e KC_PROXY=edge \
-e KC_HOSTNAME_STRICT_BACKCHANNEL=false \
quay.io/keycloak/keycloak:21.1.1 \
start-dev
由于 KeyCloak 默认 SAML2 客户端属性映射中不会存在用户名和邮箱,因此需要添加此属性映射
注意:Client ID:kubepi访问地址+/kubepi/api/v1/sso/saml/metadata
配置高级参数
Assertion Consumer Service POST Binding URL: kubepi访问地址+/kubepi/api/v1/sso/saml/metadata
Logout Service POST Binding URL:kubepi访问地址+/kubepi/api/v1/sso/saml/
添加 Client scope
配置参数描述
协议:SSO认证协议
接口地址: IDP元数据URL(可到Keycloak realm-settings--->Endpoints --->SAML 2.0 Identity Provider Metadata获取地址)
Certificate:
Certificate Key:
以上两个参数可使用命令生成:openssl req -x509 -newkey rsa:2048 -keyout kubepi.com.key -out kubepi.com.cert -days 365 -nodes -subj "/CN=kubepi.com"
勾选功能开启