JetBrains Space Help

Authenticate in Packages

Private and public repositories

Repositories in Space Packages are project-wide entities. There are two types of repositories:

Private

Only authenticated users can access private repositories. The access is managed by the Package Repositories permissions group. By default:

  • Project Member has Read, Write, and Create permissions.

  • Organization Member has only Read permission.

  • Project Admin in addition to Read, Write, and Create, has the Admin permission that allows editing and deleting repositories.

  • Automation Service has Read and Write permissions. When an Automation job pulls or pushes packages, it uses this predefined role to access repositories.

Public

All unauthenticated users have Read permission to public repositories.

To change repository access permissions

  1. Find the required project.

  2. Open Project Settings → Access.

  3. In the list of roles on the left, choose the role for which you want to change access permissions.

  4. Set required permissions in the Package Repositories group.

To change the repository access type

  1. Find the required repository.

  2. Open repository settings.

  3. In Access to repository, specify the required repository type: Private or Public.

Authentication

Packages support a number of authentication ways:

Authentication Use case
(Not recommended) Using your Space username and password Accessing a repository with a tool like docker, mvn, dotnet, and so on.
Using your Space username and personal token Accessing a repository with a tool like docker, mvn, dotnet, and so on.
Using a service account Accessing a repository from an external service, for example, a CI/CD server.
No authentication (only public repositories) Accessing publicly available repositories.

To authenticate with your Space user account

  • When asked for credentials, specify your Space username and password. We strongly recommend that you use a permanent token instead of a password:

    1. To create a token, go to My Profile → Personal Tokens and choose New personal token.

    2. When creating the token, provide it as minimum permissions as possible:

      • In Token permissions, select Limited access.

      • With Select permissions, add ReadRepository and WriteRepository for giving Read and Write access correspondingly.

    3. When a tool or an application asks you for the password, you should specify this token instead.

To authenticate a tool or a service

  1. On the navigation bar, click administration.png Administration and choose Applications.

  2. Click New Application.

  3. In the New Application window:

    • in Type, choose Service Account.

    • in Name, specify an account name.

  4. Click Edit requested rights and provide the account as minimum permissions as possible. To work with Packages, only permissions from the Package repositories group are required.

  5. After the account is created, the account page will be shown. Using the left menu, switch to Authorizations.

  6. Click Add project and select projects. The service account will get acceess only to the repositories of the selected projects.

  7. Switch back to the service account overview by clicking the account name in the left menu. Note the Client ID and Client secret fields: you should use these two parameters as credentials for accessing project Packages on behalf of this account.

    Service account for Packages
Last modified: 28 September 2020