Правила безопасности Firestore следуют за форматом Google RE2 для регулярных выражений.
Это означает, что вы можете определить группу без захвата для вашего соответствия и отметить эту группу для использования без учета регистра соответствие с:
allow write: if request.resource.data.str.matches("(?i:^[a-z0-9]+)$");
Конечно, вы также можете просто расширить группу символов, включив в нее символы ASCII как в верхнем, так и в нижнем регистре:
allow write: if request.resource.data.str.matches("^[a-zA-Z0-9]+$");