Skip to content

Commit 160a5c8

Browse files
authored
Merge pull request #5071 from nojnhuh/aks-token-kubeconfig
use token from AzureClusterIdentity for AAD-enabled AKS clusters
2 parents a69d8d8 + 8d57f48 commit 160a5c8

File tree

2 files changed

+5
-90
lines changed

2 files changed

+5
-90
lines changed

azure/services/managedclusters/managedclusters.go

Lines changed: 5 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import (
2020
"context"
2121
"fmt"
2222

23+
"github.com/Azure/azure-sdk-for-go/sdk/azcore/policy"
2324
asocontainerservicev1hub "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20231001/storage"
2425
"github.com/Azure/azure-service-operator/v2/pkg/genruntime"
2526
"github.com/pkg/errors"
@@ -29,7 +30,6 @@ import (
2930
infrav1 "sigs.k8s.io/cluster-api-provider-azure/api/v1beta1"
3031
"sigs.k8s.io/cluster-api-provider-azure/azure"
3132
"sigs.k8s.io/cluster-api-provider-azure/azure/services/aso"
32-
"sigs.k8s.io/cluster-api-provider-azure/azure/services/token"
3333
clusterv1 "sigs.k8s.io/cluster-api/api/v1beta1"
3434
"sigs.k8s.io/cluster-api/util/secret"
3535
"sigs.k8s.io/controller-runtime/pkg/client"
@@ -148,7 +148,7 @@ func reconcileKubeconfig(ctx context.Context, scope ManagedClusterScope, namespa
148148
}
149149

150150
if scope.AreLocalAccountsDisabled() {
151-
userKubeconfigWithToken, err := getUserKubeConfigWithToken(userKubeConfigData, ctx, scope)
151+
userKubeconfigWithToken, err := getUserKubeConfigWithToken(ctx, userKubeConfigData, scope)
152152
if err != nil {
153153
return nil, nil, errors.Wrap(err, "error while trying to get user kubeconfig with token")
154154
}
@@ -190,28 +190,17 @@ func getUserKubeconfigData(ctx context.Context, scope ManagedClusterScope, names
190190
}
191191

192192
// getUserKubeConfigWithToken returns the kubeconfig with user token, for capz to create the target cluster.
193-
func getUserKubeConfigWithToken(userKubeConfigData []byte, ctx context.Context, scope azure.Authorizer) ([]byte, error) {
194-
tokenClient, err := token.NewClient(scope)
195-
if err != nil {
196-
return nil, errors.Wrap(err, "error while getting aad token client")
197-
}
198-
199-
token, err := tokenClient.GetAzureActiveDirectoryToken(ctx, aadResourceID)
193+
func getUserKubeConfigWithToken(ctx context.Context, userKubeConfigData []byte, auth azure.Authorizer) ([]byte, error) {
194+
token, err := auth.Token().GetToken(ctx, policy.TokenRequestOptions{Scopes: []string{aadResourceID + "/.default"}})
200195
if err != nil {
201196
return nil, errors.Wrap(err, "error while getting aad token for user kubeconfig")
202197
}
203-
204-
return createUserKubeconfigWithToken(token, userKubeConfigData)
205-
}
206-
207-
// createUserKubeconfigWithToken gets the kubeconfig data for authenticating with target cluster.
208-
func createUserKubeconfigWithToken(token string, userKubeConfigData []byte) ([]byte, error) {
209198
config, err := clientcmd.Load(userKubeConfigData)
210199
if err != nil {
211200
return nil, errors.Wrap(err, "error while trying to unmarshal new user kubeconfig with token")
212201
}
213202
for _, auth := range config.AuthInfos {
214-
auth.Token = token
203+
auth.Token = token.Token
215204
auth.Exec = nil
216205
}
217206
kubeconfig, err := clientcmd.Write(*config)

azure/services/token/client.go

Lines changed: 0 additions & 74 deletions
This file was deleted.

0 commit comments

Comments
 (0)