-
Notifications
You must be signed in to change notification settings - Fork 1.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Different BSL credentials may conflict when deploying on Azure #6393
Comments
So overall how I see this is that we wish to replace NewDefaultAzureCredentialto something which can take the values in function inputs. There is no equivalent function which takes these values as inputs and tries all auth mechanisms. One route I see by which we can achieve this is by somehow bringing the logic of NewDefaultAzureCredential in our impl and create a ChainedTokenCredential, then use that further. func AzureCredential(config map[]){ WorkloadIdentity() MSICredential() } NewClientSecretCredential atleast will solve for environment dependence of NewEnvironmentCredential for other routes, we'll have to slightly deeper into handling, but hopefully they should be solvable. If this approach seems messy and indeterministic to an extent, we can also evaluate adding another field in the BSL which says which auth mode to use - MSI/ SP/ WKLD IDentity etc. |
@anshulahuja98 That's exactly what I'm thinking of. The change should appear in three places: Azure plugin, Velero repository code and Kopia, we need to maintain duplicated code if we implement the logic separately. |
Are you talking about an implementation similar to |
Two levels for the implementation of Azure SDK: The first one is implementing a The second level is implementing a new function like the With these two new implementations, developers can use them to interact with Azure in concurrent code. |
Hmm, it does make sense, but might be slightly difficult to convince the SDK team. |
OK. I'll implement that on the Kopia side and let estimate that again after the work |
Opened an issue for Azure SDK: Azure/azure-sdk-for-go#21061 |
Fixed by vmware-tanzu/velero-plugin-for-microsoft-azure#206 and #6686 |
Currently, Velero populates the storage credentials into the environment variables and Azure SDK reads them to do the auth.
Similar logic appears in two places of Velero:
Azure plugin
Repository code
However, different BSLs may have different credentials which could be set by the Credential field, the credential of one BSL may be overridden by others when dealing the BSLs concurrently, e.g. do the backup and restore with different BSL in the same time.
Vote on this issue!
This is an invitation to the Velero community to vote on issues, you can see the project's top voted issues listed here.
Use the "reaction smiley face" up to the right of this comment to vote.
The text was updated successfully, but these errors were encountered: