Skip to content

Commit 4b98d2d

Browse files
authored
[FMEPRD-289] FME RBAC guide: Add create objects permissions info (#11571)
* Add troubleshooting section for missing View permissions for User and User Groups * Use 1.a. list formatting for steps in 'Create an Admin API key' section
1 parent 4b63d08 commit 4b98d2d

File tree

1 file changed

+101
-64
lines changed

1 file changed

+101
-64
lines changed

docs/feature-management-experimentation/split-to-harness/administering-migrated-account.md

Lines changed: 101 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -533,50 +533,50 @@ The **All Resources Including Child Scopes** is not recommended because it would
533533
To create an Admin API key scoped to all projects in your Harness account:
534534

535535
1. At the account level, create the service account and assign roles:
536-
- In the left navigation panel, click **Account Settings**.
537-
- Click the **Access Control** button at the top of the page.
538-
- Click the **Service Accounts** tile.
539-
- Click the **+ New Service Account** button.
540-
- Enter a name for the new service account and click **Save**. The service account is listed.
541-
- Click **Manage Role Bindings** to manage role bindings for the service account.
542-
- Click **+ Add**.
543-
- Select the **Account Admin** role and the **All Account Level Resources** resource group.
544-
- Click **Apply**. The role binding is added to the service account.
536+
1. In the left navigation panel, click **Account Settings**.
537+
1. Click the **Access Control** button at the top of the page.
538+
1. Click the **Service Accounts** tile.
539+
1. Click the **+ New Service Account** button.
540+
1. Enter a name for the new service account and click **Save**. The service account is listed.
541+
1. Click **Manage Role Bindings** to manage role bindings for the service account.
542+
1. Click **+ Add**.
543+
1. Select the **Account Admin** role and the **All Account Level Resources** resource group.
544+
1. Click **Apply**. The role binding is added to the service account.
545545

546546
1. At the organization level, inherit the service account and assign roles:
547-
- In the left navigation panel, select the organization [where your Split legacy projects were migrated](#projects) (or where your FME objects are defined or will be defined).
548-
- Click **Organization Settings**.
549-
- Click the **Access Control** button at the top of the page.
550-
- Click the **Service Accounts** tile.
551-
- Click the **Inherit Service Accounts & Assign Roles** button.
552-
- Select the service account created in Step 1. (When created at the account level, the service account is listed on the **Account** tab.)
553-
- Click **Apply Selected**.
554-
- Select the **Organization Admin** role.
555-
- Leave the **All Organization Level Resources** resource group selected.
556-
- Click **Save** or **Apply**. The service account and role binding are listed.
547+
1. In the left navigation panel, select the organization [where your Split legacy projects were migrated](#projects) (or where your FME objects are defined or will be defined).
548+
1. Click **Organization Settings**.
549+
1. Click the **Access Control** button at the top of the page.
550+
1. Click the **Service Accounts** tile.
551+
1. Click the **Inherit Service Accounts & Assign Roles** button.
552+
1. Select the service account created in Step 1. (When created at the account level, the service account is listed on the **Account** tab.)
553+
1. Click **Apply Selected**.
554+
1. Select the **Organization Admin** role.
555+
1. Leave the **All Organization Level Resources** resource group selected.
556+
1. Click **Save** or **Apply**. The service account and role binding are listed.
557557

558558
1. For each project: At the project level, inherit the service account and assign roles:
559-
- In the left navigation panel, select the project.
560-
- Click **Project Settings**.
561-
- Click the **Access Control** button at the top of the page.
562-
- Click the **Service Accounts** tile.
563-
- Click the **Inherit Service Accounts & Assign Roles** button.
564-
- Select the service account created in Step 1. (When created at the account level, the service account is listed on the **Account** tab.)
565-
- Click **Apply Selected**.
566-
- Select the **Project Admin** role.
567-
- Leave the **All Project Level Resources** resource group selected (or select **FME All Resources**\*).
568-
- Click **Save** or **Apply**. The service account and role binding are listed.
559+
1. In the left navigation panel, select the project.
560+
1. Click **Project Settings**.
561+
1. Click the **Access Control** button at the top of the page.
562+
1. Click the **Service Accounts** tile.
563+
1. Click the **Inherit Service Accounts & Assign Roles** button.
564+
1. Select the service account created in Step 1. (When created at the account level, the service account is listed on the **Account** tab.)
565+
1. Click **Apply Selected**.
566+
1. Select the **Project Admin** role.
567+
1. Leave the **All Project Level Resources** resource group selected (or select **FME All Resources**\*).
568+
1. Click **Save** or **Apply**. The service account and role binding are listed.
569569

570570
1. Create the API key and token at the account level:
571-
- In the left navigation panel, click **Account Settings**.
572-
- Click the **Access Control** button at the top of the page.
573-
- Click the **Service Accounts** tile.
574-
- Click on the service account created in Step 1.
575-
- Click **+ API Key**.
576-
- Enter a name for the new API key and click **Save**.
577-
- Click **+ Token**.
578-
- Enter a name for the new API key token, set an expiration, and click **Generate Token**.
579-
- Copy the token value somewhere safe.
571+
1. In the left navigation panel, click **Account Settings**.
572+
1. Click the **Access Control** button at the top of the page.
573+
1. Click the **Service Accounts** tile.
574+
1. Click on the service account created in Step 1.
575+
1. Click **+ API Key**.
576+
1. Enter a name for the new API key and click **Save**.
577+
1. Click **+ Token**.
578+
1. Enter a name for the new API key token, set an expiration, and click **Generate Token**.
579+
1. Copy the token value somewhere safe.
580580

581581
<span style={{fontSize: '0.8em'}}>\* *The **FME All Resources** resource group was created if you were migrated to a Harness account on the Enterprise plan. If you were migrated to a Harness account on the Free plan, you should use the **All Project Level Resources** resource group.* </span>
582582

@@ -594,34 +594,34 @@ To create an Admin API key scoped to a specific project in your Harness account:
594594

595595
1. At the account level, create the service account and assign roles:
596596

597-
- In the left navigation panel, click **Account Settings**.
598-
- Click the **Access Control** button at the top of the page.
599-
- Click the **Service Accounts** tile.
600-
- Click the **+ New Service Account** button.
601-
- Enter a name for the new service account and click **Save**. The service account is listed.
597+
1. In the left navigation panel, click **Account Settings**.
598+
1. Click the **Access Control** button at the top of the page.
599+
1. Click the **Service Accounts** tile.
600+
1. Click the **+ New Service Account** button.
601+
1. Enter a name for the new service account and click **Save**. The service account is listed.
602602

603603
1. At the project level, inherit the service account and assign roles:
604-
- In the left navigation panel, select the project.
605-
- Click **Project Settings**.
606-
- Click the **Access Control** button at the top of the page.
607-
- Click the **Service Accounts** tile.
608-
- Click the **Inherit Service Accounts &amp; Assign Roles** button.
609-
- Select the service account created in Step 1. (When created at the account level, the service account is listed on the **Account** tab.)
610-
- Click **Apply Selected**.
611-
- Select the **Project Admin** role.
612-
- Leave the **All Project Level Resources** resource group selected (or select **FME All Resources**\*).
613-
- Click **Save** or **Apply**. The service account and role binding are listed.
604+
1. In the left navigation panel, select the project.
605+
1. Click **Project Settings**.
606+
1. Click the **Access Control** button at the top of the page.
607+
1. Click the **Service Accounts** tile.
608+
1. Click the **Inherit Service Accounts &amp; Assign Roles** button.
609+
1. Select the service account created in Step 1. (When created at the account level, the service account is listed on the **Account** tab.)
610+
1. Click **Apply Selected**.
611+
1. Select the **Project Admin** role.
612+
1. Leave the **All Project Level Resources** resource group selected (or select **FME All Resources**\*).
613+
1. Click **Save** or **Apply**. The service account and role binding are listed.
614614

615615
1. Create the API key and token at the account level:
616-
- In the left navigation panel, click **Account Settings**.
617-
- Click the **Access Control** button at the top of the page.
618-
- Click the **Service Accounts** tile.
619-
- Click on the service account created in Step 1.
620-
- Click **+ API Key**.
621-
- Enter a name for the new API key and click **Save**.
622-
- Click **+ Token**.
623-
- Enter a name for the new API key token, set an expiration, and click **Generate Token**.
624-
- Copy the token value somewhere safe.
616+
1. In the left navigation panel, click **Account Settings**.
617+
1. Click the **Access Control** button at the top of the page.
618+
1. Click the **Service Accounts** tile.
619+
1. Click on the service account created in Step 1.
620+
1. Click **+ API Key**.
621+
1. Enter a name for the new API key and click **Save**.
622+
1. Click **+ Token**.
623+
1. Enter a name for the new API key token, set an expiration, and click **Generate Token**.
624+
1. Copy the token value somewhere safe.
625625

626626
<span style={{fontSize: '0.8em'}}>\* *The **FME All Resources** resource group was created if you were migrated to a Harness account on the Enterprise plan. If you were migrated to a Harness account on the Free plan, you should use the **All Project Level Resources** resource group.* </span>
627627

@@ -948,6 +948,43 @@ To resolve the error, and restore these users' access to the FME module, assign
948948
* **Recommended:** Add this role binding to the **All Account Users** user group, by following the steps in [Assign roles and resource groups](https://developer.harness.io/docs/platform/role-based-access-control/add-user-groups#assign-roles-and-resource-groups) in the Harness platform documentation.
949949
* Add this role binding to a group where the users are members (by following [Assign roles and resource groups](https://developer.harness.io/docs/platform/role-based-access-control/add-user-groups#assign-roles-and-resource-groups)) or to the users directly (by following [Edit direct assignments](https://developer.harness.io/docs/platform/role-based-access-control/add-users#edit-direct-assignments)).
950950

951+
952+
### FME object creation
953+
954+
#### The <strong>Owners</strong> dropdown is not populated with project users or user groups when creating a feature flag, metric, segment, or experiment
955+
956+
A user lacking **Users** and **User Groups** View permissions will experience the following UI behavior when creating objects in a project:
957+
958+
On the **Create a feature flag** pane:
959+
* The **Owners** dropdown is not populated
960+
* The **Create** button is disabled
961+
962+
On the **Create a metric** pane:
963+
* The **Owners** dropdown is not populated
964+
* The **Create** button is disabled
965+
966+
On the **Create a segment** modal:
967+
* The **Owners** dropdown is not populated
968+
* Clicking the **Create** button does not close the **Create a segment** modal.
969+
970+
On the **Create experiment** pane:
971+
* The **Owners** dropdown is not populated
972+
* The **Create** button is disabled
973+
974+
If the same user clicks the **Users** or **User Groups** tiles in **Project Settings**, errors will be shown on the page. Clicking **Users** will display the error "You are not authorized to view users," and clicking **User Groups** will display "Current principal is not authorized to view the role assignments" (403 - Access Denied error).
975+
976+
To resolve this issue, grant a user **Users** and **User Groups** View permissions using one of the following methods:
977+
978+
* **Recommended**: Use the **All FME Editors** user group and the role binding: **Project Viewer** role over **Project Level Resources**:
979+
980+
<div style={{marginLeft: "1em"}}>
981+
1. Navigate to the project where the permissions are lacking, and click **Project Settings** in the left navigation panel.
982+
2. Click the **User Groups** tile. Ensure the **All FME Editors** group is listed, the user is a member of this group, and this group is assigned the **Project Viewer** role over **Project Level Resources**.
983+
3. Click the **Project Viewer** role link under Role Bindings. Look in the Administrative Functions section to ensure the **View** checkbox for **Users** and the **View** checkbox for **User Groups** are both checked.
984+
</div>
985+
986+
* Alternatively, you can grant the **Users** and **User Groups** View permissions to another role and assign that role to the user (or a user group where the user is a member) over a resource group that includes the project. See [Manage Roles](/docs/platform/role-based-access-control/add-manage-roles/) for details.
987+
951988
### FME project deletion
952989

953990
#### My SDK feature flag evaluations work, but my FME project is not visible in Harness
@@ -1001,8 +1038,8 @@ At the project level, grant access to the service account by assigning roles:
10011038
1. Leave the **All Project Level Resources** resource group selected (or select **FME All Resources**\*\*).
10021039
1. Click **Save** or **Apply**. The service account and role binding are listed.
10031040

1004-
10051041
<span style={{fontSize: '0.8em'}}>
10061042
<p>\* *The service account is listed on the **Organization** tab if you were migrated into an existing Harness account. If you were migrated to a new Harness account created during migration, the service account is shown on the **Account** tab.*</p>
10071043
<p>\*\* *The **FME All Resources** resource group was created if you were migrated to a Harness account on the Enterprise plan. If you were migrated to a Harness account on the Free plan, you should use the **All Project Level Resources** resource group.*</p>
1008-
</span>
1044+
</span>
1045+

0 commit comments

Comments
 (0)