外部ノード証明書ブートストラップのカスタム Azure ロールを更新する

2026 年 11 月 30 日から、Azure Kubernetes Service (AKS)では、kubelet クライアント証明書の発行を承認するために、専用のAzureロールベースのアクセス制御 (Azure RBAC) DataAction が必要です。

Important

影響を受けるカスタム Azure ロールを 2026 年 11 月 30 日までに更新してください。 そうしないと、新しい外部ノードが AKS クラスターに参加できず、既存の外部ノードが kubelet クライアント証明書の更新に失敗する可能性があります。

この要件は、AKS Stretch 統合を含む、外部ノードブートストラップまたは kubelet クライアント証明書の更新に使用されるカスタム Azure ロールに適用されます。 AKS で管理されるノードは影響を受けないと予想されます。

以前は、より広範な certificatesigningrequests/write DataAction でも、kubelet クライアント証明書の発行を認可していました。 AKS では、証明書署名要求への一般的な書き込みアクセス権を持つプリンシパルが Kubernetes ノードとして認証される証明書を取得できないようにするために、これらのアクセス許可を分離しています。

カスタム ロールが影響を受けるかどうかを判断する

カスタム ロールは、次のいずれかの操作に使用される場合に影響を受けます。

  • 外部ノードブートストラップ。
  • 外部ノードの Kubelet クライアント証明書の更新。

一般的な証明書署名要求操作にのみカスタム ロールを使用する場合は、新しいアクセス許可を追加する必要はありません。

Azure Service Health通知またはロール インベントリのロール ID を確認し、各ロールがどのように使用されているかを確認します。 影響を受ける各ロールの既存の証明書署名要求と API 検出のアクセス許可を保持します。

必要な DataAction を追加する

統合で使用されるリソース エンドポイントに対応する DataAction を追加します。

リソース エンドポイント 必須の DataAction
マネージド クラスター Microsoft.ContainerService/managedClusters/certificates.k8s.io/certificatesigningrequests/nodeclient/action
フリート ハブ Microsoft.ContainerService/fleets/certificates.k8s.io/certificatesigningrequests/nodeclient/action
フリート メンバー Microsoft.ContainerService/fleets/members/certificates.k8s.io/certificatesigningrequests/nodeclient/action
AI マネージャー Microsoft.ContainerService/aiManagers/certificates.k8s.io/certificatesigningrequests/nodeclient/action

たとえば、マネージド クラスター エンドポイントを介した外部ノードブートストラップに使用されるカスタム ロールには、次のアクセス許可が含まれます。

{
  "DataActions": [
    "Microsoft.ContainerService/managedClusters/certificates.k8s.io/certificatesigningrequests/write",
    "Microsoft.ContainerService/managedClusters/certificates.k8s.io/certificatesigningrequests/read",
    "Microsoft.ContainerService/managedClusters/certificates.k8s.io/certificatesigningrequests/delete",
    "Microsoft.ContainerService/managedClusters/apis/certificates.k8s.io/read",
    "Microsoft.ContainerService/managedClusters/apis/certificates.k8s.io/v1beta1/read",
    "Microsoft.ContainerService/managedClusters/certificates.k8s.io/certificatesigningrequests/nodeclient/action"
  ]
}

Fleet ハブ、Fleet メンバー、または AI Manager アクセスの場合は、前の表の対応するリソース パスを使用します。

影響を受けるロールを更新するには:

  1. 現在のロール定義を取得する。
  2. ロールのcertificatesigningrequests/nodeclient/actionプロパティに、該当するDataActionsアクセス許可を追加します。
  3. 既存のすべての証明書署名要求と API 検出のアクセス許可が変更されていないことを確認します。
  4. カスタム ロール定義を更新します。
  5. Azure RBAC の更新が反映されるまで、しばらく待ってください。

ロールの更新を検証する

影響を受けるカスタム ロールを更新した後:

  1. ロール定義を取得し、該当する certificatesigningrequests/nodeclient/action アクセス許可が DataActionsに表示されることを確認します。
  2. 既存のすべての証明書署名要求と API 検出のアクセス許可が変更されていないことを確認します。
  3. テスト環境で、エンド ツー エンドの外部ノード ブートストラップ テストを実行し、ノードが Ready 状態に達したことを確認します。
  4. 既存の統合の場合は、通常の検証プロセスで kubelet クライアント証明書が正常に更新されることを確認してください。

エンドツーエンドの外部ノード ブートストラップ テストには約 1 時間を見込んでください。 必要な合計時間は、組織の変更管理プロセスと更新されるロールの数によって異なる場合があります。

次のステップ