Skip to content

Synchronize Azure storage account IP ACL with Azure service IPs.

License

Notifications You must be signed in to change notification settings

Desuuuu/azure-storage-acl-sync

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

azure-storage-acl-sync

Tag Badge Go Version Badge Go Report Card Badge

Synchronize Azure storage account IP ACL with Azure service IPs.

Authentication

Azure authentication is handled by the azidentity package with DefaultAzureCredential. The easiest way to authenticate is using the following environment variables:

Service principal with secret

AZURE_TENANT_ID, AZURE_CLIENT_ID and AZURE_CLIENT_SECRET.

Service principal with certificate

AZURE_TENANT_ID, AZURE_CLIENT_ID, AZURE_CLIENT_CERTIFICATE_PATH and AZURE_CLIENT_CERTIFICATE_PASSWORD.

Username and password

AZURE_CLIENT_ID, AZURE_USERNAME and AZURE_PASSWORD.

Permissions

  • Microsoft.Network/locations/*/serviceTags/read action on the subscription to retrieve the service IPs.
  • Writing properties on the configured storage account to update its IP ACL.
Custom role for reading service tags
{
  "Name": "Service Tag Reader",
  "IsCustom": true,
  "Description": "List service tags and their respective IPs.",
  "Actions": [
      "Microsoft.Network/locations/*/serviceTags/read"
  ],
  "NotActions": [],
  "DataActions": [],
  "NotDataActions": [],
  "AssignableScopes": [
      "/subscriptions/{subscriptionId}"
  ]
}

Options

Flag Environment variable Default Description
--subscription-id AZURE_SUBSCRIPTION_ID - Azure subscription ID.
--services AZURE_SERVICES AzureFrontDoor.Backend Azure services to retrieve IPs from.
--location AZURE_LOCATION westus Azure location to retrieve IPs for.
--resource-group AZURE_RESOURCE_GROUP - Storage account resource group.
--storage-account AZURE_STORAGE_ACCOUNT - Storage account name.
--extra-allow-rules EXTRA_ALLOW_RULES 168.63.129.16
169.254.169.254
Additional allow IP rules.
--extra-deny-rules EXTRA_DENY_RULES - Additional deny IP rules.
--dry-run DRY_RUN false Only print the IP rules that would be applied.

The two IP addresses allowed by default are documented here.

About

Synchronize Azure storage account IP ACL with Azure service IPs.

Topics

Resources

License

Stars

Watchers

Forks

Languages