Tự động hóa giám sát IP công cộng Azure

Apr 08 2022
Dưới đây là một giải pháp mà tôi đã tạo để giúp theo dõi các IP Công khai hoặc để tạo một API cho phép bạn nhập vào khoảng không quảng cáo. Xin lưu ý: Các PiP ở đây bị xóa ngay sau khi tôi viết blog, vì vậy đừng tấn công hoặc quét họ vì nghĩ rằng họ là tôi.

Dưới đây là một giải pháp mà tôi đã tạo để giúp theo dõi các IP Công khai hoặc để tạo một API cho phép bạn nhập vào khoảng không quảng cáo.

Xin lưu ý: Các PiP ở đây bị xóa ngay sau khi tôi viết blog, vì vậy đừng tấn công hoặc quét họ vì nghĩ rằng họ là tôi.

Đầu tiên, chúng tôi cần các IP Công cộng của mình:

Khi chúng tôi có điều đó, bạn cần quyết định phương pháp của mình. Nếu địa phương, bạn có thể đơn giản sử dụng tập lệnh mà tôi đã tải lên tại đây: [GitHub] .

Bạn sẽ cần chỉnh sửa phương thức Auth để phù hợp với nhu cầu của mình.
Một ví dụ đơn giản là:

Điều này ở trên bao gồm một vòng lặp foreach để bạn cũng có thể kiểm tra từng đăng ký mà bạn có quyền truy cập . Chạy cục bộ này sẽ cung cấp cho bạn kết quả tương tự:

Đầu ra JSON

Nếu bạn muốn tích hợp điều này trong CMDB hoặc ngăn xếp Khoảng không quảng cáo, bạn có thể sử dụng Ứng dụng chức năng Azure hoặc Tài khoản tự động hóa. Đối với bản thân tôi, tôi có xu hướng cho vay đối với các Ứng dụng chức năng do các cấp miễn phí và tính đơn giản của chúng.

Nếu tôi muốn mở rộng và sử dụng báo cáo hoặc lịch biểu, tôi sẽ chuyển sang tài khoản Tự động hóa. Nó thực sự phụ thuộc vào cách bạn muốn sử dụng nó.

Nếu bạn muốn sử dụng Ứng dụng chức năng, chúng tôi có thể làm như sau:

Tạo Ứng dụng Chức năng và tạo Danh tính.

Sau đó, bạn sẽ cần nhấp vào Phân công vai trò Azure và chọn RBAC để cấp. Đối với điều này, tôi đã cấp Chỉ đọc ở cấp Đăng ký. Nếu đây là phiên bản sản xuất, tôi sẽ cấp quyền truy cập chi tiết.

Bạn cần nghĩ về tương lai, vì nếu quá chi tiết, bạn có thể bỏ lỡ các trường hợp trong tương lai. Ví dụ: nếu bạn đã áp dụng quyền truy cập ở lớp nhóm tài nguyên, nếu quản trị viên tạo một quyền mới, ứng dụng chức năng của bạn sẽ không thể nhìn thấy nó.
Điều này cũng xảy ra tương tự đối với lớp Đăng ký. Nếu một Đăng ký mới được tạo mà bạn không biết, bạn sẽ không thể thấy.
Các nhóm quản lý có thể trợ giúp việc này, vì vậy nếu bạn đang muốn triển khai; thiết kế cho phù hợp. Đó là tất cả về quản trị.

Tiếp theo, trong Tệp ứng dụng , chúng ta cần đảm bảo mã này có trong profile.ps1 :

Đồng thời, kiểm tra tests.psd1 và bỏ ghi chú dòng AZ.
Thao tác này sẽ cài đặt mô-đun AZ.

Tiếp theo, chúng tôi tạo Hàm và đặt thành Trình kích hoạt HTTP . Điều này sẽ cho phép các công cụ của chúng tôi tra cứu theo yêu cầu thông qua một yêu cầu HTTP.

Sau khi hoàn tất, hãy nhấp vào Tích hợp và chọn cấp độ ủy quyền :

Nếu bạn đang tích hợp vào nhiều hệ thống hoặc chia sẻ, hãy nhớ rằng bạn có thể tạo khóa của riêng mình và phân phối theo cách bạn muốn.

Tiếp theo, nhập mã của tôi vào hàm.

Hãy nhớ rằng nếu bạn muốn bao gồm tất cả các đăng ký, bạn sẽ cần phải bao gồm vòng đăng ký của mình được đề cập ở phần đầu. Nếu không, hãy sao chép và dán, thay đổi giá trị này ở cuối:

Bạn có thể thay đổi dòng 65 thành $ PiPDets , tuy nhiên tôi đã đặt ở trên để cho phép tôi dễ dàng thay đổi. Tôi cũng đã chuyển đổi sang định dạng JSON vì hầu hết sẽ chấp nhận định dạng này (| ConvertTo-Json).

Nhấn Lưu và kiểm tra nó:

Như bạn có thể thấy, nó trả về các IP Công cộng của tôi và thông tin tài nguyên mà tôi đã đặt. Bạn rõ ràng có thể mở rộng điều này để thu thập thông tin bạn yêu cầu.

Bây giờ bạn có thể tích hợp hoặc sử dụng, tuy nhiên bạn vui lòng:

Hy vọng rằng điều này hữu ích và nếu bạn muốn tôi đề cập đến bất kỳ chủ đề nào hoặc tạo ra các giải pháp, hãy cho tôi biết. :)

- - - Cập nhật - - -

Bây giờ tôi đã thêm Get-AzPublicIPAddress để xác định các PiP có thể không được liên kết:

Điều này là do không có tài nguyên đính kèm tạo giao diện. Một so sánh đơn giản ở cuối sẽ so sánh kết quả đầu ra với những gì chúng ta có:

© Copyright 2021 - 2023 | vngogo.com | All Rights Reserved