You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: plugins/storage/object/cloudian/README.md
+3-1Lines changed: 3 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -70,6 +70,7 @@ Details MAP
70
70
```
71
71
72
72
The following "details" map entries are all required.
73
+
73
74
- validateSSL : The ADMIN API is internal and may not have a proper SSL Certificate.
74
75
- accesskey : Reuse of a shared configuration parameter to pass the Admin Username.
75
76
- secretkey : Reuse of a shared configuration parameter to pass the Admin password.
@@ -97,7 +98,7 @@ The following additional resources are also created for each HyperStore User.
97
98
| Root Credential Pair | These credentials have full access to the HyperStore User account. They are used to manage the IAM user resources listed below as well as to perform any top level bucket actions such as creating buckets, updating policies, enabling versioning etc. |
98
99
| IAM User "CloudStack" | The "CloudStack" IAM user is created with an inline policy as-per below. The IAM user is used by the CloudStack Bucket Browser UI to manage bucket contents.|
99
100
| IAM User Policy | This inline IAM user policy grants the "CloudStack" IAM user permission to any S3 action except `s3:createBucket` and `s3:deleteBucket`. This is mostly to ensure that all Buckets remain under CloudStack control as well as to restrict control over IAM actions.|
100
-
| IAM User Credential Pair | The "CloudStack" IAM user credentials are also managed by the plugin and are made available to the user under the "Bucket Details" page. They are additionally used by the CloudStack Bucket Browser UI. They are restricted by the aforementioned user policy.
101
+
| IAM User Credential Pair | The "CloudStack" IAM user credentials are also managed by the plugin and are made available to the user under the "Bucket Details" page. They are additionally used by the CloudStack Bucket Browser UI. They are restricted by the aforementioned user policy.|
101
102
102
103
## Bucket Management
103
104
@@ -119,6 +120,7 @@ Two "policies" are configurable using the CloudStack interface.
119
120
120
121
- Private : Objects are only accessible to the bucket owner. This is the equivalent of no bucket policy (and is implemented that way).
121
122
- Public : Objects are readable to everyone. Listing of all bucket objects is not granted so the object name must be known in order to access it.
Copy file name to clipboardExpand all lines: plugins/storage/object/cloudian/src/main/java/org/apache/cloudstack/storage/datastore/driver/CloudianHyperStoreObjectStoreDriverImpl.java
+12-2Lines changed: 12 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -164,6 +164,16 @@ public boolean createUser(long accountId, long storeId) {
164
164
Stringmsg = String.format("The User id=%s group id=%s is Disabled. Consult your HyperStore Administrator.", hsUserId, hsGroupId);
165
165
logger.error(msg);
166
166
thrownewCloudRuntimeException(msg);
167
+
} else {
168
+
// User exists and is active. We know that the group therefore exists but
169
+
// we should ensure that it is active or it will lead to unknown access key errors
170
+
// which might confuse the administrator. Checking is clearer.
171
+
CloudianGroupgroup = client.listGroup(hsGroupId);
172
+
if (group != null && ! group.getActive()) {
173
+
Stringmsg = String.format("The group id=%s is Disabled. Consult your HyperStore Administrator.", hsGroupId);
174
+
logger.error(msg);
175
+
thrownewCloudRuntimeException(msg);
176
+
}
167
177
}
168
178
169
179
// We either created a new account or found an existing one.
@@ -193,7 +203,7 @@ public boolean createUser(long accountId, long storeId) {
193
203
* @return an AccessKey object for newly created IAM credentials or null if existing credentials were ok
0 commit comments