Секреты Authelia

Для настройки Authelia требуется несколько секретов и паролей.

Для настройки Authelia требуется несколько секретов и паролей. Даже если они могут быть заданы в конфигурационном файле или стандартных переменных окружения, рекомендуется использовать этот метод настройки, описанный ниже.

Filters

Помимо описанных ниже методов, файлы конфигурации можно передавать через фильтры шаблонов. Эти фильтры можно использовать для вставки или изменения содержимого файла. В частности, функция fileContent может быть использована для получения содержимого файла, а nindent - для добавления новой строки и отступа содержимого этого файла.

authentication_backend:
  ldap:
    address: 'ldap://{{ env "SERVICES_SERVER" }}'
    tls:
      private_key: |
        {{- fileContent "./test_resources/example_filter_rsa_private_key" | nindent 8 }}

{{ и }} ограничители шаблона

вставляем содержимое файла в ключ private_key с отступом 8 пробелов

Layers

Security

Этот метод немного улучшает безопасность других методов, поскольку позволяет легко разделить конфигурацию логически безопасным способом.

Environment variables

Секретное значение может быть загружено Authelia, если ключ конфигурации заканчивается одним из следующих слов: key, secret, password, token или certificate_chain.

Если вы возьмете ожидаемую переменную окружения для конфигурационного параметра с суффиксом _FILE в конце. Значение этих переменных окружения должно быть путем к файлу, который может быть прочитан процессом Authelia, если это не так, Authelia не сможет загрузиться. Authelia автоматически удалит новые строки в конце содержимого файлов.

Например, пароль LDAP может быть определен в конфигурации по пути authentication_backend.ldap.password, поэтому в качестве альтернативы этот пароль может быть задан с помощью переменной окружения под названием

AUTHELIA_AUTHENTICATION_BACKEND_LDAP_PASSWORD_FILE

Список переменных
Configuration KeyEnvironment Variable
authentication_backend.ldap.passwordAUTHELIA_AUTHENTICATION_BACKEND_LDAP_PASSWORD_FILE
authentication_backend.ldap.tls.certificate_chainAUTHELIA_AUTHENTICATION_BACKEND_LDAP_TLS_CERTIFICATE_CHAIN_FILE
authentication_backend.ldap.tls.private_keyAUTHELIA_AUTHENTICATION_BACKEND_LDAP_TLS_PRIVATE_KEY_FILE
duo_api.integration_keyAUTHELIA_DUO_API_INTEGRATION_KEY_FILE
duo_api.secret_keyAUTHELIA_DUO_API_SECRET_KEY_FILE
identity_providers.oidc.hmac_secretAUTHELIA_IDENTITY_PROVIDERS_OIDC_HMAC_SECRET_FILE
identity_validation.reset_password.jwt_secretAUTHELIA_IDENTITY_VALIDATION_RESET_PASSWORD_JWT_SECRET_FILE
notifier.smtp.passwordAUTHELIA_NOTIFIER_SMTP_PASSWORD_FILE
notifier.smtp.tls.certificate_chainAUTHELIA_NOTIFIER_SMTP_TLS_CERTIFICATE_CHAIN_FILE
notifier.smtp.tls.private_keyAUTHELIA_NOTIFIER_SMTP_TLS_PRIVATE_KEY_FILE
session.redis.high_availability.sentinel_passwordAUTHELIA_SESSION_REDIS_HIGH_AVAILABILITY_SENTINEL_PASSWORD_FILE
session.redis.passwordAUTHELIA_SESSION_REDIS_PASSWORD_FILE
session.redis.tls.certificate_chainAUTHELIA_SESSION_REDIS_TLS_CERTIFICATE_CHAIN_FILE
session.redis.tls.private_keyAUTHELIA_SESSION_REDIS_TLS_PRIVATE_KEY_FILE
session.secretAUTHELIA_SESSION_SECRET_FILE
storage.encryption_keyAUTHELIA_STORAGE_ENCRYPTION_KEY_FILE
storage.mysql.passwordAUTHELIA_STORAGE_MYSQL_PASSWORD_FILE
storage.mysql.tls.certificate_chainAUTHELIA_STORAGE_MYSQL_TLS_CERTIFICATE_CHAIN_FILE
storage.mysql.tls.private_keyAUTHELIA_STORAGE_MYSQL_TLS_PRIVATE_KEY_FILE
storage.postgres.passwordAUTHELIA_STORAGE_POSTGRES_PASSWORD_FILE
storage.postgres.tls.certificate_chainAUTHELIA_STORAGE_POSTGRES_TLS_CERTIFICATE_CHAIN_FILE
storage.postgres.tls.private_keyAUTHELIA_STORAGE_POSTGRES_TLS_PRIVATE_KEY_FILE

Секреты в конфигурационном файле

Секреты, открытые в переменной окружения

Во всех версиях 4.30.0+ вы можете задать секреты с помощью переменных окружения без суффикса _FILE, установив значение, которое вы хотите задать в конфигурации, однако мы настоятельно рекомендуем не использовать эту возможность и вместо этого использовать файловые секреты, описанные выше.