Skip to content

Commit 97af233

Browse files
committed
Merge pull request github#704 from tamsky/clarify-machine-users-vs-deploy-keys
Clarify access granted by deploy keys vs teams vs collaborators.
2 parents cd7a8c3 + b84cec9 commit 97af233

1 file changed

Lines changed: 4 additions & 5 deletions

File tree

content/guides/managing-deploy-keys.md

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ A deploy key is an SSH key that is stored on your server and grants access to a
6969
#### Cons
7070

7171
* Deploy keys only grant access to a single repository. More complex projects may have many repositories to pull to the same server.
72-
* The key has full read/write access to the repository.
72+
* Deploy keys always provide full read/write access to a repository.
7373
* Deploy keys are usually not protected by a passphrase, making the key easily accessible if the server is compromised.
7474

7575
#### Setup
@@ -88,11 +88,11 @@ A deploy key is an SSH key that is stored on your server and grants access to a
8888

8989
## Machine users
9090

91-
If your server needs to access multiple repositories, you can choose to attach an SSH key to an automated user account. Since this account won't be used by a human, it's called a machine user. You can then [add the machine account as collaborator][collaborator] or [add the machine user to a team][team] with access to the repositories it needs to manipulate.
91+
If your server needs to access multiple repositories, you can choose to create a new GitHub account and attach an SSH key that will be used exclusively for automation. Since this GitHub account won't be used by a human, it's called a machine user. You can then [add the machine user as collaborator][collaborator] or [add the machine user to a team][team] with access to the repositories it needs to manipulate. **NOTE**: Adding a machine user as a collaborator always grants read/write access. Adding a machine user to a team grants the permissions of the team.
9292

9393
<div class="alert">
9494
<p>
95-
<strong>Tip</strong>: Our <a href="https://help.github.com/articles/github-terms-of-service">terms of service</a> do mention that <em>'Accounts registered by "bots" or other automated methods are not permitted.'</em> and that <em>'One person or legal entity may not maintain more than one free account.'</em> But don't fear, we won't send rabid lawyers out to hunt you down if you make machine users for your server deploy scripts. Machine users are completely kosher.
95+
<strong>Tip</strong>: Our <a href="https://help.github.com/articles/github-terms-of-service">terms of service</a> do mention that <em>'Accounts registered by "bots" or other automated methods are not permitted.'</em> and that <em>'One person or legal entity may not maintain more than one free account.'</em> But don't fear, we won't send rabid lawyers out to hunt you down if you create machine users for your server deploy scripts. Machine users are completely kosher.
9696
</p>
9797
</div>
9898

@@ -101,11 +101,10 @@ If your server needs to access multiple repositories, you can choose to attach a
101101
* Anyone with access to the repository and server has the ability to deploy the project.
102102
* No (human) users need to change their local SSH settings.
103103
* Multiple keys are not needed; one per server is adequate.
104-
* Organizations can give read-only access to their machine users.
105104

106105
#### Cons
107106

108-
* By default, the key has full read/write access to the repository if the repository belongs to a user account. You can add the machine user to a read-only team if it's accessing repositories in an organization.
107+
* Only organizations have access to create teams; therefore only organizations can use them to restrict machine users to read-only access. Personal repositories always grant collaborators read/write access.
109108
* Machine user keys, like deploy keys, are usually not protected by a passphrase.
110109

111110
#### Setup

0 commit comments

Comments
 (0)