Compare commits

..

No commits in common. "2cb76ef62225f0094f4c7f06ac30bdb71ebabf17" and "6d2d3eb925fd1ac6da51e329f849336e8ad9371c" have entirely different histories.

3 changed files with 14 additions and 15 deletions

View File

@ -105,8 +105,8 @@ func BuildCertificateFilePath(objectStoreName string) string {
// ContextWithProviderOptions enriches the context with cloud service provider specific options
// based on the ObjectStore resource
func ContextWithProviderOptions(ctx context.Context, objectStore apiv1.ObjectStore) context.Context {
if objectStore.GetAnnotations()[pluginmetadata.UseDefaultAzureCredentialAnnotationName] ==
pluginmetadata.UseDefaultAzureCredentialTrueValue {
if objectStore.GetAnnotations()[pluginmetadata.UseDefaultAzureCredentialsAnnotationName] ==
pluginmetadata.UseDefaultAzureCredentialsTrueValue {
return command.ContextWithDefaultAzureCredentials(ctx, true)
}

View File

@ -4,12 +4,12 @@ package metadata
const MetadataNamespace = "barmancloud.cnpg.io"
const (
// UseDefaultAzureCredentialAnnotationName is an annotation that can be set
// on an ObjectStore resource to enable the authentication to Azure via DefaultAzureCredential.
// This is meant to be used with inheritFromAzureAD enabled.
UseDefaultAzureCredentialAnnotationName = MetadataNamespace + "/useDefaultAzureCredential"
// UseDefaultAzureCredentialsAnnotationName is an annotation that can be set
// on an ObjectStore resource to enable the use DefaultAzureCredentials
// to authenticate to Azure. This is meant to be used with inheritFromAzureAD enabled.
UseDefaultAzureCredentialsAnnotationName = MetadataNamespace + "/useDefaultAzureCredentials"
// UseDefaultAzureCredentialTrueValue is the value for the annotation
// barmancloud.cnpg.io/useDefaultAzureCredential to enable the DefaultAzureCredentials auth mechanism.
UseDefaultAzureCredentialTrueValue = "true"
// UseDefaultAzureCredentialsTrueValue is the value for the annotation
// barmancloud.cnpg.io/useDefaultAzureCredentials to enable the use of DefaultAzureCredentials
UseDefaultAzureCredentialsTrueValue = "true"
)

View File

@ -233,7 +233,7 @@ Barman Cloud supports the following authentication methods:
- Storage Account Name + [Access Key](https://learn.microsoft.com/en-us/azure/storage/common/storage-account-keys-manage)
- Storage Account Name + [SAS Token](https://learn.microsoft.com/en-us/azure/storage/blobs/sas-service-create)
- [Azure AD Workload Identity](https://azure.github.io/azure-workload-identity/docs/introduction.html)
- [DefaultAzureCredential](https://learn.microsoft.com/en-us/azure/developer/go/sdk/authentication/credential-chains#defaultazurecredential-overview)
- [Azure Default Credentials](https://learn.microsoft.com/en-us/azure/developer/go/sdk/authentication/credential-chains#defaultazurecredential-overview)
### Azure AD Workload Identity
@ -253,11 +253,10 @@ spec:
[...]
```
### DefaultAzureCredential
### Azure Default Credentials
To authenticate using `DefaultAzureCredential`, set the annotation
`barmancloud.cnpg.io/useDefaultAzureCredential="true"` on the ObjectStore in
conjunction with the `.spec.configuration.inheritFromAzureAD` option:
To authenticate using Azure Default Credentials, set the annotation
`barmancloud.cnpg.io/useDefaultAzureCredentials="true"` on the ObjectStore:
```yaml
apiVersion: barmancloud.cnpg.io/v1
@ -265,7 +264,7 @@ kind: ObjectStore
metadata:
name: azure-store
annotations:
barmancloud.cnpg.io/useDefaultAzureCredential: "true"
barmancloud.cnpg.io/useDefaultAzureCredentials: "true"
spec:
configuration:
destinationPath: "<destination path here>"