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#
View a list of all of the GitHub Organizations that you are a member of by visiting 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.
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 icon next to the member account you wish to remove.
Select the Remove from organization… option.
Confirm removal by clicking the Remove members button.
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.
From the 2i2c-community-showcase GitHub Organization page, click on the Teams menu tab.
The GitHub Team that authorises access to the Community Showcase Hub is called access-2i2c-showcase. Click on it to see a list of members.
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 addjmunroe-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 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.
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 ___.”
Solution
“Teams are groups of organization members that reflect your group’s structure and controls access permissions. Owners have permission to invite non-members to the organization and invite existing members of the organization to a team.”
🔑 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.