Há quatro tipos de módulos definidos pelo PAM: módulos de autenticação que validam os usuários, provavelmente solicitando e verificando senhas e configurando credenciais como liberando acessos a grupos ou criando bilhetes como no programa de segurança Kerberos; módulos de controle que garantem a autenticação (verificam se a conta não expirou, se o usuário pode acessar o sistema em determinados horários, etc.); módulos de senhas, utilizados para a criação e configuração de senhas e módulos de sessão que são utilizados para liberar os recursos necessários para o usuário válido, como a montagem do diretório pessoal, disponibilidade de correio, etc..
Estes módulos podem estar separados, podendo ser utilizados de várias maneiras. Como por exemplo o rlogin que normalmente utiliza no mínimo dois métodos de autenticação: caso o rhosts autorize o acesso, a conexão é estabelecida, caso contrário o módulo de autenticação de senhas é utilizado.
Novos módulos podem ser adicionados a qualquer tempo e novas aplicações podem utilizar o PAM. Por exemplo, caso se tenha um sistema que calcule uma senha para uso uma única vez, pode-se escrever o módulo para suportar esta funcionalidade (documentação sobre o desenvolvimento de módulos pode ser encontrada com o sistema). Programas que interajam com PAM podem usar o novo módulo sem a necessidade de recompilar ou alterar o novo módulo.