Skip to content

Commit 14691d8

Browse files
committed
docs(auth): add en docs
1 parent e0f97fe commit 14691d8

File tree

1 file changed

+66
-0
lines changed

1 file changed

+66
-0
lines changed

docs/en/portal/apollo-user-guide.md

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,72 @@ After the project is created, there are no editing and publishing permissions as
7676
3. Assign publish privileges
7777
* ![namespace-publish-permission](https://cdn.jsdelivr.net/gh/apolloconfig/apollo@master/doc/images/namespace-publish-permission.png)
7878

79+
### 1.2.3 Configuring permissions for different dimensions
80+
81+
Regarding Apollo's configuration permissions, the permissions were bound to the namespace during the initial design. Because Apollo's permission management itself is relatively flexible, it can be expanded on this basis.
82+
Design of main entity classes based on Apollo [E-R Diagram](/docs/en/design/apollo-design.md?id=_14-e-r-diagram)
83+
We can think of Namespace as the smallest unit of permissions, and App as the largest unit of permissions.
84+
In the middle are Env and Cluster, so we can manage permissions in different dimensions.
85+
86+
| App | Env | Cluster | Namespace | Model | Impl |
87+
| --- | --- | --- | --- | --- |------|
88+
| ☑️ | | | | App → * | no |
89+
| ☑️ | | | ☑️ | App → Namespace | yes |
90+
| ☑️ | ☑️ | | | App + Env → * | no |
91+
| ☑️ | ☑️ | | ☑️ | App + Env → Namespace | yes |
92+
| ☑️ | ☑️ | ☑️ | | App + Env + Cluster → * | yes |
93+
| ☑️ | ☑️ | ☑️ | ☑️ | App + Env + Cluster → Namespace | no |
94+
95+
Explanation of different permission models:
96+
97+
| Model | Target | PermissionType (e.g. Modify) | TargetId |
98+
| --- | --- | --- | --- |
99+
| App → * | All namespaces of App | | |
100+
| App → Namespace | All namespaces with specified names under App | ModifyNamespace | App+Namespace |
101+
| App + Env → * | All namespaces under App's env | | |
102+
| App + Env → Namespace | All namespaces with specified names under App's env | ModifyNamespace | App+Namespace+Env |
103+
| App + Env + Cluster → * | All namespaces of the cluster in App's env | ModifyNamespaceInCluster | App+Env+ClusterName |
104+
| App + Env + Cluster → Namespace | The namespace with the specified name under the cluster in App's env | | |
105+
106+
#### 1.2.3.1 All namespaces of App
107+
108+
1. Click the authorization button of the application
109+
* ![ns-permission-app-allns-entry](https://cdn.jsdelivr.net/gh/apolloconfig/apollo@master/doc/images/ns-permission-app-allns-entry.png)
110+
111+
2. Select "All environments"
112+
* ![ns-permission-app-allns-select](https://cdn.jsdelivr.net/gh/apolloconfig/apollo@master/doc/images/ns-permission-app-allns-select.png)
113+
114+
3. Assign the modify permission
115+
* ![namespace-permission-edit](https://cdn.jsdelivr.net/gh/apolloconfig/apollo@master/doc/images/namespace-permission-edit.png)
116+
117+
4. Assign publish privileges
118+
* ![namespace-publish-permission](https://cdn.jsdelivr.net/gh/apolloconfig/apollo@master/doc/images/namespace-publish-permission.png)
119+
120+
#### 1.2.3.2 All namespaces of App's env
121+
122+
1. Click the authorization button of the application
123+
* ![ns-permission-app-env-allns-entry](https://cdn.jsdelivr.net/gh/apolloconfig/apollo@master/doc/images/ns-permission-app-env-allns-entry.png)
124+
125+
2. Select the env
126+
* ![ns-permission-app-env-ns-select](https://cdn.jsdelivr.net/gh/apolloconfig/apollo@master/doc/images/ns-permission-app-env-ns-select.png)
127+
128+
3. Assign the modify permission
129+
* ![namespace-permission-edit](https://cdn.jsdelivr.net/gh/apolloconfig/apollo@master/doc/images/namespace-permission-edit.png)
130+
131+
4. Assign publish privileges
132+
* ![namespace-publish-permission](https://cdn.jsdelivr.net/gh/apolloconfig/apollo@master/doc/images/namespace-publish-permission.png)
133+
134+
#### 1.2.3.3 All namespaces of the cluster in App's env
135+
136+
1. Click "Manage Cluster" to enter the management cluster page
137+
* ![manage-cluster-entry](https://cdn.jsdelivr.net/gh/apolloconfig/apollo@master/doc/images/manage-cluster-entry.png)
138+
139+
2. Click the authorization button of the Cluster you want to manage
140+
* ![ns-permission-app-env-cluster-entry](https://cdn.jsdelivr.net/gh/apolloconfig/apollo@master/doc/images/ns-permission-app-env-cluster-entry.png)
141+
142+
3. Edit permissions
143+
* ![ns-permission-app-env-cluster-edit](https://cdn.jsdelivr.net/gh/apolloconfig/apollo@master/doc/images/ns-permission-app-env-cluster-edit.png)
144+
79145
## 1.3 Adding configuration items
80146

81147
To edit the configuration, you need to have the edit permission of this Namespace. If you find that there is no Add Configuration button, you can find the project administrator to authorize it.

0 commit comments

Comments
 (0)