ashb commented on a change in pull request #15599:
URL: https://github.com/apache/airflow/pull/15599#discussion_r626369266
##########
File path: docs/apache-airflow/security/secrets/index.rst
##########
@@ -30,6 +30,66 @@ The following are particularly protected:
.. toctree::
:maxdepth: 1
:glob:
+ :caption: Further reading:
- fernet
- secrets-backend/index
+ Encryption at rest <fernet>
+ Using external Secret stores <secrets-backend/index>
+
+.. _security:mask-sensitive-values:
+
+Masking sensitive data
+----------------------
+
+Airflow will by default mask Connection passwords and sensitive Variables and
keys from a Connection's
+extra (JSON) field when they appear in Task logs, or in the Variable view of
the UI.
+
+It does this by looking for the specific *value* appearing anywhere in your
output. This means that if you
+have a connection with a password of ``a``, then every instance of the letter
a in your logs will be repleaced
+with ``***``.
+
+To disable masking you can setting
:ref:`config:core__hide_sensitive_var_conn_fields` to False.
+
+Sensitive field names
+"""""""""""""""""""""
+
+When masking is enabled, Airflow will always mask the password field of every
Connection that is accessed by a
+task.
+
+It will also mask the value of a Variable, or the field of a Connection's
extra JSON blob if the name contains
+any words in ('password', 'secret', 'passwd', 'authorization', 'api_key',
'apikey', 'access_token'). This list
+can also be extended:
+
+.. code-block:: ini
+
+ [core]
+ sensitive_var_conn_names = comma,separated,sensitive,names
+
+Adding your own masks
+"""""""""""""""""""""
+
+If you want to mask an additional secret that is already masked by one of the
above methods, you can do it in
+your DAG file or operator's ``execute`` function using the ``mask_secret``
function. For example:
+
+.. code-block:: python
+
+ @task
+ def my_func():
+ from airflow.utils.log.secrets_masker import mask_secret
Review comment:
Naming: `airflow.log` vs `airflow.logs` vs `airflow.logging`
Any preference @uranusjr ?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]