security.toml 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. # Put this file to one of the location, with descending priority
  2. # ./security.toml
  3. # $HOME/.seaweedfs/security.toml
  4. # /etc/seaweedfs/security.toml
  5. # this file is read by master, volume server, and filer
  6. # this jwt signing key is read by master and volume server, and it is used for write operations:
  7. # - the Master server generates the JWT, which can be used to write a certain file on a volume server
  8. # - the Volume server validates the JWT on writing
  9. # the jwt defaults to expire after 10 seconds.
  10. [jwt.signing]
  11. key = ""
  12. expires_after_seconds = 10 # seconds
  13. # by default, if the signing key above is set, the Volume UI over HTTP is disabled.
  14. # by setting ui.access to true, you can re-enable the Volume UI. Despite
  15. # some information leakage (as the UI is not authenticated), this should not
  16. # pose a security risk.
  17. [access]
  18. ui = false
  19. # this jwt signing key is read by master and volume server, and it is used for read operations:
  20. # - the Master server generates the JWT, which can be used to read a certain file on a volume server
  21. # - the Volume server validates the JWT on reading
  22. # NOTE: jwt for read is only supported with master+volume setup. Filer does not support this mode.
  23. [jwt.signing.read]
  24. key = ""
  25. expires_after_seconds = 10 # seconds
  26. # If this JWT key is configured, Filer only accepts writes over HTTP if they are signed with this JWT:
  27. # - f.e. the S3 API Shim generates the JWT
  28. # - the Filer server validates the JWT on writing
  29. # the jwt defaults to expire after 10 seconds.
  30. [jwt.filer_signing]
  31. key = ""
  32. expires_after_seconds = 10 # seconds
  33. # If this JWT key is configured, Filer only accepts reads over HTTP if they are signed with this JWT:
  34. # - f.e. the S3 API Shim generates the JWT
  35. # - the Filer server validates the JWT on writing
  36. # the jwt defaults to expire after 10 seconds.
  37. [jwt.filer_signing.read]
  38. key = ""
  39. expires_after_seconds = 10 # seconds
  40. # all grpc tls authentications are mutual
  41. # the values for the following ca, cert, and key are paths to the PERM files.
  42. # the host name is not checked, so the PERM files can be shared.
  43. [grpc]
  44. ca = ""
  45. # Set wildcard domain for enable TLS authentication by common names
  46. allowed_wildcard_domain = "" # .mycompany.com
  47. [grpc.volume]
  48. cert = ""
  49. key = ""
  50. allowed_commonNames = "" # comma-separated SSL certificate common names
  51. [grpc.master]
  52. cert = ""
  53. key = ""
  54. allowed_commonNames = "" # comma-separated SSL certificate common names
  55. [grpc.filer]
  56. cert = ""
  57. key = ""
  58. allowed_commonNames = "" # comma-separated SSL certificate common names
  59. [grpc.s3]
  60. cert = ""
  61. key = ""
  62. allowed_commonNames = "" # comma-separated SSL certificate common names
  63. [grpc.msg_broker]
  64. cert = ""
  65. key = ""
  66. allowed_commonNames = "" # comma-separated SSL certificate common names
  67. # use this for any place needs a grpc client
  68. # i.e., "weed backup|benchmark|filer.copy|filer.replicate|mount|s3|upload"
  69. [grpc.client]
  70. cert = ""
  71. key = ""
  72. # volume server https options
  73. # Note: work in progress!
  74. # this does not work with other clients, e.g., "weed filer|mount" etc, yet.
  75. [https.client]
  76. enabled = true
  77. [https.volume]
  78. cert = ""
  79. key = ""
  80. ca = ""
  81. [https.master]
  82. cert = ""
  83. key = ""
  84. ca = ""