

Amazon CodeCatalyst is no longer open to new customers. Existing customers can continue to use the service as normal. For more information, see [How to migrate from CodeCatalyst](migration.md).

# Granting users space permissions
<a name="spaces-members"></a>

You can manage members for a space by viewing, adding, removing, or changing roles for users who join the space.

The information in this guide is provided for inviting and managing users in spaces in CodeCatalyst that support AWS Builder ID users. To learn more about the steps to set up and administer a space that supports identity federation, see [Setup and administration for CodeCatalyst spaces](https://docs.aws.amazon.com/codecatalyst/latest/adminguide/what-is.html) in the *Amazon CodeCatalyst Administrator Guide*.

# Viewing members in a space
<a name="spaces-members-view"></a>

You can view the users in your space, including information about their display names, aliases, and the role they have for the space. There are three roles for members in a space:
+ **Space administrator** – This role has all permissions in CodeCatalyst, including creating projects. Only assign this role to users who need to administer every aspect of a space, such as accessing all projects in the space.

  You cannot change this role later without removing the user first. For more information, see [Space administrator role](ipa-role-types.md#ipa-role-space-admin).
+ **Power user** – This role is the second-most powerful role in Amazon CodeCatalyst spaces, but it has no access to projects in a space. It is designed for users who need to be able to create projects in a space and help manage the users and resources for the space. For more information, see [Power user role](ipa-role-types.md#ipa-role-power-user).
+ **Limited access** – This role is assigned by default for users who join the space by accepting invitations to projects in the space. Project members are assigned a role in a project. For information about managing project members, see [Granting users project permissions](projects-members.md).

The **Space administrators** table shows users with the **Space administrator** role. These users are not shown in the **Space members ** because they are automatically (implicitly) assigned to all projects in the space and do not have a role in a project.

The **Space members** table shows all members in the space that have a role in a project while not having the **Space administrator** role.

Users are shown based on whether the user has the **Space administrator** role in CodeCatalyst as follows:
+ A user with the **Space administrator** role who later accepts a project invitation and role will not show in the **Space members** table under spaces or on the **Project members** table under projects. They will continue to be shown in the **Space administrators** table in both places. In each project, all users with the **Space administrator** role are shown in the project **Space administrators** table for that project.
+ A user who accepts a project invitation to join with a project role is added to the space with the **Limited access** role. If the user's role later changes to the **Space administrator** role, but will also move from the **Space members ** table to the **Space administrators** table. Under the project, the user will move from the **Project members ** table to the **Space administrators** table.

**To view users and roles in your space**

1. Open the CodeCatalyst console at [https://codecatalyst.aws/](https://codecatalyst.aws/).

1. Navigate to your space.
**Tip**  
If you belong to more than one space, choose a space in the top navigation bar.

1. Choose **Settings**, and then choose **Members**.

   Users who are members of the space are shown in the **Space members** table.
**Tip**  
If you have the **Space administrator** role, you can view which projects you have been directly invited to. Navigate to **Project settings** for the project, and then choose **My projects**.

   In the **Status** column, the following are valid values:
   + **Invited** – CodeCatalyst sent the invitation but the user has not yet accepted or declined.
   + **Member** – The user accepted the invitation.

# Inviting a user directly to a space
<a name="spaces-members-add-admin"></a>

You can invite users directly to your CodeCatalyst space. This is useful when you want to invite that user to help you manage the space by assigning them the **Space administrator** or **Power user** role. Assigning one of those roles to other users can help you distribute the responsibilities of managing the space across more people without having to invite these users to any projects.

**Note**  
You must have the **Space administrator** or **Power user** role to invite members.

The **Space administrators** table shows users with the **Space administrator** role. These users are not shown in the **Space members** table because they are automatically (implicitly) assigned to all projects in the space and do not have a role in a project.

Members who accept a project invitation are added to the space by default. The **Project members** table shows all members in the space that have a role in a project.

For more information about how to accept an invitation and sign in for the first time, see [Set up and sign in to CodeCatalystSet up and sign in to CodeCatalyst](setting-up-topnode.md).

**To invite a user to your space**

1. Open the CodeCatalyst console at [https://codecatalyst.aws/](https://codecatalyst.aws/).

1. Navigate to your space.

1. Choose **Settings**, and then choose **Members**.

1. Choose **Invite**.

1. Enter the email of the person you would like to invite to join your space. In **Role**, choose the role you want to assign that user in the space.

1. Choose **Invite**

# Canceling an invitation for a space
<a name="spaces-members-cancel-invite"></a>

If you want to cancel an invitation to join a space that you sent recently, and it has not yet been accepted, you can cancel it. 

To manage space invitations, you must have the **Space administrator** or **Power user** role.

**To cancel a space member invitation**

1. Open the CodeCatalyst console at [https://codecatalyst.aws/](https://codecatalyst.aws/).

1. Navigate to your space.
**Tip**  
If you belong to more than one space, choose a space in the top navigation bar.

1. Choose **Settings**, and then choose **Members**.

1. Verify that the member has a status of **Invited**.
**Note**  
You can only cancel an invitation that has not yet been accepted.

1. Choose the option next to the row with the invited member, and then choose **Cancel invitation**.

1. A confirmation window displays. Choose **Cancel invitation** to confirm.

# Changing the role for a space member
<a name="spaces-members-rolechange"></a>

You can change the assigned role for a member of your space. You must have the **Space administrator** role to change the role of a user in the space.

The **Space administrators** table shows users with the **Space administrator** role. These users are not shown in the **Space members** table because they are automatically (implicitly) assigned to all projects in the space.

**To change the role for a user in your space**

1. Open the CodeCatalyst console at [https://codecatalyst.aws/](https://codecatalyst.aws/).

1. Navigate to your space.
**Tip**  
If you belong to more than one space, choose a space in the top navigation bar.

1. Choose **Settings**, and then choose **Members**.

1. In the **Space members** table, choose the user whose role you want to change. Choose **Change role**.

# Removing a space member
<a name="spaces-members-remove-member"></a>

You can remove a member of your space when they do not need to access any of the space resources. You must have the **Space administrator** role to remove a member from a space. 

The **Space administrators** table shows users with the **Space administrator** role. These users are not shown in the **Space members** table because they are automatically (implicitly) assigned to all projects in the space and do not have a role in a project. You can only directly remove a member of your space in this table.

**To remove a user from the **Project members** table**

1. Open the CodeCatalyst console at [https://codecatalyst.aws/](https://codecatalyst.aws/).

1. Navigate to your space.
**Tip**  
If you belong to more than one space, choose a space in the top navigation bar.

1. Choose **Settings**, and then choose **Members**.

1. Choose the user in the **Project members** table. Choose **Remove**.
**Note**  
Removing a member from the space will remove the user from all projects in the space, along with permissions associated with the resources in those projects.

# Removing or changing the role for a user with the **Space administrator** role
<a name="spaces-members-remove"></a>

You can remove or change the role for a user with the **Space administrator** role for your space. 

You must have the **Space administrator** role to remove a user with the **Space administrator** role from a space. Changing the role for a user with the **Space administrator** role essentially removes the user from the **Space administrators** table. If that user does not have a project role in any projects in the space, removing the **Space administrator** role from the user will remove the user from the space.

**Note**  
As a user with the **Space administrator** role, you cannot remove yourself. Contact another user with the **Space administrator** role.

**To remove a user with the **Space administrator** role from the **Space members** table**
**Note**  
For a user who has not been added explicitly to a project, they do not have any project roles (**Project administrator** or **Contributor**). If the **Space administrator** role is the user's only role, then the user is removed from the space entirely.

1. Open the CodeCatalyst console at [https://codecatalyst.aws/](https://codecatalyst.aws/).

1. Navigate to the space where you want to remove or change the role for a user with the **Space administrator** role.

1. Choose **Settings**, and then choose **Members**.

1. View the invitation status for the list of members, and make sure that the list contains no unauthorized pending invites to the space (a status of **Invited**).
**Important**  
Before removing a user with the **Space administrator** role, you must verify that no pending invites have been initiated.

1. Choose the **Members** tab. In the **Space administrators** table, choose the user, and then choose **Remove**.

   On the **Remove member** dialog box, do one of the following.
   + Choose the option to remove only the user's **Space administrator** role. Choose **Remove**.
**Important**  
If the user does not have any other role assigned, then changing the role from **Space administrator** removes the user from the space.
   + Choose the option to remove a user with the **Space administrator** role from the space and all its projects. Choose **Remove**.

1. Refresh the **Members** tab. The user is automatically added to the list of project members in any project where the user had membership through project roles. If the **Space administrator** role was the user's only role, then the user is removed from the space entirely.