Page MenuHomePhabricator

Fundraising Access For Ilse Ackerman
Closed, ResolvedPublic

Description

This is a new access request for Ilse Ackerman. They require the following access:

  • civicrm web access
    • standard access
    • donor services access
  • ssh access - analytics and dev/staging
  • mysql - analytics and dev/staging
  • superset
  • jupyter notebooks instance (?)


New User Procedure / Checklist

When adding a new user to the fundraising / fr-tech ecosystem, we have a set of places where we need to create accounts and access.

Prerequisites

Before we can take any action to add a user, we need to verify that they are authorized to have such access. This requires confirmation from their manager and approval from the C level that access is approved.

[x] user_verification
Requires: user request
[x] access_rights: letter to C level (currently Lisa) verifying grant of access
[x] account name/contact info: verify on https://collab.wikimedia.org/wiki/Fundraising#Contact_List
[-] (if not advancement) add to okta notify list: create ITS ticket for adding to fr-tech's entry in the Okta Workflows Table

Accounts and Services

[x] client_ssl_cert
Requires: user_verification
[x] cert_setup: generate cert on frpm1001 using ssl_user_admin
[x] account_setup: sms the user the password for the key (placed on frdev1002 instead)
[x] follow_on: assist with certificate installation
[x] civicrm
Requires: client_ssl_cert
[x] account_setup: Create user account. This will notify the user via email to update their password.
[x] follow_on: Verify user can log in to https://civicrm.wikimedia.org
[x] superset
Requires: client_ssl_cert
[x] account_setup: Create user account. Notify the user of their account name and password.
[x] follow_on: Verify user can log in to https://analytics.frdev.wikimedia.org
[x] archive_access: Add to google drive archive group. https://drive.google.com/drive/folders/0ADWGPlZtksGdUk9PVA
[x] user account
Requires: user_verification
[x] Add the user to the users.yaml and group_members.yaml files as appropriate.
[x] Push out puppet changes.
[x] yubikey
Requires: useraccount and ITS request to send out yubikey to user
[x] physical: Make a request to ITS to have a key sent to the user
[x] account_setup: Get public side and add to puppet-private/manifests/passwords/yubico.pp
[x] follow_on: Make sure user can use yubikey for ssh access

(Note that I have a yubikey of my own already, so don't need a physical key sent. 🔑)

[x] ssh
Requires: useraccount and yubikey
[x] key_setup: Send template/docs for generating keypair and ~/.ssh/config file
[x] account_setup: Get public side and add to puppet-private/secrets/ssh/default/$username
[x] follow_on: Verify user can ssh using correct creds and passphrases when needed.
[x] mysql
Requires: useraccount, yubikey, ssh
[x] account_setup
    [x] Create user block in ~/puppet-private/secrets/mysql_grants/fundraising_qa
    [x] Ensure user is in correct blocks for select rights on dbs.
        - Generally use another user in same group as a guide
    [x] Run the grant script to get the grants.
    [x] Copy/paste to execute the grants on appropriate dbs.
    [x] Create the user a ~/.my.cnf file with the original password from account creation.
[x] follow_on: Verify user can ssh to the required host and log in to mysql.

Event Timeline

Access request approval:

Date: Fri, 11 Oct 2024 14:02:59
From: Lisa Seitz Gruwell
To: Erica Roden
Cc: Dallas Wisehaupt , Greg Grossmeier , Jeff Green
Subject: Re: Approval system access - Ilse Ackerman (starting 10.16)
----------------------------------------

Yes, I approve. 

On Fri, Oct 11, 2024 at 12:37 PM Erica Roden wrote:

Hi Lisa

We need to set up access for Ilse.  Can you provide approval so Jeff or Dallas can set her up in Superset, Civi, and our databases?
 

Thanks!

@ERoden-WMF Do you have an idea yet which databases Ilse will need access to? This will require the use of ssh if direct DB access is required.

They were previously granted some access in T356110 but I'm assuming there may be some changes to what is required.

thanks @Dwisehaupt. Previous access was granted when she was a consultant, she will need this access linked to her Wikimedia credentials. @greg per our conversation last week could you confirm what access she needs.

My initial reaction is: "what Joseph has".

@Dwisehaupt Same access as me should be correct (civicrm, drupal, all the analytics and analytics dev schemas). And same permissions as me as well (so read and write for the analytics schemas).

Hi @Dwisehaupt @Jgreen @greg Ilse has received her computer, could you let us know when you'll be able to get her access set up? cc @IAckerman-WMF

@IAckerman-WMF & @ERoden-WMF: did ITS send Ilse a yubikey with the laptop?

I have a Yubikey already, so we can skip IT sending me one.

I have a Yubikey already, so we can skip IT sending me one.

Is it the same one we set up before, for T357456?

Great, I'll reactivate that key. Next step is for you to generate a new ssh keypair for use in the FR environment. Instructions are here.

https://wikitech.wikimedia.org/wiki/Fundraising/techops/docs/frack_ssh_access

Please post the public key on this task.

Thanks. The public key is cccccbdfehjr.

Thanks. The public key is cccccbdfehjr.

Please post the ssh public key too.

Here you go: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMQvSzk2WIncyDP2sc52U9mxHag9u2jta+5+mRahMZB6 iackerman@wikimedia.org

@IAckerman-WMF your SSH account and SSL client cert are set up, please see email for additional info.

Jgreen changed the task status from Open to In Progress.Oct 22 2024, 5:12 PM
Jgreen triaged this task as High priority.
Jgreen updated the task description. (Show Details)

Database access is enabled including configured .my.cnf.

Civi account moved from Blocked to active and email address updated to wikimedia address.

Civi rights adjusted to standard rights instead of View Only.

Dwisehaupt claimed this task.
Dwisehaupt updated the task description. (Show Details)
Dwisehaupt moved this task from Up Next to Done on the fundraising-tech-ops board.

Verified with ilse that civi access is working as needed. Closing this out.