During this internship, you will develop a local, reusable IAM Sandbox Factory for Curity. The focus is on DevOps, automation and Identity & Access Management. Using a single Git project, a colleague should be able to reproducibly install, configure, secure, test, reset and remove a complete sandbox on a Linux-based machine.
The sandbox is controlled through clearly defined parameters. Based on these parameters, various OAuth 2.0 and OpenID Connect clients, authentication scenarios, MFA methods, themes and a simple demo application are set up automatically. Ansible is the natural choice for the central orchestration layer, potentially combined with a local installation or containers.
What will you do?
- Design a local deployment strategy that works reliably on a Linux-based virtual machine, without depending on a public cloud or Kubernetes cluster.
- Build a Git-based project that installs and configures the sandbox using parameters.
- Automate prerequisites, installation, configuration, start-up, shutdown, validation, reset and removal.
- Provide multiple configurable OAuth 2.0 and OpenID Connect clients and connect them to a simple web application of your choice.
- Implement at least three scenarios: a basic sign-in with a username and password, a sign-in with MFA, and an advanced OAuth flow.
- Make authentication methods, client configuration and themes configurable so that colleagues can adapt the sandbox without major code changes.
- Provide HTTPS, proper certificate management and secure handling of secrets.
- Provide optional hardening that allows the default setup to be compared with a more production-oriented configuration.
- Document the complete solution, including prerequisites, configuration, scenarios, troubleshooting and day-to-day operation, for future internal users.
What technical skills will you learn?
- Applying DevOps principles to an IAM platform, with a focus on automation, reproducibility, idempotency and maintainability.
- Working with Infrastructure as Code and configuration as code using tools such as Git and Ansible.
- Evaluating and using a local runtime, such as a traditional Linux installation or Docker/Podman containers.
- Configuring Curity for OAuth 2.0, OpenID Connect, different clients, authentication flows and MFA.
- Properly managing TLS, local certificates, hostnames, secrets and security settings.
- Integrating a simple web application with Curity and demonstrating the selected scenarios end to end.
- Writing technical documentation that enables a colleague to install and use the tool independently.
What soft skills will you develop?
- Communication skills: reporting and documenting clearly and professionally, and collaborating with colleagues and stakeholders.
- Collaboration: working effectively within a multidisciplinary team in an agile environment.
- Problem-solving: analysing technical challenges and resolving them independently or in consultation with others.
- Self-organisation: taking responsibility for your tasks, planning and progress.
- Critical thinking: substantiating your choices and continuously improving based on feedback and evaluation.
- Customer focus: considering user needs and the business context when designing solutions.