|
1 | 1 | // Module included in the following assemblies: |
2 | 2 | // |
3 | 3 | //Postinstall and update content |
4 | | -// * post_installation_configuration/cluster-tasks.adoc |
| 4 | +// * post_installation_configuration/changing-cloud-credentials-configuration.adoc |
5 | 5 | // * updating/preparing_for_updates/preparing-manual-creds-update.adoc |
6 | 6 | // |
7 | 7 | //Platforms that must use `ccoctl` and update content |
@@ -169,155 +169,8 @@ ifdef::update[] |
169 | 169 | * You have extracted the `CredentialsRequest` custom resources (CRs) from the {product-title} release image and ensured that a namespace that matches the text in the `spec.secretRef.namespace` field exists in the cluster. |
170 | 170 | endif::update[] |
171 | 171 |
|
172 | | -//AWS permissions needed when running ccoctl during install (I think we can omit from upgrade, since they already have an appropriate AWS account if they are upgrading). |
173 | | -ifdef::aws-sts[] |
174 | | -* You have created an AWS account for the `ccoctl` utility to use with the following permissions: |
175 | | -+ |
176 | | -.Required AWS permissions |
177 | | -[%collapsible] |
178 | | -==== |
179 | | -**Required `iam` permissions** |
180 | | - |
181 | | -* `iam:CreateOpenIDConnectProvider` |
182 | | -* `iam:CreateRole` |
183 | | -* `iam:DeleteOpenIDConnectProvider` |
184 | | -* `iam:DeleteRole` |
185 | | -* `iam:DeleteRolePolicy` |
186 | | -* `iam:GetOpenIDConnectProvider` |
187 | | -* `iam:GetRole` |
188 | | -* `iam:GetUser` |
189 | | -* `iam:ListOpenIDConnectProviders` |
190 | | -* `iam:ListRolePolicies` |
191 | | -* `iam:ListRoles` |
192 | | -* `iam:PutRolePolicy` |
193 | | -* `iam:TagOpenIDConnectProvider` |
194 | | -* `iam:TagRole` |
195 | | -
|
196 | | -**Required `s3` permissions** |
197 | | - |
198 | | -* `s3:CreateBucket` |
199 | | -* `s3:DeleteBucket` |
200 | | -* `s3:DeleteObject` |
201 | | -* `s3:GetBucketAcl` |
202 | | -* `s3:GetBucketTagging` |
203 | | -* `s3:GetObject` |
204 | | -* `s3:GetObjectAcl` |
205 | | -* `s3:GetObjectTagging` |
206 | | -* `s3:ListBucket` |
207 | | -* `s3:PutBucketAcl` |
208 | | -* `s3:PutBucketPolicy` |
209 | | -* `s3:PutBucketPublicAccessBlock` |
210 | | -* `s3:PutBucketTagging` |
211 | | -* `s3:PutObject` |
212 | | -* `s3:PutObjectAcl` |
213 | | -* `s3:PutObjectTagging` |
214 | | -
|
215 | | -**Required `cloudfront` permissions** |
216 | | - |
217 | | -* `cloudfront:ListCloudFrontOriginAccessIdentities` |
218 | | -* `cloudfront:ListDistributions` |
219 | | -* `cloudfront:ListTagsForResource` |
220 | | -==== |
221 | | -+ |
222 | | -If you plan to store the OIDC configuration in a private S3 bucket that is accessed by the IAM identity provider through a public CloudFront distribution URL, the AWS account that runs the `ccoctl` utility requires the following additional permissions: |
223 | | -+ |
224 | | -.Additional permissions for a private S3 bucket with CloudFront |
225 | | -[%collapsible] |
226 | | -==== |
227 | | -* `cloudfront:CreateCloudFrontOriginAccessIdentity` |
228 | | -* `cloudfront:CreateDistribution` |
229 | | -* `cloudfront:DeleteCloudFrontOriginAccessIdentity` |
230 | | -* `cloudfront:DeleteDistribution` |
231 | | -* `cloudfront:GetCloudFrontOriginAccessIdentity` |
232 | | -* `cloudfront:GetCloudFrontOriginAccessIdentityConfig` |
233 | | -* `cloudfront:GetDistribution` |
234 | | -* `cloudfront:TagResource` |
235 | | -* `cloudfront:UpdateDistribution` |
236 | | -
|
237 | | -[NOTE] |
238 | | -===== |
239 | | -These additional permissions support the use of the `--create-private-s3-bucket` option when processing credentials requests with the `ccoctl aws create-all` command. |
240 | | -===== |
241 | | -==== |
242 | | -endif::aws-sts[] |
243 | | -
|
244 | | -//Azure permissions needed when running ccoctl during install. |
245 | | -ifdef::azure-workload-id[] |
246 | | -* You have created a global Microsoft Azure account for the `ccoctl` utility to use with the following permissions: |
247 | | -+ |
248 | | -.Required Azure permissions |
249 | | -[%collapsible] |
250 | | -==== |
251 | | -* Microsoft.Resources/subscriptions/resourceGroups/read |
252 | | -* Microsoft.Resources/subscriptions/resourceGroups/write |
253 | | -* Microsoft.Resources/subscriptions/resourceGroups/delete |
254 | | -* Microsoft.Authorization/roleAssignments/read |
255 | | -* Microsoft.Authorization/roleAssignments/delete |
256 | | -* Microsoft.Authorization/roleAssignments/write |
257 | | -* Microsoft.Authorization/roleDefinitions/read |
258 | | -* Microsoft.Authorization/roleDefinitions/write |
259 | | -* Microsoft.Authorization/roleDefinitions/delete |
260 | | -* Microsoft.Storage/storageAccounts/listkeys/action |
261 | | -* Microsoft.Storage/storageAccounts/delete |
262 | | -* Microsoft.Storage/storageAccounts/read |
263 | | -* Microsoft.Storage/storageAccounts/write |
264 | | -* Microsoft.Storage/storageAccounts/blobServices/containers/write |
265 | | -* Microsoft.Storage/storageAccounts/blobServices/containers/delete |
266 | | -* Microsoft.Storage/storageAccounts/blobServices/containers/read |
267 | | -* Microsoft.ManagedIdentity/userAssignedIdentities/delete |
268 | | -* Microsoft.ManagedIdentity/userAssignedIdentities/read |
269 | | -* Microsoft.ManagedIdentity/userAssignedIdentities/write |
270 | | -* Microsoft.ManagedIdentity/userAssignedIdentities/federatedIdentityCredentials/read |
271 | | -* Microsoft.ManagedIdentity/userAssignedIdentities/federatedIdentityCredentials/write |
272 | | -* Microsoft.ManagedIdentity/userAssignedIdentities/federatedIdentityCredentials/delete |
273 | | -* Microsoft.Storage/register/action |
274 | | -* Microsoft.ManagedIdentity/register/action |
275 | | -==== |
276 | | -endif::azure-workload-id[] |
277 | | -
|
278 | | -//GCP permissions needed when running ccoctl during install. |
279 | | -ifdef::google-cloud-platform[] |
280 | | -* You have added one of the following authentication options to the GCP account that the installation program uses: |
281 | | - |
282 | | -** The **IAM Workload Identity Pool Admin** role. |
283 | | - |
284 | | -** The following granular permissions: |
285 | | -+ |
286 | | -.Required GCP permissions |
287 | | -[%collapsible] |
288 | | -==== |
289 | | -* compute.projects.get |
290 | | -* iam.googleapis.com/workloadIdentityPoolProviders.create |
291 | | -* iam.googleapis.com/workloadIdentityPoolProviders.get |
292 | | -* iam.googleapis.com/workloadIdentityPools.create |
293 | | -* iam.googleapis.com/workloadIdentityPools.delete |
294 | | -* iam.googleapis.com/workloadIdentityPools.get |
295 | | -* iam.googleapis.com/workloadIdentityPools.undelete |
296 | | -* iam.roles.create |
297 | | -* iam.roles.delete |
298 | | -* iam.roles.list |
299 | | -* iam.roles.undelete |
300 | | -* iam.roles.update |
301 | | -* iam.serviceAccounts.create |
302 | | -* iam.serviceAccounts.delete |
303 | | -* iam.serviceAccounts.getIamPolicy |
304 | | -* iam.serviceAccounts.list |
305 | | -* iam.serviceAccounts.setIamPolicy |
306 | | -* iam.workloadIdentityPoolProviders.get |
307 | | -* iam.workloadIdentityPools.delete |
308 | | -* resourcemanager.projects.get |
309 | | -* resourcemanager.projects.getIamPolicy |
310 | | -* resourcemanager.projects.setIamPolicy |
311 | | -* storage.buckets.create |
312 | | -* storage.buckets.delete |
313 | | -* storage.buckets.get |
314 | | -* storage.buckets.getIamPolicy |
315 | | -* storage.buckets.setIamPolicy |
316 | | -* storage.objects.create |
317 | | -* storage.objects.delete |
318 | | -* storage.objects.list |
319 | | -==== |
320 | | -endif::google-cloud-platform[] |
| 172 | +//Permissions requirements (per platform, for install and key rotation) |
| 173 | +include::snippets/ccoctl-provider-permissions-requirements.adoc[] |
321 | 174 |
|
322 | 175 | .Procedure |
323 | 176 |
|
|
0 commit comments