Skip to content

Latest commit

 

History

History
605 lines (378 loc) · 13.2 KB

github-administration.md

File metadata and controls

605 lines (378 loc) · 13.2 KB

GitHub Administration

These are NOT real questions from the exam but quite close enough to what you can get to help you to prepare it and obtain the certification

Skills measured

Support GitHub Enterprise for users and key stakeholders

What role is required to edit a team ?

show

Maintainer or admin

Can you have nested teams in GitHub ?

show

Yes and it is a general pratice to use them to reflect the current enterprise internal's organization.

Which format are available when exporting audit logs ?

show

JSON and CSV

Which roles can be used to manage billing information ?

show

owner and billing manager

On GitHub Enterprise Server, which command lines allows to generate a logs package to communicate to the support ?

show

ssh -p 122 admin@hostname -- 'ghe-support-bundle -o' > support-bundle.tgz

Manage user identities and GitHub authentication

Can be GitHub synchronized with an identity provider ?

show

Yes, for instance, Azure Active Directory but other like ADFS, Okta, OneLogin, etc

What are the different methods to authenticate against GitHub ?

show

  • username/password
  • PAT (Personal Access Token)
  • SSH keys
  • Deploy keys

Which authentication mechanism allow user to connect using their company's credentials ?

show

SAML SSO

What are the supported 2FA (multi factor authentication) methods ?

show

  • SMS
  • TOTP app
  • security keys

Which feature allow to synchronize exchange of user identity data between your Idp and GitHub ?

show

SCIM

What is the limit number of user in one GitHub organization ?

show

10000

  • Maximum number of members in a GitHub team: 5000
  • Maximum number of members in a GitHub organization: 10000
  • Maximum number of teams in a GitHub organization: 1500

Describe how GitHub is deployed, distributed, and licensed

Can an enterprise contain several organizations ?

show

yes.

Are the hosted agents totally free ?

show

Yes for public repositories. For private repositories, you have free minutes of usage offered per month

You plan on using GitHub Actions to build, test, and deliver your cross-platform code. Which of the following platforms will be the most expensive to use?

show

macOS. It cost 10 times (in terms of minute of compute) the price of a linux minute

What are the different types of support of Enterprise Support ?

show

  • GitHub Enterprise Support (Included with Enterprise Cloud and Enterprise Server)
  • GitHub Enterprise Premium support
  • GitHub Enterprise Premium Plus support

What kind of info can you find using Audit Log API ?

show

  • Accesses your organization or repository settings.
  • Changes permissions.
  • Adds or removes users in an organization, repository, or team.
  • Promotes users to admin.
  • Changes permissions of a GitHub App.

Does the support covers account, server, and security issues ?

show

No, it covers Account, Security, and Abuse issues

Does GitHub Enterprise Server contains GitHub Actions feature ?

show

Yes. It is disabled by default but it's here and it contains already some built-in actions created by GitHub. It does NOT require acces to Internet to work because you can sync/download the Actions locally.

Does GitHub Enterprise Server contains GitHub Packages feature?

show

yes

Manage access and permissions based on membership

What are the two roles available at team level ?

show

  • member
  • maintainer

What are the three roles available at organization level ?

show

  • owner
  • member
  • billing manager

Which role access should you give to a contributor with full control on the repo except access to sensitive or destructive actions ?

show

maintainer because admin role would for instance allow to delete a repo

What is the appropriate repository permission level for contributors who will actively push changes to your repository

show

write

By default, can all users of an organization see all repositories ?

show

Yes if the "Read" access is defined as default role in "base permissions" in the organization's settings

Which role allows a person to manage issues of a repository without any write rights ?

show

triage

What is a deploy key ?

show

You can launch projects from a repository on GitHub.com to your server by using a deploy key, which is an SSH key that grants access to a single repository. GitHub attaches the public part of the key directly to your repository instead of a personal account, and the private part of the key remains on your server.

Enable secure software development and ensure compliance

How can you exclude sensitive files from your repository ?

show

One technique to help avoid the majority of this risk is to build and maintain .gitignore files

Once a sensitive data has been commited, can you erase the history to keep the data secret again ?

show

No. You can overwrite a commit but you must consider the data unsecure once it has been commited. If it's a secret/password, then you must renew it.

What is the starting point to enforce certain workflows like passing security checks ?

show

You should use branch protection rules.

How can you automatically assign specific persons as reviewers when a part of the code is modified ?

show

You should use CODEOWNERS files.

What is the simplest way to prevent the creation of public repository ?

show

At the organization level, in "Member privileges" settings, disallow the creation of public repositories.

If you plan to communicate about your security policy, like disclosing vulnerabilities, where should you store your policy publicly ?

show

In the root of your repository in a file named SECURITY.md.

Using branch protection rule, which setting prevents merge commits ?

show

Require linear history (see documentation)

In which part of your repository can you find the dependency graph listing all the packages your repo depends on ?

show

In the Insights tab and then Dependency graph.

Which feature of GitHub scan your repo and alerts you in case of detected vulnerabilities in your dependencies ?

show

GitHub Security Advisories.

Which feature of GitHub scan your repo and alerts you in case of detected vulnerabilities and automatically create a pull request to fix it ?

show

Dependabot.

What is the feature which help to prevent to commit a secret ?

show

If you want to act before a commit, you must use pre-commit hook which allow to scan the code before the commit.

Which tools can be used to tamper Git history and erase sensitive data ?

show

git filter-repo & BFG Repo-Cleaner

Which two pieces of information should be included in a security advisory ?

show

Product affected and severity

You have a workflow secret named MY_SECRET. What if the format to call it from the workflow ?

show

steps:
  - name: Hello world action
    with: # Set the secret as an input
      super_secret: ${{ secrets.MY_SECRET }}

Manage GitHub Actions

Which two files are mandatory when create a workflow template ?

show

  • a workflow file with a yml extension (my-workflow.yml)
  • a propertires files with ".properties.json" extention (my-workflow.properties.json)

Both files must have the same name.

Which placeholder keyword allow to inject the current default branch in a workflow template ?

show

$default-branch

on:
  push:
    branches: [ $default-branch ]

Can you prevent users to use Actions from the marketplace ?

show

Yes, using Policies and restricting to local actions only.

Can you allow users to only used actions created by GitHub or verified creators ?

show

Yes, using Policies and restricting to specific actions (menu "Allow select actions").

Are the Actions created by GitHub automatically present in GitHub Enterprise Server ?

show

Yes, but they may not be the last version of them.

Which feature allow to provide already premade templaces to users when they want to create a workflow ?

show

It's called a workflow template

What are the default labels applied to a self-hosted agent ?

show

  • self-hosted
  • the os: linux, windows, or macOS
  • the CPU architecture: x64 , ARM, or ARM64

How do you enforce your workflow running on a specific self-hosted agent running on Linux with ARM ?

show

runs-on: [self-hosted, linux, ARM64]

In which folder of a self-hosted agent can you find logs to debug the behavior of the runner ?

show

In the _diag folder.

Manage GitHub Packages

Can you upload containers images in GitHub Packages ?

show

Yes.

What is the docker command to publish a container image on GitHub Packages ?

show

docker push ghcr.io/OWNER/IMAGE_NAME:latest

What are the (programming) package managers supported by GitHub Packages ?

show

  • npm, a NodeJS package manager
  • NuGet, the .NET package manager
  • RubyGems
  • Maven and Gradle, two package managers for Java

In which scenarios should you NOT use GitHub Packages ?

  • When I want to share code between methods of my application.
  • When I want to share container images among developers of your team.
  • When I want to publish a small code library as an open-source project.
show

When I want to share code between methods of my application