After adding a key, it's available to any shared systems. Project maintainers
After adding a key, it's available to any shared system. Users with a maintainer role or
or higher can [authorize a public deploy key](#project-deploy-keys) to start using it with the project.
higher can [authorize a public deploy key](#project-deploy-keys) to start using
it with the project.
NOTE:
NOTE:
The **Publicly accessible deploy keys** tab within Project's CI/CD settings only appears
The **Publicly accessible deploy keys** tab in a Project's CI/CD
if there is at least one Public deploy key configured.
settings only appears if there is at least one Public deploy key configured.
Public deploy keys can provide greater security compared to project deploy keys, as
Public deploy keys can provide greater security compared to project deploy keys.
the administrator of the target integrated system is the only one who needs to know the key value,
This is because the administrator of the target integrated system is the only
or configure it.
entity who needs to know or configure the key value.
When creating a Public deploy key, determine whether or not it can be defined for
When creating a Public deploy key, consider what scope and permissions are
very narrow usage, such as just a specific service, or if it needs to be defined for
required for it across the entire GitLab instance. For very narrow usage, such
broader usage, such as full `read-write` access for all services.
as a single specific service, a `read-only` deploy key tied to this service is
best. If the service entails broader usage across the instance, a
deploy key with full `read-write` access is more appropriate.
WARNING:
WARNING:
Adding a public deploy key does not immediately expose any repository to it. Public
Adding a public deploy key **does not** immediately expose any repository
deploy keys enable access from other systems, but access is not given to any project
to the remote machine. Access to a project is only given when a project
until a project maintainer chooses to make use of it.
maintainer chooses to make use of a deploy key in the project's
configuration.
## How to disable deploy keys
## How to disable deploy keys
...
@@ -162,13 +169,17 @@ can remove or disable a deploy key for a project repository:
...
@@ -162,13 +169,17 @@ can remove or disable a deploy key for a project repository:
1. Select the **{remove}** or **{cancel}** button.
1. Select the **{remove}** or **{cancel}** button.
NOTE:
NOTE:
If anything relies on the removed deploy key, it will stop working once removed.
Any service that relies on a deploy key stops working after that key is removed.
If the key is **publicly accessible**, it will be removed from the project, but still available under **Publicly accessible deploy keys**.
If the key is **publicly accessible**, it is removed from the project, but can
still be found under **Publicly accessible deploy keys**.
If the key is **privately accessible** and only in use by this project, it will deleted.
If the key is **privately accessible** and only in use by this project, it is
deleted entirely from GitLab on removal.
If the key is **privately accessible** and in use by other projects, it will be removed from the project, but still available under **Privately accessible deploy keys**.
If the key is **privately accessible** and also in use by other projects, it is
removed from the project, but still available under **Privately accessible