Jūs pievienojat biroja VPN publisko adresi AKS API servera atļauto sarakstam, un kubectl darbojas. Nedēļu vēlāk neizdodas mezglu pūla mērogošana, CI uzdevums nevar sasniegt klasteri, un portāls rāda kļūdu, kas neko nepiemin par IP diapazoniem. Neviens nemainīja atļauto sarakstu. Iespējotā kontrole ir publisks IP filtrs API servera priekšā, un tas nezina, kas zvana, tikai no kādas adreses nāk izsaukums. VPN ir viena no vairākām adresēm, kas klasterim vajadzīgas, un reti tā ir tā, kas salūzt pirmā.

Atļauto saraksts atbilst adresei, nevis personai

--api-server-authorized-ip-ranges pieņem CIDR blokus, nevis lietotājus vai grupas. Kad izstrādātāja pieprasījums atstāj VPN serveri un dodas uz Azure, avota adrese API serverī ir VPN servera publiskā izeja. Tāpēc katrs cilvēks šajā VPN dala vienu ierakstu, un ikviens ārpus VPN tiek noraidīts vēl pirms autentifikācijas sākuma.

Tas nozīmē arī to, ka ieraksts ielaiž vairāk cilvēku, nekā jūs varbūt domājat. Darbuzņēmējs ar VPN piekļuvi, personīgais portatīvais dators tajā pašā koncentratorā un apdraudēts konts nāk no vienas adreses. Klastera autorizācija nemainās, tāpēc uz lomām balstīta piekļuves kontrole joprojām izlemj, ko zvanītājs drīkst darīt, bet atļauto saraksts nav identitātes kontrole un nekad nav jāapraksta kā tāda.

Tas, kas salūzt pirmais, parasti nav kubectl

Atļauto saraksts attiecas uz API servera publisko galapunktu, tāpēc viss ārpus uzskaitītajām adresēm uzreiz pārstāj darboties. Acīmredzamie upuri ir otrā biroja bez VPN maršruta, CI izpildītājs mitinātā konveijerā un portatīvais dators, kas aizmirsa pievienoties. Tos ir viegli atpazīt, jo gaida cilvēks.

Mazāk acīmredzamais gadījums ir automatizācija, ko vada Azure vai jūsu pašu rīki. Dažas platformas iniciētas darbības sasniedz API serveri no adresēm, kas nav jūsu VPN, un, kad viena no tām sāk neizdoties uzreiz pēc saraksta stingrākas noteikšanas, laiks ir pavediens. Nepieņemiet, ka saraksts ir pilnīgs tāpēc, ka interaktīvā piekļuve darbojas; pārbaudiet, ko funkcija prasa jūsu reģionā un abonementos, pirms secināt, ka klasteris ir salauzts.

Kļūdas paraksts palīdz. Ja pieprasījums nekad nesasniedz autentifikāciju, tas ir filtrs. Ja tas autentificējas un pēc tam saņem atļaujas kļūdu, filtrs ir izdarījis savu darbu, un problēma ir uz lomām balstīta piekļuves kontrole, kurai atļauto saraksts nekad nepieskaras.

Izveidojiet visu sarakstu ar vienu komandu

Atjaunināšanas parametrs aizstāj visu sarakstu, nevis pievieno ierakstu, tāpēc komanda, kas satur tikai VPN adresi, klusi izmet visu pārējo. Vispirms izlasiet pašreizējo vērtību, saglabājiet to un nosūtiet apvienojumu:

az aks show -g rg-app -n aks-prod \
  --query apiServerAccessProfile.authorizedIpRanges -o tsv

az aks update -g rg-app -n aks-prod \
  --api-server-authorized-ip-ranges 203.0.113.10/32,198.51.100.0/24

Pirms paļaujaties uz to, izmantojiet rezervētu publisko IP VPN serverim. Dinamiskā adrese mainās atkārtotas savienošanas laikā, un katra izmaiņa klusi izslēdz komandu no klastera, līdz kāds atjaunina sarakstu no vēl atļauta tīkla. Ja jums ir divi VPN izejas punkti dublēšanai, uzskaitiet abus, jo filtram nav iecienīta ceļa jēdziena.

Sakārtojiet izmaiņas tā, lai pirmais atļautais mēģinājums būtu arī tests. Paziņojiet jauno sarakstu, piemērojiet to un nekavējoties pieslēdzieties no VPN; pretējā secībā paliek logs, kurā neviens nevar sasniegt API serveri, lai izlabotu drukas kļūdu CIDR blokā.

Ko atļauto saraksts nekad neaptvēra

Tas nepadara API serveri privātu. Privāts klasteris izmanto privātu galapunktu un privātu DNS, un autorizēto diapazonu saraksts nav tā kontrole, kas to aizstāj. Tas arī nemaina to, ko drīkst darīt pielaists zvanītājs, tāpēc noplūdis administratora kubeconfig joprojām darbojas no jebkuras atļautas adreses. Uzskatiet akreditācijas datus par drošības robežu un sarakstu par tīkla ērtību.

Tam nav nekāda sakara ar darba slodzēm. Podi un pakalpojumi turpina darboties ar iespējotu sarakstu, un nokļūšana līdz lietojumprogrammai caur VPN ir atsevišķa problēma: pakalpojumam, kuram ir tikai klastera IP, joprojām nepieciešams iekšējs slodzes balansētājs, ingress vai port-forward, pirms portatīvais dators to var atvērt. Šo divu dizainu sajaukšana rada izmaiņu biļeti, kas apgalvo, ka ierobežo izstrādātājus, un patiesībā neierobežo neko lietojumprogrammās.

Pārbaudiet no abām pusēm un pēc tam veiciet vienu reālu darbību

Pārbaudiet ar svaigu klientu VPN un ar klientu ārpus tā. Mēģinājums no ārpuses ir jānoraida API serverī, nevis vārdu atrisināšanā; ja vārds neatrisinās, jūs pārbaudāt DNS un neesat uzzinājis neko par filtru. Pēc tam veiciet darbību, kas nav interaktīvs kubectl izsaukums, piemēram, mezglu pūla mērogošanu vai atjauninājuma pārbaudi, un apstipriniet, ka tā pabeidzas, tā vietā lai to pieņemtu.

Pierakstiet iepriekšējo saraksta vērtību blakus izmaiņām un pēc atjaunināšanas vēlreiz nolasiet spēkā esošo vērtību, tā vietā lai uzticētos ierakstītajai komandai. AKS autorizēto IP diapazonu dokumentācija uzskaita atbalstītos parametrus un platformas prasības, kas pieder pie tā paša saraksta, un tā ir daļa, ko lielākā daļa biļešu aprakstu izlaiž.

Saistītie raksti