Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
CloudPak-Outcomes
GitHub Repository: CloudPak-Outcomes/Outcomes-Projects
Path: blob/main/L4assets/DSandMLOpsAssets/CLIandSDK/Notebooks/CPDaaS-02b User mgmt with ibmcloud.ipynb
1928 views
Kernel: Python 3.10

Using the ibmcloud utility for user management

This notebook shows how ibmcloud can be used in a notebook.

ibmcloud requires an API key

Make sure to update the value of the API_key variable in the next cell.

The functionalities demonstrated are:

  • Setup access to ibmcloud

  • List users

  • List groups

  • List roles

  • Invite a user to your account

  • Remove the newly invited user from your account

For more information, see:

# Download the utility import requests import os import json url = "https://download.clis.cloud.ibm.com/ibm-cloud-cli/2.16.0/binaries/IBM_Cloud_CLI_2.16.0_linux_amd64.tgz" filename = 'IBM_Cloud_CLI_2.16.0_linux_amd64.tgz' API_key = "<YOUR_API_KEY>" r = requests.get(url) f = open(filename,'wb') nb_bytes = f.write(r.content) f.close()
!tar xzf IBM_Cloud_CLI_2.16.0_linux_amd64.tgz !rm -rf IBM_Cloud_CLI_2.16.0_linux_amd64.tgz !ln -s IBM_Cloud_CLI/ibmcloud ibmcloud !ls -l

Setup ibmcloud configuration

ibmcloud login [-a API_ENDPOINT] [--sso] [-u USERNAME] [-p PASSWORD] [--apikey KEY | @KEY_FILE] [--cr-token (TOKEN | @CR_TOKEN_FILE) | --vpc-cri] [--profile PROFILE_ID | PROFILE_NAME | PROFILE_CRN] [-c (ACCOUNT_ID | ACCOUNT_OWNER_USER_ID) | --no-account] [--accept] [-g (RESOURCE_GROUP_NAME | RESOURCE_GROUP_ID)] [-r REGION | --no-region] [-o ORG] [-s SPACE] [--vpc]
# no "/" at the end of the URL os.environ['CPD_API_KEY'] = API_key
!./ibmcloud login -r us-south --apikey ${CPD_API_KEY} !./ibmcloud config --check-version=false

List all users

ibmcloud account users [-c, --account-id ACCOUNT_ID]
!./ibmcloud account users

List groups

ibmcloud iam access-groups [-u USER_NAME | -s SERVICE_ID_NAME | -p (PROFILE_NAME | PROFILE_ID)] [--output FORMAT] [-q, --quiet]
!./ibmcloud iam access-groups

List roles

ibmcloud iam roles [--service SERVICE_NAME [--resource-type RESOURCE_TYPE] [--source-service SOURCE_SERVICE_NAME]] \ [--roles ROLE_NAME]
!./ibmcloud iam roles

Invite a user to your account

ibmcloud account user-invite USER_EMAIL [-o ORG [--org-role ORG_ROLE] [-s SPACE, --space-role SPACE_ROLE]] [-r, --region REGION]
os.environ['user_email'] = "[email protected]" !./ibmcloud account user-invite ${user_email}
# list users again !./ibmcloud account users

Delete user

ibmcloud account user-remove USER_ID [-c ACCOUNT_ID] [-f, --force]
!./ibmcloud account user-remove ${user_email} -f

Author

Jacques Roy is a member of the IBM Enablement for Data and AI

Copyright © 2023. This notebook and its source code are released under the terms of the MIT License.