Contextual Authorization

Contextual Authorization for securing Flux deployments.

Introduction

Most cloud providers support context-based authorization, enabling applications to benefit from strong access controls applied to a given context (e.g. Virtual Machine), without the need of managing authentication tokens and credentials.

For example, by granting a given Virtual Machine (or principal that such machine operates under) access to AWS S3, applications running inside that machine can request a token on-demand, which would grant them access to the AWS S3 buckets without having to store long lived credentials anywhere.

By leveraging such capability, Flux users can focus on the big picture, which is access controls enforcement with a least-privileged approach, whilst not having to do deal with security hygiene topics such as encrypting authentication secrets, and ensure they are being rotated regularly. All that is taken care of automatically by the cloud providers, as the tokens provided are context- and time-bound.

Current Support

Below is a list of Flux features that support this functionality and their documentation:

StatusComponentFeatureProviderRef
SupportedSource ControllerGit Repository AuthenticationAzureGuide
SupportedSource ControllerBucket Repository AuthenticationAWSGuide
SupportedSource ControllerBucket Repository AuthenticationAzureGuide
SupportedSource ControllerBucket Repository AuthenticationGCPGuide
SupportedSource ControllerOCI Repository AuthenticationAWSGuide
SupportedSource ControllerOCI Repository AuthenticationAzureGuide
SupportedSource ControllerOCI Repository AuthenticationGCPGuide
SupportedSource ControllerHelm OCI Repository AuthenticationAWSGuide
SupportedSource ControllerHelm OCI Repository AuthenticationAzureGuide
SupportedSource ControllerHelm OCI Repository AuthenticationGCPGuide
SupportedImage Reflector ControllerImage Repository AuthenticationAWSGuide
SupportedImage Reflector ControllerImage Repository AuthenticationAzureGuide
SupportedImage Reflector ControllerImage Repository AuthenticationGCPGuide
SupportedImage Automation ControllerGit Repository AuthenticationAzureGuide
SupportedKustomize ControllerSOPS Integration with KMSAWSGuide
SupportedKustomize ControllerSOPS Integration with KMSAzureGuide
SupportedKustomize ControllerSOPS Integration with KMSGCPGuide
SupportedNotification ControllerAzure DevOps Commit Status UpdatesAzureGuide
SupportedNotification ControllerAzure Event HubsAzureGuide
SupportedNotification ControllerGoogle Cloud Pub/SubGCPGuide

Roadmap

Support for context-based authorization should only increase over time.

For more information, please visit the tracking issue: https://github.com/fluxcd/flux2/issues/3003.