Controlling access to your hub#

🔍 OVERVIEW

Questions

  • Who has control over access to a hub?

  • How do I invite members to a GitHub Organization?

  • How do I grant access to a hub with GitHub Teams?

Objectives

  • Control user access to a hub via GitHub Organizations and Teams

  • Add users to a GitHub Organization

  • Add and remove users from a GitHub Team to grant access to a hub

Who decides which users can access a hub?#

Hub Champions can control access to the hub by adding users to their GitHub Organization. Hub Champions can add users to a GitHub Team within an Organization for more fine-grained control over access. Each hub user needs to sign up for an individual account on GitHub. A Hub Champion should have Owner permissions for their GitHub Organization in order to invite non-members to it.

Note

Your GitHub Organization or Team used to authorize access to the hub was defined when the hub was initially deployed. This information should be known to Hub Champions and can also be found in the 2i2c Infrastructure repo (e.g. see the key value for allowed_organizations in the values.yaml file of the BHKI hub). If not, please contact your community representative who deployed the hub.

Follow the guidance below to practise granting user access to the Community Showcase Hub, specifically

  • adding (but not removing for now) users to a GitHub Organization

  • adding and removing users to and from a GitHub Team.

Danger

Please refrain from removing other users from the GitHub Organization during the training! The steps in Removing members from the organization are for completeness when it comes to administering your own hub outside of the training.

Managing your GitHub Organization#

Screenshot showing a list of GitHub Organizations on https://github.com/settings/organizations.

Fig. 1 Screenshot showing an example list of GitHub Organizations on settings/organizations.#

  • Click on the link to the 2i2c-community-showcase GitHub Organization (if you cannot access the page at this link then please contact your instructor for access).

  • Click on the People menu tab to view a list of current Organization members.

Screenshot showing a list of members of the 2i2c-community-showcase GitHub Organization.

Fig. 2 Screenshot showing a list of 2i2c-community-showcase GitHub Organization members. The People tab menu is located at the top; the green Invite member button is located in the top right; the Failed invitations tab is located in the left sidebar and the Member settings member settings button icon is located next to each member account.#

Exercise: Invite non-members to the organization

Check that you have Owner permissions for this organization to invite non-members to it. If not, contact an owner of the organization who can give you Owner permissions.

  • Invite a non-member to the organization by clicking the green Invite member button and searching by username, full name or email address.

    Tip

    We recommend searching for and adding the jnywong-test username for the purposes of this training. Since this account may receive multiple invitations during this workshop, you can click a green Update invitation button instead.

  • The invited user will receive an email and GitHub notification inviting them to join the GitHub Organization.

    Warning

    Invitations to join a GitHub Organization will expire after 7 days, after which you can retry or cancel the invitation by clicking the Failed invitations tab in the left sidebar (see screenshot above).

  • Once the user has accepted, they will become visible in the list of Organization members in the People menu tab.

Removing members from the organization

Danger

Please refrain from removing other users from the GitHub Organization during the training! The steps in this section are for completeness when it comes to administering your own hub outside of the training.

Members can be removed from the organization by going to the People menu tab (see screenshot).

  • Click the member settings button icon next to the member account you wish to remove.

  • Select the Remove from organization… option.

    Screenshot showing the *Remove from organization...* option.

    Fig. 3 Screenshot showing the Remove from organization… option.#

  • Confirm removal by clicking the Remove members button.

    Screenshot showing the confirmation to *Remove members*.

    Fig. 4 Screenshot showing the confirmation to Remove members.#

Managing your GitHub Team#

Add members to the GitHub Team associated with the hub so that users can log into the hub with their GitHub credentials.

Exercise: Add a member of the organization to join the team

  • Invite a member of the organization to join the team by clicking the green Add a member button and searching by username, full name or email address.

    Tip

    We recommend searching for and adding the jmunroe-testuser username for the purposes of this training. If they are already a member of the team, remove the account by following the steps in Removing members from the team and then add jmunroe-testuser back into the team again.

  • The account will instantly appear in the list of team members and the user does not need to accept an invitation to join. The user may choose to leave the team by clicking the Leave team button on the same page.

  • The user can now log into the Community Showcase Hub using their GitHub credentials 🎉

Removing members from the team#

Hub Champions can remove user access to a hub by removing their account from the GitHub Team.

Screenshot showing how to remove a member from the access-2i2c-showcase GitHub Team.

Fig. 6 Screenshot showing how to remove a member from the access-2i2c-showcase GitHub Team.#

  • From the access-2i2c-showcase teams page, check the box next to the member account you wish to remove (in this case, jmunroe-testuser for the purposes of this training).

  • Click the tab at the top of the list labelled 1 member selected.

  • Select Remove from team from the dropdown menu.

  • Confirm your choice in the pop up by clicking Remove members.

  • The account will instantly disappear in the list of team members and the user will not be notified.

Exercise: GitHub Organizations and Teams

Fill in the blanks with the following words: organization, team, owners, non-members, existing members (you may use one word more than once).

“___s are groups of ___ members that reflect your group’s structure and controls access permissions. ___ have permission to invite ___ to the organisation and invite ___ of the organization to a ___.”

🔑 KEY POINTS

  • A Hub Champion decides who has access to the hub.

  • Hub access is controlled with GitHub Organizations and Teams.

  • Owners of GitHub Organizations can invite users to it, as well as add and remove users to and from a special GitHub Team to grant access.