Skip to content

Azure Government KeyVault Provider Error with Service Principal Auth #1467

@dauntlessXXI

Description

@dauntlessXXI

Describe the solution you'd like
To be able to use Service Principal auth for Azure Government. Managed Identity auth is deprecated and Workload Identity auth is in preview.

What is the added value?
Allows External Secrets operator to be used in Azure Gov.

Give us examples of the outcome
N/A

Observations (Constraints, Context, etc):

When creating a SecretStore with a vaultUrl of https://<vaultName>.vault.usgovcloudapi.net and a Azure Gov tenantId I get a "valid" status. However, when the ExternalSecret attempts to pull the secret I get the following error:

azure.BearerAuthorizer#WithAuthorization: Failed to refresh the Token for request to https://<redacted>.vault.usgovcloudapi.net/secrets/example-externalsecret-key/?api-version=2016-10-01: StatusCode=400 -- Original Error: adal: Refresh request failed. Status Code = '400'. Response body: {"error":"invalid_request","error_description":"AADSTS900382: Confidential Client is not supported in Cross Cloud request.\r\nTrace ID: <redacted>\r\nCorrelation ID: <redacted>\r\nTimestamp: 2022-08-16 16:26:37Z","error_codes":[900382],"timestamp":"2022-08-16 16:26:37Z","trace_id":"<redacted>","correlation_id":"<redacted>"} Endpoint https://login.microsoftonline.com/<redacted>/oauth2/token?api-version=1.0

I think this is due at least in part to the endpoint being https://login.microsoftonline.com instead of https://login.microsoftonline.us. Is there anything I am missing to get this to work for Azure Gov? If not I hope this can be fixed as it is preventing us from migrating from KES to ESO.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    No status

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions