Skip to content

Commit e36fab0

Browse files
authored
Create documentation for allow_consumer_teams parameter in asset access control (#66821)
1 parent 1c40bfb commit e36fab0

3 files changed

Lines changed: 262 additions & 19 deletions

File tree

airflow-core/docs/authoring-and-scheduling/assets.rst

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -404,9 +404,7 @@ As mentioned in :ref:`Fetching information from previously emitted asset events<
404404
events = inlet_events[AssetAlias("example-alias")]
405405
last_row_count = events[-1].extra["row_count"]
406406
407-
.. _asset_access_control:
408-
409-
Cross-team asset event filtering with ``access_control``
407+
Cross-team asset event filtering with ``producer_teams``
410408
--------------------------------------------------------
411409

412410
.. versionadded:: 3.3.0
@@ -441,9 +439,12 @@ The ``AssetAccessControl`` class accepts the following parameters:
441439

442440
- **producer_teams** (``list[str]``, default ``[]``): List of team names allowed to produce events
443441
consumed by this asset's consumers, in addition to the consumer's own team.
444-
- **allow_global** (``bool``, default ``True``): Whether teamless (global) Dag producers can trigger
445-
consumers of this asset. When set to ``False``, only Dags with an explicit team association
446-
(same team or listed in ``producer_teams``) can trigger consumers.
442+
- **consumer_teams** (``list[str] | None``, default ``None``): List of team names allowed to consume
443+
events produced by this asset's producers. See
444+
:ref:`Cross-team asset event filtering with consumer_teams <asset_consumer_teams>`.
445+
- **allow_global** (``bool``, default ``True``): Whether teamless (global) Dags can participate in
446+
cross-team event delivery. See :doc:`/core-concepts/multi-team` for the full semantics on both
447+
consumer-side and producer-side assets.
447448

448449
Blocking global producers
449450
~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -476,8 +477,9 @@ Default behavior
476477
~~~~~~~~~~~~~~~~
477478

478479
When ``access_control`` is not specified, a default ``AssetAccessControl()`` is used (empty
479-
``producer_teams`` and ``allow_global=True``). The rules depend on whether the producer and consumer
480-
have a team association:
480+
``producer_teams``, ``consumer_teams=None``, and ``allow_global=True``). See
481+
:doc:`/core-concepts/multi-team` for the complete behavioral rules table. In summary, the rules
482+
depend on whether the producer and consumer have a team association:
481483

482484
- **Both have the same team**: The event is always delivered.
483485
- **Producer has a team, consumer has a different team**: The event is blocked (unless the

0 commit comments

Comments
 (0)