< Posts

PyATL and oso partner to offer a workshop on access control patterns in Python applications.

Oct. 9, 2020

Join us Thursday, October 22nd at 7pm EST for a workshop where you will implement common access patterns in a social media application using Django.

Nearly every application needs to enable its users to see only their data. Many other applications go further and add more controls, like sharing, or making some content private and public. These concepts are increasingly important to get right as data privacy consistently finds itself at the center of the conversation in technical, business and political communities. This workshop will be hands-on, led by Sam Scott (PhD), cofounder & CTO of oso.

There is limited space available—the workshop is limited to just 20 participants to ensure a high-quality experience—so interested attendees should reserve their space quickly. To reserve a spot, visit https://www.meetup.com/python-atlanta/events/273826930/.

Workshop Overview:

  • Exercise summary: Writing access control policies in oso to model different use cases – e.g., roles, attributes, hierarchies, inheritance 
    • Getting started with simple access control in a Django application using roles
    • Writing record-level access control policies using the oso Django integration
    • These will follow a similar structure to oso’s recent blog post on access patterns in GitHub, available at the following link:  https://www.osohq.com/post/building-the-github-authorization-model-using-oso
    • oso will have engineers available throughout to answer questions from participants
  • Intro to access control 
    • Common access patterns and use cases (e.g. why record-level access)
    • How to implement these natively in Django
    • Other common ways to implement these access control use cases in Python, plus oso
  • Then participants will launch into the exercise. oso will provide a worksheet for the exercise, and at this point participants can either: 
    • a. Do the exercise with the group, with CTO / oso engineer leading
    • b. Do the exercise in a breakout room independently, with CTO / oso engineer answering questions
  • Closing: Q&A


  • Computer with Python 3.7 or newer installed
  • High-speed internet connection
  • Zoom


Please email hello@pyatl.dev with questions.

Author: Pablo Rivera

Categories: Announcement Tutorial

Tags: Learn how to program News