To get the most out of this book
This book assumes that readers are already familiar with at least one of the cloud platform service providers discussed – AWS, Microsoft Azure, and GCP. Therefore, we’ve made a few assumptions about your existing knowledge and experience:
- Basic understanding of cloud computing: You should understand the fundamentals of cloud computing, including Software-as-a-Service (SaaS) concepts
- Familiarity with one or more cloud platforms: Experience with AWS, Azure, or GCP is helpful, as many concepts in this book build upon the services and architecture of these platforms
Products covered in the book |
Requirements |
Azure AD |
Azure AD Premium P1 |
Okta Workforce Identity |
An Okta Standard account |
Okta Customer Identity |
An Okta Developer or Enterprise account |
ForgeRock – Access Manager |
A ForgeRock software platform account |
Ping Identity – PingFederate |
A Ping Identity account |
AWS |
An AWS root account |
Google Cloud Identity |
Google Cloud Identity or Workspace account |
Keycloak |
The Keycloak server’s latest version (version 21.1.1 was used in this book) |
Duo |
A Duo Essentials account |
1Kosmos – BlockID |
A BlockID account |
BehavioSec |
A BehavioSec account |
Knowing how to utilize Java and Docker for deploying applications is a helpful skill while reading this book. Some products we’ll discuss can be locally installed and run as standalone Java applications or as Docker containers:
- Java Platform: Many enterprise-level applications, including some IAM products we will explore, are built with Java due to its robustness, portability, and scalability. Understanding how Java applications are deployed will give you a solid grasp of these solutions’ underlying structure and functioning.
- Docker containers: Docker is a popular platform that uses containerization to package an application and its dependencies into a single object. Docker can simplify the deployment process and eliminate the “but it works on my machine” problem, making it an excellent tool for deploying applications for testing and development. Understanding how to pull, run, and manage Docker containers can significantly simplify installing and running the software products discussed in this book.
- Running servers: Certain products, such as Keycloak, run on a server that can be initiated using Java or run inside a Docker container. Understanding how to start these servers using either of these methods is essential for installing and testing these products in a local environment.
- Troubleshooting and customization: Understanding Java and Docker deployment also aids in troubleshooting any issues that might arise during the installation or operation of the software. Furthermore, if the product is open source, you can customize it to suit your needs better, and understanding the deployment process will be crucial for this.