Come for the products,
stay for the community

The Atlassian Community can help you and your team get more value out of Atlassian products and practices.

Atlassian Community about banner
4,368,019
Community Members
 
Community Events
168
Community Groups

How to add an Access Key with Write permission?

I am trying to set up Sparkle Share (http://www.sparkleshare.org/) for an artist on my team who needs read-write access to our project, but doesn't want to deal with Git (Sparkle Share behaves like DropBox).

Sparkle Share provides an SSH client id, which I add as an "Access Key" to my Free BitBucket Repo. This works; the repo is properly download to the clients machine. However, any changes they make cannot be uploaded, because that Access Key only has "Read" permission.

On GitHub there is just a little "allow write" check box when you add an SSH key, but I can't find anything on BitBucket.

Is this possible?

4 answers

Bitbucket cloud has been an exceedingly disappointing experience... Similar to JIRA, it's missing many features, and Atlassian doesn't seem capable of delivering them. How about some pre-commit hooks?

Yea, access keys with optional write access seems like a pretty important feature. Github has this exact behavior with their "deploy keys". Now with github offering free private repos, it's hard to justify sticking with Atlassian.   

Like # people like this

Honestly, this is unacceptable for a product as big as this not to have such basic functionality, for anyone else that needs a 'workourand': 

Instead of adding the public ssh key as an access key on the repo, add it as a public ssh key of a user that has write access to the repo.

Unfortunately this user will be the 'scapegoat' if something goes wrong ;-)

Like # people like this

You usually create a service account for this sort of things instead of adding that key to a real user's account.

I think attaching a key to a specific user with write access to the repo much is much better than a global public key 

2 votes
carolyn french Community Leader Jul 11, 2018

Hi Matt, and welcome to Community!

From what I see in the Bitbucket documentation, you can only do read/write in Bitbucket Server Access Keys, not Bitbucket Cloud.

Someone else may have some sort of workaround for you...

Carolyn

I know its 2020, but I needed to do a similar thing recently. Here's how I did it.

When you add an SSH key to your repo, you essentially give an anonymous user called "git" a Read access to your repo as long as they provide that key. Such access seems to be limited to read-only by design.

Instead of adding an SSH key to the repo I created a BitBucket user for my service account (i.e. srv-acct-001) and added SSH key to that user. Now if you give that BB user Write permissions to your repo, they will be able to read and write AS LONG AS they use that user's name instead of "git" and provide their SSH key, for instance:

git clone srv-acct-001@bitbucket.org:<repo>

This way it will consume one user account, of course.

Workspaces also has access keys. Adding key there gives you write access.

Like # people like this

I tried the "make a user for the svc account" approach, but ran into issues validating the invite. SSO prevented me from logging in as the svc account.   

@Marek Skórkowski Thank you! It works as it should, though I had to deal with an illogical interface.

As per Marek Skórkowski reply:

Adding the key to the workspace access keys gives it write access.

I wish this could be mentioned as an option for write access in the repository settings page.

So should it be in repo and in workplace settings?

Or only workplace?

Only workspace.

Copy the public key from repo of interest `Repository settings > SSH Keys`  to `Workspace settings > SSH Keys`.

Is this Workpace SSH key feature a paid feature, or only on BitBucket Server? I don't see it on my (Free) Cloud account.

nevermind, it looks like it's actually "Personal Settings", not Workspace settings

@Ryan Pei no, personal settings is for your personal account settings. if you want to open the workspace, click on your profile, in the menu above "personal settings" you see a small list of recent workspaces or a "all workspaces" link. select the workspace with the repo in question, then select "settings" and finally "SSH keys"

Suggest an answer

Log in or Sign up to answer
TAGS

Atlassian Community Events