Skip to content

Commit 4d74275

Browse files
committed
OSDOCS-13081
1 parent d09b967 commit 4d74275

9 files changed

+82
-31
lines changed

_topic_maps/_topic_map_rosa_hcp.yml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,8 +125,26 @@ Topics:
125125
File: cloud-experts-rosa-hcp-activation-and-account-linking-tutorial
126126
- Name: ROSA with HCP private offer acceptance and sharing
127127
File: cloud-experts-rosa-with-hcp-private-offer-acceptance-and-sharing
128+
- Name: Deploying ROSA with a Custom DNS Resolver
129+
File: cloud-experts-custom-dns-resolver
130+
- Name: Using AWS WAF and Amazon CloudFront to protect ROSA workloads
131+
File: cloud-experts-using-cloudfront-and-waf
132+
- Name: Using AWS WAF and AWS ALBs to protect ROSA workloads
133+
File: cloud-experts-using-alb-and-waf
134+
- Name: Deploying OpenShift API for Data Protection on a ROSA cluster
135+
File: cloud-experts-deploy-api-data-protection
136+
- Name: AWS Load Balancer Operator on ROSA
137+
File: cloud-experts-aws-load-balancer-operator
128138
- Name: Configuring Microsoft Entra ID (formerly Azure Active Directory) as an identity provider
129139
File: cloud-experts-entra-id-idp
140+
- Name: Using AWS Secrets Manager CSI on ROSA with STS
141+
File: cloud-experts-aws-secret-manager
142+
- Name: Using AWS Controllers for Kubernetes on ROSA
143+
File: cloud-experts-using-aws-ack
144+
- Name: Dynamically issuing certificates using the cert-manager Operator on ROSA
145+
File: cloud-experts-dynamic-certificate-custom-domain
146+
- Name: Assigning consistent egress IP for external traffic
147+
File: cloud-experts-consistent-egress-ip
130148
# ---
131149
# Name: Getting started
132150
# Dir: rosa_getting_started

cloud_experts_tutorials/cloud-experts-aws-load-balancer-operator.adoc

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,18 @@ toc::[]
2020

2121
include::snippets/mobb-support-statement.adoc[leveloffset=+1]
2222

23+
ifndef::openshift-rosa-hcp[]
2324
[TIP]
2425
====
2526
Load Balancers created by the AWS Load Balancer Operator cannot be used for xref:../networking/routes/route-configuration.adoc#route-configuration[OpenShift Routes], and should only be used for individual services or ingress resources that do not need the full layer 7 capabilities of an OpenShift Route.
2627
====
28+
endif::openshift-rosa-hcp[]
29+
ifdef::openshift-rosa-hcp[]
30+
[TIP]
31+
====
32+
Load Balancers created by the AWS Load Balancer Operator cannot be used for link:https://docs.openshift.com/rosa/networking/routes/route-configuration.html[OpenShift Routes], and should only be used for individual services or ingress resources that do not need the full layer 7 capabilities of an OpenShift Route.
33+
====
34+
endif::openshift-rosa-hcp[]
2735

2836
The link:https://kubernetes-sigs.github.io/aws-load-balancer-controller/[AWS Load Balancer Controller] manages AWS Elastic Load Balancers for a {product-title} (ROSA) cluster. The controller provisions link:https://docs.aws.amazon.com/elasticloadbalancing/latest/application/introduction.html[AWS Application Load Balancers (ALB)] when you create Kubernetes Ingress resources and link:https://docs.aws.amazon.com/elasticloadbalancing/latest/network/introduction.html[AWS Network Load Balancers (NLB)] when implementing Kubernetes Service resources with a type of LoadBalancer.
2937

@@ -44,7 +52,12 @@ The link:https://github.com/openshift/aws-load-balancer-operator[AWS Load Balanc
4452
AWS ALBs require a multi-AZ cluster, as well as three public subnets split across three AZs in the same VPC as the cluster. This makes ALBs unsuitable for many PrivateLink clusters. AWS NLBs do not have this restriction.
4553
====
4654

55+
ifndef::openshift-rosa-hcp[]
4756
* xref:../rosa_install_access_delete_clusters/rosa-sts-creating-a-cluster-quickly.adoc#rosa-sts-creating-a-cluster-quickly[A multi-AZ ROSA classic cluster]
57+
endif::openshift-rosa-hcp[]
58+
ifdef::openshift-rosa-hcp[]
59+
* link:https://docs.openshift.com/rosa-hcp/rosa_hcp/rosa-hcp-sts-creating-a-cluster-quickly.html[A multi-AZ ROSA cluster]
60+
endif::openshift-rosa-hcp[]
4861
* BYO VPC cluster
4962
* AWS CLI
5063
* OC CLI

cloud_experts_tutorials/cloud-experts-aws-secret-manager.adoc

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,13 @@ $ oc get authentication.config.openshift.io cluster -o json \
5858
"https://xxxxx.cloudfront.net/xxxxx"
5959
----
6060
+
61-
If your output is different, do not proceed. See xref:../rosa_install_access_delete_clusters/rosa-sts-creating-a-cluster-quickly.adoc#rosa-sts-creating-a-cluster-quickly[Red{nbsp}Hat documentation on creating an STS cluster] before continuing this process.
61+
If your output is different, do not proceed.
62+
ifndef::openshift-rosa-hcp[]
63+
See xref:../rosa_install_access_delete_clusters/rosa-sts-creating-a-cluster-quickly.adoc#rosa-sts-creating-a-cluster-quickly[Red{nbsp}Hat documentation on creating an STS cluster] before continuing this process.
64+
endif::openshift-rosa-hcp[]
65+
ifdef::openshift-rosa-hcp[]
66+
See link:https://docs.openshift.com/rosa-hcp/rosa_hcp/rosa-hcp-sts-creating-a-cluster-quickly.html[Creating ROSA with HCP clusters using the default options] before continuing this process.
67+
endif::openshift-rosa-hcp[]
6268

6369
. Set the `SecurityContextConstraints` permission to allow the CSI driver to run by running the following command:
6470
+

cloud_experts_tutorials/cloud-experts-consistent-egress-ip.adoc

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,12 @@ You can assign a consistent IP address for traffic that leaves your cluster such
2121

2222
By default, {product-title} (ROSA) uses the OVN-Kubernetes container network interface (CNI) to assign random IP addresses from a pool. This can make configuring security lockdowns unpredictable or open.
2323

24+
ifndef::openshift-rosa-hcp[]
2425
See xref:../networking/ovn_kubernetes_network_provider/configuring-egress-ips-ovn.adoc#configuring-egress-ips-ovn[Configuring an egress IP address] for more information.
26+
endif::openshift-rosa-hcp[]
27+
ifdef::openshift-rosa-hcp[]
28+
See link:https://docs.openshift.com/rosa/networking/ovn_kubernetes_network_provider/configuring-egress-ips-ovn.html[Configuring an egress IP address] for more information.
29+
endif::openshift-rosa-hcp[]
2530

2631
.Objectives
2732

@@ -30,10 +35,17 @@ See xref:../networking/ovn_kubernetes_network_provider/configuring-egress-ips-ov
3035
.Prerequisites
3136

3237
* A ROSA cluster deployed with OVN-Kubernetes
38+
ifndef::openshift-rosa-hcp[]
3339
* The xref:../cli_reference/openshift_cli/getting-started-cli.adoc#cli-getting-started[OpenShift CLI] (`oc`)
3440
* The xref:../cli_reference/rosa_cli/rosa-get-started-cli.adoc#rosa-get-started-cli[ROSA CLI] (`rosa`)
41+
endif::openshift-rosa-hcp[]
42+
ifdef::openshift-rosa-hcp[]
43+
* The link:https://docs.openshift.com/rosa/cli_reference/openshift_cli/getting-started-cli.html[OpenShift CLI] (`oc`)
44+
* The link:https://docs.openshift.com/rosa/cli_reference/rosa_cli/rosa-get-started-cli.html[ROSA CLI] (`rosa`)
45+
endif::openshift-rosa-hcp[]
3546
* link:https://stedolan.github.io/jq/[`jq`]
3647
48+
3749
== Setting your environment variables
3850

3951
* Set your environment variables by running the following command:

cloud_experts_tutorials/cloud-experts-custom-dns-resolver.adoc

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -124,8 +124,7 @@ $ aws route53resolver list-resolver-endpoint-ip-addresses \
124124

125125
Use the following procedure to configure your DNS server to forward the necessary private hosted zones to your Amazon Route 53 Inbound Resolver.
126126

127-
=== ROSA with HCP
128-
127+
ifdef::openshift-rosa-hcp[]
129128
ROSA with HCP clusters require you to configure DNS forwarding for two private hosted zones:
130129

131130
* `<cluster-name>.hypershift.local`
@@ -151,7 +150,7 @@ zone "<cluster-name>.hypershift.local" { <1>
151150
<1> Replace `<cluster-name>` with your ROSA HCP cluster name.
152151
<2> Replace with the IP addresses of your inbound resolver endpoints collected above, ensuring that following each IP address there is a `;`.
153152
+
154-
. xref:../rosa_hcp/rosa-hcp-sts-creating-a-cluster-quickly.adoc#rosa-sts-creating-account-wide-sts-roles-and-policies_rosa-hcp-sts-creating-a-cluster-quickly[Create your cluster].
153+
. link:https://docs.openshift.com/rosa/rosa_hcp/rosa-hcp-sts-creating-a-cluster-quickly.html[Create your cluster].
155154
+
156155
. Once your cluster has begun the creation process, locate the newly created private hosted zone:
157156
+
@@ -198,21 +197,18 @@ zone "rosa.<domain-prefix>.<unique-ID>.p3.openshiftapps.com" { <1>
198197
----
199198
<1> Replace `<domain-prefix>` with your cluster domain prefix and `<unique-ID>` with your unique ID collected above.
200199
<2> Replace with the IP addresses of your inbound resolver endpoints collected above, ensuring that following each IP address there is a `;`.
200+
endif::openshift-rosa-hcp[]
201201
202-
=== ROSA Classic
203-
202+
ifdef::openshift-rosa[]
204203
ROSA Classic clusters require you to configure DNS forwarding for one private hosted zones:
205204
206205
* `<domain-prefix>.<unique-ID>.p1.openshiftapps.com`
207206
208207
This Amazon Route 53 private hosted zones is created during cluster creation. The `domain-prefix` is a customer-specified value, but the `unique-ID` is randomly generated during cluster creation and cannot be preselected. As such, you must wait for the cluster creation process to begin before configuring forwarding for the `p1.openshiftapps.com` private hosted zone.
209208
210-
ifdef::temp-ifdef[]
209+
ifndef::openshift-rosa-hcp[]
211210
. xref:../rosa_install_access_delete_clusters/rosa-sts-creating-a-cluster-quickly.adoc#rosa-sts-creating-account-wide-sts-roles-and-policies_rosa-sts-creating-a-cluster-quickly[Create your cluster].
212-
endif::[]
213-
ifdef::temp-ifdef[]
214-
* xref:../rosa_hcp/rosa-hcp-sts-creating-a-cluster-quickly.adoc#rosa-hcp-sts-creating-a-cluster-quickly[Create your cluster].
215-
endif::[]
211+
endif::openshift-rosa-hcp[]
216212
+
217213
. Once your cluster has begun the creation process, locate the newly created private hosted zone:
218214
+
@@ -257,4 +253,5 @@ zone "<domain-prefix>.<unique-ID>.p1.openshiftapps.com" { <1>
257253
};
258254
----
259255
<1> Replace `<domain-prefix>` with your cluster domain prefix and `<unique-ID>` with your unique ID collected above.
260-
<2> Replace with the IP addresses of your inbound resolver endpoints collected above, ensuring that following each IP address there is a `;`.
256+
<2> Replace with the IP addresses of your inbound resolver endpoints collected above, ensuring that following each IP address there is a `;`.
257+
endif::openshift-rosa[]

cloud_experts_tutorials/cloud-experts-deploy-api-data-protection.adoc

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,12 @@ include::snippets/mobb-support-statement.adoc[leveloffset=+1]
2121

2222
.Prerequisites
2323

24+
ifndef::openshift-rosa-hcp[]
2425
* A xref:../rosa_install_access_delete_clusters/rosa-sts-creating-a-cluster-quickly.adoc#rosa-sts-creating-a-cluster-quickly[ROSA classic cluster]
26+
endif::openshift-rosa-hcp[]
27+
ifdef::openshift-rosa-hcp[]
28+
* A link:https://docs.openshift.com/rosa-hcp/rosa_hcp/rosa-hcp-sts-creating-a-cluster-quickly.html[ROSA cluster]
29+
endif::openshift-rosa-hcp[]
2530

2631
.Environment
2732

cloud_experts_tutorials/cloud-experts-entra-id-idp.adoc

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -28,12 +28,10 @@ This tutorial guides you to complete the following tasks:
2828
. Configure the {product-title} cluster to use Entra ID as the identity provider.
2929
. Grant additional permissions to individual groups.
3030

31-
[id="cloud-experts-entra-id-idp-prerequisites"]
3231
== Prerequisites
3332

3433
* You created a set of security groups and assigned users by following link:https://learn.microsoft.com/en-us/azure/active-directory/fundamentals/how-to-manage-groups[the Microsoft documentation].
3534

36-
[id="cloud-experts-entra-id-idp-register-application"]
3735
== Registering a new application in Entra ID for authentication
3836

3937
To register your application in Entra ID, first create the OAuth callback URL, then register your application.
@@ -50,7 +48,7 @@ Remember to save this callback URL; it will be required later in the process.
5048
[source,terminal]
5149
----
5250
$ domain=$(rosa describe cluster -c <cluster_name> | grep "DNS" | grep -oE '\S+.openshiftapps.com')
53-
$ echo "OAuth callback URL: https://oauth-openshift.apps.$domain/oauth2callback/AAD"
51+
echo "OAuth callback URL: https://oauth.${domain}/oauth2callback/AAD"
5452
----
5553
+
5654
The "AAD" directory at the end of the OAuth callback URL must match the OAuth identity provider name that you will set up later in this process.
@@ -82,15 +80,12 @@ image:azure-portal_add-a-client-secret-page.png[Azure Portal - Add a Client Secr
8280
+
8381
image:azure-portal_copy-client-secret-page.png[Azure Portal - Copy Client Secret page]
8482

85-
[id="rosa-mobb-entra-id-configure-claims"]
8683
== Configuring the application registration in Entra ID to include optional and group claims
8784

8885
So that {product-title} has enough information to create the user's account, you must configure Entra ID to give two optional claims: `email` and `preferred_username`. For more information about optional claims in Entra ID, see link:https://learn.microsoft.com/en-us/azure/active-directory/develop/optional-claims[the Microsoft documentation].
8986

9087
In addition to individual user authentication, {product-title} provides group claim functionality. This functionality allows an OpenID Connect (OIDC) identity provider, such as Entra ID, to offer a user's group membership for use within {product-title}.
9188

92-
[discrete]
93-
[id="rosa-mobb-entra-id-configure-optional-claims"]
9489
=== Configuring optional claims
9590

9691
You can configure the optional claims in Entra ID.
@@ -115,8 +110,6 @@ image:azure-portal_add-optional-preferred_username-claims-page.png[Azure Portal
115110
+
116111
image:azure-portal_add-optional-claims-graph-permissions-prompt.png[Azure Portal - Add Optional Claims - Graph Permissions Prompt]
117112

118-
[discrete]
119-
[id="rosa-mobb-entra-id-configure-group-claims"]
120113
=== Configuring group claims (optional)
121114

122115
Configure Entra ID to offer a groups claim.
@@ -135,7 +128,6 @@ In this example, the group claim includes all of the security groups that a user
135128
+
136129
image:azure-portal_edit-group-claims-page.png[Azure Portal - Edit Groups Claim Page]
137130

138-
[id="cloud-experts-entra-id-idp-configure-cluster"]
139131
== Configuring the {product-title} cluster to use Entra ID as the identity provider
140132

141133
You must configure {product-title} to use Entra ID as its identity provider.
@@ -201,15 +193,12 @@ $ rosa create idp \
201193

202194
After a few minutes, the cluster authentication Operator reconciles your changes, and you can log in to the cluster by using Entra ID.
203195

204-
[id="rosa-mobb-azure-oidc-grant-permissions"]
205196
== Granting additional permissions to individual users and groups
206197

207198
When your first log in, you might notice that you have very limited permissions. By default, {product-title} only grants you the ability to create new projects, or namespaces, in the cluster. Other projects are restricted from view.
208199

209200
You must grant these additional abilities to individual users and groups.
210201

211-
[discrete]
212-
[id="rosa-mobb-azure-oidc-grant-permissions-users"]
213202
=== Granting additional permissions to individual users
214203

215204
{product-title} includes a significant number of preconfigured roles, including the `cluster-admin` role that grants full access and control over the cluster.
@@ -228,8 +217,6 @@ $ rosa grant user cluster-admin \
228217
<1> Provide the Entra ID username that you want to have cluster admin permissions.
229218
--
230219

231-
[discrete]
232-
[id="cloud-experts-entra-id-idp-additional-permissions-groups"]
233220
=== Granting additional permissions to individual groups
234221

235222
If you opted to enable group claims, the cluster OAuth provider automatically creates or updates the user's group memberships by using the group ID. The cluster OAuth provider does not automatically create `RoleBindings` and `ClusterRoleBindings` for the groups that are created; you are responsible for creating those bindings by using your own processes.
@@ -252,7 +239,6 @@ $ oc create clusterrolebinding cluster-admin-group \
252239
+
253240
Now, any user in the specified group automatically receives `cluster-admin` access.
254241

255-
[id="cloud-experts-entra-id-idp-additional-resources"]
256242
[role="_additional-resources"]
257243
== Additional resources
258244

cloud_experts_tutorials/index.adoc

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@
44
include::_attributes/attributes-openshift-dedicated.adoc[]
55
:context: tutorials-overview
66

7-
Step-by-step tutorials from Red{nbsp}Hat experts to help you get the most out of your Managed OpenShift cluster.
7+
Use the step-by-step tutorials from Red{nbsp}Hat experts to get the most out of your Managed OpenShift cluster.
88

9-
In an effort to make this Cloud Expert tutorial content available quickly, it may not yet be tested on every supported configuration.
9+
[IMPORTANT]
10+
====
11+
This content is authored by Red Hat experts but has not yet been tested on every supported configuration.
12+
====

cloud_experts_tutorials/rosa-mobb-verify-permissions-sts-deployment.adoc

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
:_mod-docs-content-type: ASSEMBLY
22
[id="rosa-mobb-verify-permissions-sts-deployment"]
3-
= Tutorial: Verifying Permissions for a ROSA STS Deployment
3+
= Tutorial: Verifying permissions for a ROSA STS deployment
44
include::_attributes/attributes-openshift-dedicated.adoc[]
55
:context: rosa-mobb-verify-permissions-sts-deployment
66

@@ -16,16 +16,27 @@ toc::[]
1616
// ---
1717

1818
To proceed with the deployment of a ROSA cluster, an account must support the required roles and permissions.
19-
AWS Service Control Policies (SCPs) cannot block the API calls made by the installer or operator roles.
19+
AWS Service Control Policies (SCPs) cannot block the API calls made by the installer or Operator roles.
2020

2121
Details about the IAM resources required for an STS-enabled installation of ROSA can be found here: xref:../rosa_architecture/rosa-sts-about-iam-resources.adoc#rosa-sts-about-iam-resources[About IAM resources]
22+
ifndef::openshift-rosa-hcp[]
23+
Details about the IAM resources required for an STS-enabled installation of ROSA can be found here: xref:../rosa_architecture/rosa-sts-about-iam-resources.adoc#rosa-sts-about-iam-resources[About IAM resources for ROSA clusters that use STS]
24+
endif::openshift-rosa-hcp[]
25+
ifdef::openshift-rosa-hcp[]
26+
Details about the IAM resources required for an STS-enabled installation of ROSA can be found here: link:https://docs.openshift.com/rosa/rosa_architecture/rosa-sts-about-iam-resources.html[About IAM resources for ROSA clusters]
27+
endif::openshift-rosa-hcp[]
2228

2329
This guide is validated for ROSA v4.11.X.
2430

2531
== Prerequisites
2632

2733
* link:https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2.html[AWS CLI]
34+
ifndef::openshift-rosa-hcp[]
2835
* xref:../cli_reference/rosa_cli/rosa-get-started-cli.adoc#rosa-get-started-cli[ROSA CLI] v1.2.6
36+
endif::openshift-rosa-hcp[]
37+
ifdef::openshift-rosa-hcp[]
38+
* link:https://docs.openshift.com/rosa/cli_reference/rosa_cli/rosa-get-started-cli.html[ROSA CLI] v1.2.6
39+
endif::openshift-rosa-hcp[]
2940
* link:https://stedolan.github.io/jq/[jq CLI]
3041
* link:https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_testing-policies.html[AWS role with required permissions]
3142

0 commit comments

Comments
 (0)