Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Dedicated release note for dropping repository permissions for Administration on GitHub #1971

Merged
merged 57 commits into from
Jan 15, 2024
Merged
Show file tree
Hide file tree
Changes from 46 commits
Commits
Show all changes
57 commits
Select commit Hold shift + click to select a range
36c552a
wip: Add new dedicated release note page
Dec 6, 2023
2cc8b8e
fix: Fix page link
Dec 6, 2023
2382ad7
wip: Add timeline table
Dec 7, 2023
569778d
Merge branch 'master' into PLUTO-802-gh-access-tokens-release-note
claudiacarpinteiro Dec 7, 2023
1c45ac8
feat: Restructure and content update
Dec 7, 2023
8d36702
Merge branch 'master' into PLUTO-802-gh-access-tokens-release-note
claudiacarpinteiro Dec 11, 2023
1d9a577
clean: Small tweak
Dec 11, 2023
6896e7f
clean: Give more visibility to required action
Dec 12, 2023
d173627
clean: Remove duplicate details from the section introduction
Dec 12, 2023
56f5131
clean: Tweaks for clarity
Dec 12, 2023
8ca6556
fix: Temporary fix for Python version
Dec 12, 2023
86592e3
feat: Clarify org owner role for approval, add image for permissions …
Dec 13, 2023
01e0d7e
toolchain: Remove Python fix
Dec 13, 2023
9a0b161
clean: Small tweak
Dec 13, 2023
aeafa2e
Merge branch 'master' into PLUTO-802-gh-access-tokens-release-note
claudiacarpinteiro Dec 13, 2023
1b700ac
clean: Tweak for clarity
Dec 13, 2023
eefc3d2
Merge branch 'PLUTO-802-gh-access-tokens-release-note' of github.com:…
Dec 13, 2023
0c32250
clean: Tweak for US English
claudiacarpinteiro Dec 15, 2023
a286c5c
clean: Tweaks for clarity
claudiacarpinteiro Dec 15, 2023
b9d241f
clean: Tweak
claudiacarpinteiro Dec 15, 2023
11d21a1
clean: Tweaks for clarity
claudiacarpinteiro Dec 15, 2023
c19743c
Merge branch 'master' into PLUTO-802-gh-access-tokens-release-note
claudiacarpinteiro Dec 15, 2023
a441144
clean: Tweak for clarity
claudiacarpinteiro Dec 15, 2023
f10b5fa
Merge branch 'master' into PLUTO-802-gh-access-tokens-release-note
claudiacarpinteiro Dec 15, 2023
b3af1e6
Merge branch 'master' into PLUTO-802-gh-access-tokens-release-note
claudiacarpinteiro Dec 29, 2023
7791bc5
Merge branch 'master' into PLUTO-802-gh-access-tokens-release-note
claudiacarpinteiro Jan 2, 2024
397d67a
Merge branch 'master' into PLUTO-802-gh-access-tokens-release-note
claudiacarpinteiro Jan 9, 2024
2c6735e
clean: Update release note title
Jan 9, 2024
bd668b3
clean: Rename file
Jan 9, 2024
a8db1a1
fix: Fix file name in mkdocs.yml and add 2024 entry in cloud release …
Jan 9, 2024
f285bd4
Merge branch 'master' into PLUTO-802-gh-access-tokens-release-note
claudiacarpinteiro Jan 9, 2024
1d28f94
feat: Update rollout timeline
Jan 9, 2024
ea9a404
Merge branch 'PLUTO-802-gh-access-tokens-release-note' of github.com:…
Jan 9, 2024
158d1f7
clean: Update links to GH documentation
Jan 9, 2024
d92e113
feat: Improve the message, clarify permissions changes
Jan 10, 2024
073b5f1
todo: Add TODOs to update date
Jan 10, 2024
bfb6d48
clean: Small tweak
Jan 10, 2024
9dd6f9e
clean: Tweaks. Add link to GH App permissions section
Jan 10, 2024
b092a02
clean: Small tweak
Jan 10, 2024
1fbcb95
clean: Clarify new permission name
Jan 10, 2024
ce2c47f
wip: Add TODO to rename image
Jan 10, 2024
523a8ea
clean: Tweaks
Jan 10, 2024
c223e01
clean: Tweak link text
Jan 10, 2024
7071d61
fix: Fix typo
claudiacarpinteiro Jan 11, 2024
864d871
fix: Grammar fix
claudiacarpinteiro Jan 11, 2024
d54b9f4
Merge branch 'master' into PLUTO-802-gh-access-tokens-release-note
claudiacarpinteiro Jan 11, 2024
6c3ea23
clean: Update terminology according to feedback
Jan 12, 2024
17782b2
feat: Update release date
Jan 12, 2024
a369df4
clean: Rename MD file for consistency
Jan 12, 2024
b1b49c6
feat: Update release note title in TOC
Jan 12, 2024
82424d1
clean: Tweak according to feedback
Jan 12, 2024
0c0b496
clean: Tweak for correctness according to feedback
Jan 12, 2024
4d7628a
feat: Add step to revoke keys on GH side
Jan 12, 2024
2ebeb55
clean: Tweak terminology
Jan 12, 2024
81008ae
Merge branch 'master' into PLUTO-802-gh-access-tokens-release-note
claudiacarpinteiro Jan 15, 2024
5a78663
feat: Update release date
Jan 15, 2024
f996d95
clean: Rename file for consistency
Jan 15, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -207,7 +207,7 @@ If you need to use an integration that you have previously revoked, log in again
## Why does Codacy ask for permission to create SSH keys?

!!! note
**GitHub only:** Codacy will soon start using [installation access tokens](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/generating-an-installation-access-token-for-a-github-app#about-installation-access-tokens) instead of SSH keys to integrate with your GitHub repositories and clone them. SSH keys are currently used as a fallback mechanism when the [Contents permission](#github-cloud) isn't available.
**GitHub only:** Codacy started using [installation access tokens](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/generating-an-installation-access-token-for-a-github-app#about-installation-access-tokens) instead of SSH keys to integrate with your GitHub repositories and clone them. SSH keys are currently used as a fallback mechanism when the [Contents permission](#github-cloud) isn't available. For more information, [see the deprecation notice of SSH keys for GitHub repositories](../release-notes/cloud/cloud-2024-01-DD-gh-repository-ssh-keys-deprecation.md).

To ensure Codacy keeps working correctly, make sure an organization owner [approves Codacy GitHub App updated permissions](https://docs.github.com/en/apps/using-github-apps/reviewing-and-modifying-installed-github-apps) on your GitHub organization.

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
---
rss_title: Codacy release notes RSS feed
rss_href: /feed_rss_created.xml
---

# Deprecation of SSH keys for GitHub repositories January DD, 2024<!--TODO PLUTO-802 Update release date-->

!!! info "This release note applies only to GitHub"

For increased security, Codacy deprecated the usage of **repository SSH keys** for Git operations on GitHub in favor of **installation access tokens**.

This change translates into important security improvements:

- It reduces the liability of the Codacy GitHub App, as it no longer requires [read and write repository permissions for Administration](https://docs.github.com/en/rest/authentication/permissions-required-for-github-apps?apiVersion=2022-11-28#repository-permissions-for-administration).
- Contrary to long-living SSH keys, [installation access tokens](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/generating-an-installation-access-token-for-a-github-app#about-installation-access-tokens) expire after one hour and Codacy loses access when the GitHub App is uninstalled.

To minimize any impact, Codacy deprecated the usage of repository SSH keys for now but will keep using them as a fallback mechanism at this first stage. At a later stage, Codacy will [delete the repository SSH keys](#timeline) stored in our systems.

## Changes on the Codacy GitHub App required permissions {: id="changes-permissions"}

To use installation access tokens, the Codacy GitHub App now requires [repository read permissions for Contents](https://docs.github.com/en/rest/authentication/permissions-required-for-github-apps?apiVersion=2022-11-28#repository-permissions-for-contents).

On the other hand, the Codacy GitHub App no longer requires [read and write repository permissions for Administration](https://docs.github.com/en/rest/authentication/permissions-required-for-github-apps?apiVersion=2022-11-28#repository-permissions-for-administration). This permission will be [removed from the Codacy GitHub App](#timeline) at a later stage.

## What do you need to do if you have a GitHub organization? {: id="to-do"}

Make sure an organization owner [approves the updated permissions for the Codacy GitHub App](https://docs.github.com/en/apps/using-github-apps/reviewing-and-modifying-installed-github-apps) on your GitHub organization, if not done yet.

Codacy has been requesting repository read permissions for **Contents** since September 2023. Organization owners should have received a GitHub notification to review a request for this additional permission:

![Codacy GitHub App updated permissions request](../images/2023-12-DD-gh-updated-permissions.png)<!--TODO PLUTO-802 Rename image-->

If you have any questions or need help, please contact <mailto:[email protected]>.

## Removal of repository permissions for Administration and SSH keys {: id="timeline"}

To ensure the conditions to use installation access tokens on GitHub organizations are met before the removal of repository permissions for Administration and SSH keys, Codacy will execute a phased rollout according to the timeline below:

<table>
<thead>
<th>Date</th>
<th>Event</th>
<th>What to expect</th>
</thead>
<tbody>
<tr>
<td>January DD, 2024</td><!--TODO PLUTO-802 Update release date-->
<td>Codacy started using installation access tokens to clone and integrate with your repositories, and deprecated the usage of repository SSH keys</td>
<td>
<p>From this day on, repository SSH keys are used exclusively as a fallback mechanism when the Contents permission is missing.</p>
<p>If not done yet, make sure an organization owner <a href="#to-do">approves Codacy GitHub App updated permissions</a> on your GitHub organization.</p>
</td>
</tr>
<tr>
<td>February 12, 2024</td>
<td>Brownout of repository permissions for Administration</td>
<td>
<p>On this day, Codacy won't use any fallback mechanism if the Contents permission is missing.</p>
<p>This will help you confirm that the updated permissions for the Codacy GitHub App were already approved for your organization.<br/>If on this date your Codacy quality analysis fails or you have problems adding new repositories to Codacy, make sure an organization owner <a href="#to-do">approves the updated permissions for the Codacy GitHub App</a> on your GitHub organization.</p>
</td>
</tr>
<tr>
<td>February 19, 2024</td>
<td>Codacy will remove repository permissions for Administration from the Codacy GitHub App and drop the usage of repository SSH keys</td>
<td>
<p>Codacy will start using installation access tokens to clone and integrate with your repositories, with no fallback mechanisms. Also, repository permissions for Administration will be removed from the Codacy GitHub App.</p>
<p>If on this date the Codacy GitHub App updated permissions haven't been approved on your GitHub organization yet, your Codacy quality analysis will fail and you'll not be able to add new repositories to Codacy until an organization owner <a href="#to-do">approves the updated permissions.</a></p>
</td>
</tr>
<tr>
<td>To define</td>
<td>Codacy will no longer store repository SSH keys</td>
<td>
<p>On this day, Codacy will delete all the repository SSH keys stored in our systems.</p>
</td>
</tr>
</tbody>
</table>

## See also

- [Which permissions are required by Codacy GitHub App?](../../getting-started/which-permissions-does-codacy-need-from-my-account.md#github-cloud)
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 4 additions & 0 deletions docs/release-notes/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,10 @@ For product updates that are in progress or planned [visit the Codacy public roa

## Codacy Cloud release notes {: id="cloud"}

2024

- [Deprecation of SSH keys for GitHub repositories January DD, 2024](cloud/cloud-2024-01-DD-gh-repository-ssh-keys-deprecation.md)

2023

- [Cloud December 2023](cloud/cloud-2023-12.md)
Expand Down
2 changes: 2 additions & 0 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -659,6 +659,8 @@ nav:
- Release notes:
- release-notes/index.md
- Cloud:
- 2024:
- release-notes/cloud/cloud-2024-01-DD-gh-repository-ssh-keys-deprecation.md
- 2023:
- release-notes/cloud/cloud-2023-12.md
- release-notes/cloud/cloud-2023-11.md
Expand Down
Loading