Skip to main content

Manage users, groups and services of the ETH Identity and Access Management system (IAM)

Project description

ETHZ IAM Webservice

Manage users, groups and services of the ETH Identity and Access Management system (IAM)

Synopsis

Beginning

import ethz_iam_webservice
import getpass

e = ethz_iam_webservice.login('admin4iam', getpass.getpass())

Person

person = e.get_person('name@example.com')
person = e.get_person('some_username')
person = e.get_person(123456)             # npid (internal Person identifier)

person.usernames                          # an array of dicts of usernames
person.data                               # raw webservice response
person.firstname
person.familyname
person.email
# etc.

User

user = person.new_user('username', 'password', 'description')
user = e.get_user('username')
user.services                             # an array of dicts of services

user.grant_service("LDAPS")
user.grant_service("Active Directory")
user.grant_service("WLAN_VPN")

user.revoke_service("LDAP")

user.delete() 
user.add_to_group('groupname')
user.remove_from_group('groupname')

Group and Group Members

get single group - returns a Group object or throws a ValueError if group is not found

group = e.get_group('groupname')
group = e.get_group(123456)        # gidNumber
group.data                         # all data received from webservice
group.members                      # returns array of usernames or group-names
group.gidNumber
group.<attribute>

add/remove group members

group.add_members('some', 'new', 'members')
group.set_members('just', 'these')
group.del_members('remove', 'these', 'members')

search for groups - Result is always a list of groups or an empty list

groups = e.get_groups(agroup='ID SIS')
groups = e.get_groups(name='starts_with*')
groups = e.get_groups(agroup='ID SIS', name='starts_with*')

Mailinglists

ml = e.get_mailinglist('ID.SIS.SSDM')
ml = e.get_mailinglist('sis@id.ethz.ch')
ml.name
ml.mail
ml.gidNumber
ml.groupType
ml.displayName
...

ml.members        # returns all (direct) members of that list
ml.add_members('user1', 'user2')
ml.del_members('user3, 'user4')

See also FAQ

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ethz_iam_webservice-0.1.1.tar.gz (5.1 kB view details)

Uploaded Source

File details

Details for the file ethz_iam_webservice-0.1.1.tar.gz.

File metadata

  • Download URL: ethz_iam_webservice-0.1.1.tar.gz
  • Upload date:
  • Size: 5.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.6.0

File hashes

Hashes for ethz_iam_webservice-0.1.1.tar.gz
Algorithm Hash digest
SHA256 93860ddffd2662d4a7a44c32598f118393b2ffa3f082f39ab5a6d0e1f6f6ec2f
MD5 4a1a31d838f630bd15fd3c5488be12da
BLAKE2b-256 8ccf3c6372d8416e3f13fd648872678a6cc55e44fe035aaf8ff51b7f7911b697

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page