Skip to content

OnkelDom/microsoft_ip_list

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

328 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Microsoft Service Endpoint Lists

Microsoft Services IP-Lists

This repository generates consumable IP and URL lists from official vendor sources for operational use in firewalls, proxies, ACLs, and change management processes.

The generated artifacts are published under docs/ and exposed through GitHub Pages:

Data Sources

The generated lists are grouped in the index into three source families:

  • GitHub
  • Aggregate Lists
  • Azure Service Tags
  • Microsoft 365 Endpoints

Operating Model

  • generate_lists.py is the canonical entry point and contains the shared implementation for Azure, GitHub, Microsoft 365, aggregate lists, and the generated index.
  • The GitHub Actions workflow runs the generation daily, on push, and on manual dispatch, and commits only when there are real content changes.

Local Execution

Requirements:

  • python3

From the repository root:

python3 ./generate_lists.py all

Individual scopes can still be generated separately:

python3 ./generate_lists.py azure
python3 ./generate_lists.py github
python3 ./generate_lists.py o365
python3 ./generate_lists.py aggregate
python3 ./generate_lists.py index

If you consume the generated outputs through a service or cron-based downstream process, the resulting files should always be versioned as build artifacts or Git commits and integrated into the firewall change workflow.

Operational Notes

  • According to Microsoft, Azure Service Tags are published weekly. A daily check is operationally safe and detects new releases early.
  • GitHub states that api.github.com/meta does not cover every possible GitHub IP for every service. docs/github.txt therefore intentionally aggregates the official GitHub Meta source, not a derived Azure helper list.
  • The Microsoft 365 web service provides versioned endpoint data. The script rewrites the lists on every run for consistency, but only updates the stored version state when Microsoft publishes a newer version.
  • The lists are deliberately split by service tag and port group so downstream systems can consume them selectively.
  • The aggregate lists are intended for downstream automation such as firewall or proxy allowlists. all_* combines all known ranges, tcp_* combines protocol-agnostic sources plus Microsoft 365 TCP ranges, and udp_* only includes sources with explicit UDP semantics from Microsoft 365. All aggregate outputs are CIDR-collapsed before they are written.
  • For security-sensitive allowlisting, IP lists should never be treated in isolation. Microsoft recommends using service tags where possible for Azure and using URLs, ports, and a managed change process for Microsoft 365. For GitHub, the Meta API is the official reference point, but not a substitute for a service-level review.

About

Generate ip-list for azure and o365 services.

Topics

Resources

License

Stars

Watchers

Forks

Contributors

Languages