|
17 | 17 | package api
|
18 | 18 |
|
19 | 19 | import (
|
20 |
| - "bytes" |
21 | 20 | "context"
|
22 | 21 | "encoding/json"
|
23 | 22 | "errors"
|
24 |
| - "strings" |
25 | 23 | "time"
|
26 | 24 |
|
27 | 25 | "github.com/go-openapi/runtime/middleware"
|
@@ -123,36 +121,17 @@ func registerServiceAccountsHandlers(api *operations.ConsoleAPI) {
|
123 | 121 |
|
124 | 122 | // createServiceAccount adds a service account to the userClient and assigns a policy to him if defined.
|
125 | 123 | func createServiceAccount(ctx context.Context, userClient MinioAdmin, policy string, name string, description string, expiry *time.Time, comment string) (*models.ServiceAccountCreds, error) {
|
126 |
| - // By default a nil policy will be used so the service account inherit the parent account policy, otherwise |
127 |
| - // we override with the user provided iam policy |
128 |
| - var iamPolicy *iampolicy.Policy |
129 |
| - if strings.TrimSpace(policy) != "" { |
130 |
| - iamp, err := iampolicy.ParseConfig(bytes.NewReader([]byte(policy))) |
131 |
| - if err != nil { |
132 |
| - return nil, err |
133 |
| - } |
134 |
| - iamPolicy = iamp |
135 |
| - } |
136 |
| - creds, err := userClient.addServiceAccount(ctx, iamPolicy, "", "", "", name, description, expiry, comment) |
| 124 | + creds, err := userClient.addServiceAccount(ctx, policy, "", "", "", name, description, expiry, comment) |
137 | 125 | if err != nil {
|
138 | 126 | return nil, err
|
139 | 127 | }
|
140 | 128 | return &models.ServiceAccountCreds{AccessKey: creds.AccessKey, SecretKey: creds.SecretKey, URL: getMinIOServer()}, nil
|
141 | 129 | }
|
142 | 130 |
|
143 |
| -// createServiceAccount adds a service account with the given credentials to the userClient and assigns a policy to him if defined. |
| 131 | +// createServiceAccount adds a service account with the given credentials to the |
| 132 | +// userClient and assigns a policy to him if defined. |
144 | 133 | func createServiceAccountCreds(ctx context.Context, userClient MinioAdmin, policy string, accessKey string, secretKey string, name string, description string, expiry *time.Time, comment string) (*models.ServiceAccountCreds, error) {
|
145 |
| - // By default a nil policy will be used so the service account inherit the parent account policy, otherwise |
146 |
| - // we override with the user provided iam policy |
147 |
| - var iamPolicy *iampolicy.Policy |
148 |
| - if strings.TrimSpace(policy) != "" { |
149 |
| - iamp, err := iampolicy.ParseConfig(bytes.NewReader([]byte(policy))) |
150 |
| - if err != nil { |
151 |
| - return nil, err |
152 |
| - } |
153 |
| - iamPolicy = iamp |
154 |
| - } |
155 |
| - creds, err := userClient.addServiceAccount(ctx, iamPolicy, "", accessKey, secretKey, name, description, expiry, comment) |
| 134 | + creds, err := userClient.addServiceAccount(ctx, policy, "", accessKey, secretKey, name, description, expiry, comment) |
156 | 135 | if err != nil {
|
157 | 136 | return nil, err
|
158 | 137 | }
|
@@ -190,37 +169,15 @@ func getCreateServiceAccountResponse(session *models.Principal, params saApi.Cre
|
190 | 169 |
|
191 | 170 | // createServiceAccount adds a service account to a given user and assigns a policy to him if defined.
|
192 | 171 | func createAUserServiceAccount(ctx context.Context, userClient MinioAdmin, policy string, user string, name string, description string, expiry *time.Time, comment string) (*models.ServiceAccountCreds, error) {
|
193 |
| - // By default a nil policy will be used so the service account inherit the parent account policy, otherwise |
194 |
| - // we override with the user provided iam policy |
195 |
| - var iamPolicy *iampolicy.Policy |
196 |
| - if strings.TrimSpace(policy) != "" { |
197 |
| - iamp, err := iampolicy.ParseConfig(bytes.NewReader([]byte(policy))) |
198 |
| - if err != nil { |
199 |
| - return nil, err |
200 |
| - } |
201 |
| - iamPolicy = iamp |
202 |
| - } |
203 |
| - |
204 |
| - creds, err := userClient.addServiceAccount(ctx, iamPolicy, user, "", "", name, description, expiry, comment) |
| 172 | + creds, err := userClient.addServiceAccount(ctx, policy, user, "", "", name, description, expiry, comment) |
205 | 173 | if err != nil {
|
206 | 174 | return nil, err
|
207 | 175 | }
|
208 | 176 | return &models.ServiceAccountCreds{AccessKey: creds.AccessKey, SecretKey: creds.SecretKey, URL: getMinIOServer()}, nil
|
209 | 177 | }
|
210 | 178 |
|
211 | 179 | func createAUserServiceAccountCreds(ctx context.Context, userClient MinioAdmin, policy string, user string, accessKey string, secretKey string, name string, description string, expiry *time.Time, comment string) (*models.ServiceAccountCreds, error) {
|
212 |
| - // By default a nil policy will be used so the service account inherit the parent account policy, otherwise |
213 |
| - // we override with the user provided iam policy |
214 |
| - var iamPolicy *iampolicy.Policy |
215 |
| - if strings.TrimSpace(policy) != "" { |
216 |
| - iamp, err := iampolicy.ParseConfig(bytes.NewReader([]byte(policy))) |
217 |
| - if err != nil { |
218 |
| - return nil, err |
219 |
| - } |
220 |
| - iamPolicy = iamp |
221 |
| - } |
222 |
| - |
223 |
| - creds, err := userClient.addServiceAccount(ctx, iamPolicy, user, accessKey, secretKey, name, description, expiry, comment) |
| 180 | + creds, err := userClient.addServiceAccount(ctx, policy, user, accessKey, secretKey, name, description, expiry, comment) |
224 | 181 | if err != nil {
|
225 | 182 | return nil, err
|
226 | 183 | }
|
|
0 commit comments