Wpis z mikrobloga

Cześć,

Mam wymaganie od jednego z klientów, aby po każdorazowym pojedynczym zalogowaniu do aplikacji, hasło, które zostało użyte podczas logowania nie mogło być użyte po raz kolejny. Coś typu one-time-password, które po każdym logowaniu automatycznie będzie rotowane. Scenariusz generalnie jest taki:
1. Odpalamy Pipeline na Azure Dev/Ops, który loguje się do apki pobierając hasło z... właśnie nie wiem skąd jeszcze, ustawia konfigurację.
2. Po skończonym pipeline wylogowuje się z apki
3. Przy kolejnym odpaleniu pipeline, ten sam user, który loguje się do apki ma już wygenerowane nowe, jednorazowe hasło.

Próbowałem to rozkminić z Azure Temporary Access pass, ale póki co nie udało mi się znaleźć żadnego działającego sdk innego niż powershell, który pozwala na zarządzanie tym narzędziem, a co więcej, wydaje mi się, że to rozwiązanie byłoby trochę niedoskonałe, choć na pierwszy rzut oka MOŻE by zadziałało. Widziałbym to mniej więcej tak - tworzę usera w EntraID, dodaję apkę do Azure, ustawiam tego usera jako użytkownika tej apki, zaś logowanie do samej apki ustawiam z wykorzystaniem SAML na Azure AD. Ustawiam politykę TAP, ustawiam, że jest to jednorazowe hasło i to w teorii pozwala mi zalogować się do apki tym jednorazowym hasłem. Jednak potem z CLI musiałbym ustawiać na nowo to hasło i w jakiś sposób przekazać je do Pipeline, co dałoby się zrobić, gdyby tylko CLI działało odpowiednio, a póki co nie udało mi się tego osiągnąć.

Znalazłem coś typu CyberArk, ale jest to komercyjne rozwiązanie, a nie chciałbym inwestować dodatkowych środków do tego celu, bo już i tak budżet jest rozciągnięty. Czy koledzy devopsi mają jakieś pomysły?
#devops
  • 4
  • Odpowiedz