From 39cf0f8d4f46f39c0d485ef77920597abf881e3f Mon Sep 17 00:00:00 2001 From: Yueren Wang Date: Wed, 9 Sep 2020 14:50:53 -0700 Subject: [PATCH 1/7] add managed hsm regex --- src/azure-cli/azure/cli/command_modules/rdbms/custom.py | 4 ++-- src/azure-cli/azure/cli/command_modules/sql/custom.py | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/azure-cli/azure/cli/command_modules/rdbms/custom.py b/src/azure-cli/azure/cli/command_modules/rdbms/custom.py index df3eb8304cd..82566cf511c 100644 --- a/src/azure-cli/azure/cli/command_modules/rdbms/custom.py +++ b/src/azure-cli/azure/cli/command_modules/rdbms/custom.py @@ -536,11 +536,11 @@ def _get_server_key_name_from_uri(uri): ''' import re - match = re.match(r'^https(.)+\.vault(.)+\/keys\/[^\/]+\/[0-9a-zA-Z]+$', uri) + match = re.match(r'https://(.)+\.(managedhsm.azure.net|managedhsm-preview.azure.net|vault.azure.net|vault-int.azure-int.net|vault.azure.cn|managedhsm.azure.cn|vault.usgovcloudapi.net|managedhsm.usgovcloudapi.net|vault.microsoftazure.de|managedhsm.microsoftazure.de|vault.cloudapi.eaglex.ic.gov|vault.cloudapi.microsoft.scloud)(:443)?\/keys/[^\/]+\/[0-9a-zA-Z]+$', uri) if match is None: raise CLIError('The provided uri is invalid. Please provide a valid Azure Key Vault key id. For example: ' - '"https://YourVaultName.vault.azure.net/keys/YourKeyName/01234567890123456789012345678901"') + '"https://YourVaultName.vault.azure.net/keys/YourKeyName/01234567890123456789012345678901" or "https://YourManagedHsmRegion.YourManagedHsmName.managedhsm.azure.net/keys/YourKeyName/01234567890123456789012345678901"') vault = uri.split('.')[0].split('/')[-1] key = uri.split('/')[-2] diff --git a/src/azure-cli/azure/cli/command_modules/sql/custom.py b/src/azure-cli/azure/cli/command_modules/sql/custom.py index dfcf45bcfb6..09f59f78e0c 100644 --- a/src/azure-cli/azure/cli/command_modules/sql/custom.py +++ b/src/azure-cli/azure/cli/command_modules/sql/custom.py @@ -2535,11 +2535,11 @@ def _get_server_key_name_from_uri(uri): ''' import re - match = re.match(r'^https(.)+\.vault(.)+\/keys\/[^\/]+\/[0-9a-zA-Z]+$', uri) + match = re.match(r'https://(.)+\.(managedhsm.azure.net|managedhsm-preview.azure.net|vault.azure.net|vault-int.azure-int.net|vault.azure.cn|managedhsm.azure.cn|vault.usgovcloudapi.net|managedhsm.usgovcloudapi.net|vault.microsoftazure.de|managedhsm.microsoftazure.de|vault.cloudapi.eaglex.ic.gov|vault.cloudapi.microsoft.scloud)(:443)?\/keys/[^\/]+\/[0-9a-zA-Z]+$', uri) if match is None: raise CLIError('The provided uri is invalid. Please provide a valid Azure Key Vault key id. For example: ' - '"https://YourVaultName.vault.azure.net/keys/YourKeyName/01234567890123456789012345678901"') + '"https://YourVaultName.vault.azure.net/keys/YourKeyName/01234567890123456789012345678901" or "https://YourManagedHsmRegion.YourManagedHsmName.managedhsm.azure.net/keys/YourKeyName/01234567890123456789012345678901"') vault = uri.split('.')[0].split('/')[-1] key = uri.split('/')[-2] From fbe751c620913cad98a12142ebb66ec5c07c7bad Mon Sep 17 00:00:00 2001 From: kingsleyAzure Date: Tue, 12 Jan 2021 11:13:05 -0800 Subject: [PATCH 2/7] Update custom.py --- .../azure/cli/command_modules/rdbms/custom.py | 20 +++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/src/azure-cli/azure/cli/command_modules/rdbms/custom.py b/src/azure-cli/azure/cli/command_modules/rdbms/custom.py index 82566cf511c..21491ee2bd2 100644 --- a/src/azure-cli/azure/cli/command_modules/rdbms/custom.py +++ b/src/azure-cli/azure/cli/command_modules/rdbms/custom.py @@ -536,11 +536,23 @@ def _get_server_key_name_from_uri(uri): ''' import re - match = re.match(r'https://(.)+\.(managedhsm.azure.net|managedhsm-preview.azure.net|vault.azure.net|vault-int.azure-int.net|vault.azure.cn|managedhsm.azure.cn|vault.usgovcloudapi.net|managedhsm.usgovcloudapi.net|vault.microsoftazure.de|managedhsm.microsoftazure.de|vault.cloudapi.eaglex.ic.gov|vault.cloudapi.microsoft.scloud)(:443)?\/keys/[^\/]+\/[0-9a-zA-Z]+$', uri) - + match = re.match(r'https://(.)+\.(managedhsm.azure.net| + managedhsm-preview.azure.net| + vault.azure.net| + vault-int.azure-int.net| + vault.azure.cn| + managedhsm.azure.cn| + vault.usgovcloudapi.net| + managedhsm.usgovcloudapi.net| + vault.microsoftazure.de| + managedhsm.microsoftazure.de| + vault.cloudapi.eaglex.ic.gov| + vault.cloudapi.microsoft.scloud)(:443)?\/keys/[^\/]+\/[0-9a-zA-Z]+$', uri) + if match is None: - raise CLIError('The provided uri is invalid. Please provide a valid Azure Key Vault key id. For example: ' - '"https://YourVaultName.vault.azure.net/keys/YourKeyName/01234567890123456789012345678901" or "https://YourManagedHsmRegion.YourManagedHsmName.managedhsm.azure.net/keys/YourKeyName/01234567890123456789012345678901"') + raise CLIError('The provided uri is invalid. Please provide a valid Azure Key Vault key id. For example: ' + '"https://YourVaultName.vault.azure.net/keys/YourKeyName/123" or + "https://ManagedHsmRegion.ManagedHsmName.managedhsm.azure.net/keys/YourKeyName/123"') vault = uri.split('.')[0].split('/')[-1] key = uri.split('/')[-2] From 10cc70778944147aac0ccd2ce02ec15ae20afe3c Mon Sep 17 00:00:00 2001 From: kingsleyAzure Date: Tue, 12 Jan 2021 11:17:57 -0800 Subject: [PATCH 3/7] Update custom.py --- .../azure/cli/command_modules/sql/custom.py | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/azure-cli/azure/cli/command_modules/sql/custom.py b/src/azure-cli/azure/cli/command_modules/sql/custom.py index 09f59f78e0c..2c4d326cd96 100644 --- a/src/azure-cli/azure/cli/command_modules/sql/custom.py +++ b/src/azure-cli/azure/cli/command_modules/sql/custom.py @@ -2535,11 +2535,23 @@ def _get_server_key_name_from_uri(uri): ''' import re - match = re.match(r'https://(.)+\.(managedhsm.azure.net|managedhsm-preview.azure.net|vault.azure.net|vault-int.azure-int.net|vault.azure.cn|managedhsm.azure.cn|vault.usgovcloudapi.net|managedhsm.usgovcloudapi.net|vault.microsoftazure.de|managedhsm.microsoftazure.de|vault.cloudapi.eaglex.ic.gov|vault.cloudapi.microsoft.scloud)(:443)?\/keys/[^\/]+\/[0-9a-zA-Z]+$', uri) + match = re.match(r'https://(.)+\.(managedhsm.azure.net| + managedhsm-preview.azure.net| + vault.azure.net| + vault-int.azure-int.net| + vault.azure.cn| + managedhsm.azure.cn| + vault.usgovcloudapi.net| + managedhsm.usgovcloudapi.net| + vault.microsoftazure.de| + managedhsm.microsoftazure.de| + vault.cloudapi.eaglex.ic.gov| + vault.cloudapi.microsoft.scloud)(:443)?\/keys/[^\/]+\/[0-9a-zA-Z]+$', uri) if match is None: raise CLIError('The provided uri is invalid. Please provide a valid Azure Key Vault key id. For example: ' - '"https://YourVaultName.vault.azure.net/keys/YourKeyName/01234567890123456789012345678901" or "https://YourManagedHsmRegion.YourManagedHsmName.managedhsm.azure.net/keys/YourKeyName/01234567890123456789012345678901"') + '"https://YourVaultName.vault.azure.net/keys/YourKeyName/123" or + "https://ManagedHsmRegion.ManagedHsmName.managedhsm.azure.net/keys/YourKeyName/123"') vault = uri.split('.')[0].split('/')[-1] key = uri.split('/')[-2] From afde3172ed3b1bfb8ab62899f5a0e091e0dc1f37 Mon Sep 17 00:00:00 2001 From: kingsleyAzure Date: Wed, 13 Jan 2021 21:22:11 -0800 Subject: [PATCH 4/7] Update custom.py --- .../azure/cli/command_modules/rdbms/custom.py | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/src/azure-cli/azure/cli/command_modules/rdbms/custom.py b/src/azure-cli/azure/cli/command_modules/rdbms/custom.py index 21491ee2bd2..030e53a00d4 100644 --- a/src/azure-cli/azure/cli/command_modules/rdbms/custom.py +++ b/src/azure-cli/azure/cli/command_modules/rdbms/custom.py @@ -536,23 +536,11 @@ def _get_server_key_name_from_uri(uri): ''' import re - match = re.match(r'https://(.)+\.(managedhsm.azure.net| - managedhsm-preview.azure.net| - vault.azure.net| - vault-int.azure-int.net| - vault.azure.cn| - managedhsm.azure.cn| - vault.usgovcloudapi.net| - managedhsm.usgovcloudapi.net| - vault.microsoftazure.de| - managedhsm.microsoftazure.de| - vault.cloudapi.eaglex.ic.gov| - vault.cloudapi.microsoft.scloud)(:443)?\/keys/[^\/]+\/[0-9a-zA-Z]+$', uri) + match = re.match(r'https://(.)+\.(managedhsm.azure.net|managedhsm-preview.azure.net|vault.azure.net|vault-int.azure-int.net|vault.azure.cn|managedhsm.azure.cn|vault.usgovcloudapi.net|managedhsm.usgovcloudapi.net|vault.microsoftazure.de|managedhsm.microsoftazure.de|vault.cloudapi.eaglex.ic.gov|vault.cloudapi.microsoft.scloud)(:443)?\/keys/[^\/]+\/[0-9a-zA-Z]+$', uri) if match is None: raise CLIError('The provided uri is invalid. Please provide a valid Azure Key Vault key id. For example: ' - '"https://YourVaultName.vault.azure.net/keys/YourKeyName/123" or - "https://ManagedHsmRegion.ManagedHsmName.managedhsm.azure.net/keys/YourKeyName/123"') + '"https://YourVaultName.vault.azure.net/keys/YourKeyName/01234567890123456789012345678901" or "https://YourManagedHsmRegion.YourManagedHsmName.managedhsm.azure.net/keys/YourKeyName/01234567890123456789012345678901"') vault = uri.split('.')[0].split('/')[-1] key = uri.split('/')[-2] From fe0d930189812a5aded1b8dd248570fe79fd1bc8 Mon Sep 17 00:00:00 2001 From: kingsleyAzure Date: Wed, 13 Jan 2021 21:30:36 -0800 Subject: [PATCH 5/7] Update custom.py --- .../azure/cli/command_modules/sql/custom.py | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/src/azure-cli/azure/cli/command_modules/sql/custom.py b/src/azure-cli/azure/cli/command_modules/sql/custom.py index 2c4d326cd96..09f59f78e0c 100644 --- a/src/azure-cli/azure/cli/command_modules/sql/custom.py +++ b/src/azure-cli/azure/cli/command_modules/sql/custom.py @@ -2535,23 +2535,11 @@ def _get_server_key_name_from_uri(uri): ''' import re - match = re.match(r'https://(.)+\.(managedhsm.azure.net| - managedhsm-preview.azure.net| - vault.azure.net| - vault-int.azure-int.net| - vault.azure.cn| - managedhsm.azure.cn| - vault.usgovcloudapi.net| - managedhsm.usgovcloudapi.net| - vault.microsoftazure.de| - managedhsm.microsoftazure.de| - vault.cloudapi.eaglex.ic.gov| - vault.cloudapi.microsoft.scloud)(:443)?\/keys/[^\/]+\/[0-9a-zA-Z]+$', uri) + match = re.match(r'https://(.)+\.(managedhsm.azure.net|managedhsm-preview.azure.net|vault.azure.net|vault-int.azure-int.net|vault.azure.cn|managedhsm.azure.cn|vault.usgovcloudapi.net|managedhsm.usgovcloudapi.net|vault.microsoftazure.de|managedhsm.microsoftazure.de|vault.cloudapi.eaglex.ic.gov|vault.cloudapi.microsoft.scloud)(:443)?\/keys/[^\/]+\/[0-9a-zA-Z]+$', uri) if match is None: raise CLIError('The provided uri is invalid. Please provide a valid Azure Key Vault key id. For example: ' - '"https://YourVaultName.vault.azure.net/keys/YourKeyName/123" or - "https://ManagedHsmRegion.ManagedHsmName.managedhsm.azure.net/keys/YourKeyName/123"') + '"https://YourVaultName.vault.azure.net/keys/YourKeyName/01234567890123456789012345678901" or "https://YourManagedHsmRegion.YourManagedHsmName.managedhsm.azure.net/keys/YourKeyName/01234567890123456789012345678901"') vault = uri.split('.')[0].split('/')[-1] key = uri.split('/')[-2] From 3b490158d0de62d317ead40a995bb5d33a5f1e3f Mon Sep 17 00:00:00 2001 From: Zunli Hu Date: Thu, 14 Jan 2021 13:47:01 +0800 Subject: [PATCH 6/7] fix style --- src/azure-cli/azure/cli/command_modules/sql/custom.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/azure-cli/azure/cli/command_modules/sql/custom.py b/src/azure-cli/azure/cli/command_modules/sql/custom.py index 09f59f78e0c..3903ed1ca77 100644 --- a/src/azure-cli/azure/cli/command_modules/sql/custom.py +++ b/src/azure-cli/azure/cli/command_modules/sql/custom.py @@ -2526,6 +2526,7 @@ def server_key_delete( key_name=key_name) +# pylint: disable=line-too-long def _get_server_key_name_from_uri(uri): ''' Gets the key's name to use as a SQL server key. @@ -2539,7 +2540,8 @@ def _get_server_key_name_from_uri(uri): if match is None: raise CLIError('The provided uri is invalid. Please provide a valid Azure Key Vault key id. For example: ' - '"https://YourVaultName.vault.azure.net/keys/YourKeyName/01234567890123456789012345678901" or "https://YourManagedHsmRegion.YourManagedHsmName.managedhsm.azure.net/keys/YourKeyName/01234567890123456789012345678901"') + '"https://YourVaultName.vault.azure.net/keys/YourKeyName/01234567890123456789012345678901" ' + 'or "https://YourManagedHsmRegion.YourManagedHsmName.managedhsm.azure.net/keys/YourKeyName/01234567890123456789012345678901"') vault = uri.split('.')[0].split('/')[-1] key = uri.split('/')[-2] From 145c0733c2634dffcba8032efc79adf97fa1b3fc Mon Sep 17 00:00:00 2001 From: Zunli Hu Date: Thu, 14 Jan 2021 14:13:24 +0800 Subject: [PATCH 7/7] fix rdbms style --- src/azure-cli/azure/cli/command_modules/rdbms/custom.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/azure-cli/azure/cli/command_modules/rdbms/custom.py b/src/azure-cli/azure/cli/command_modules/rdbms/custom.py index 030e53a00d4..dd6532f5764 100644 --- a/src/azure-cli/azure/cli/command_modules/rdbms/custom.py +++ b/src/azure-cli/azure/cli/command_modules/rdbms/custom.py @@ -537,7 +537,7 @@ def _get_server_key_name_from_uri(uri): import re match = re.match(r'https://(.)+\.(managedhsm.azure.net|managedhsm-preview.azure.net|vault.azure.net|vault-int.azure-int.net|vault.azure.cn|managedhsm.azure.cn|vault.usgovcloudapi.net|managedhsm.usgovcloudapi.net|vault.microsoftazure.de|managedhsm.microsoftazure.de|vault.cloudapi.eaglex.ic.gov|vault.cloudapi.microsoft.scloud)(:443)?\/keys/[^\/]+\/[0-9a-zA-Z]+$', uri) - + if match is None: raise CLIError('The provided uri is invalid. Please provide a valid Azure Key Vault key id. For example: ' '"https://YourVaultName.vault.azure.net/keys/YourKeyName/01234567890123456789012345678901" or "https://YourManagedHsmRegion.YourManagedHsmName.managedhsm.azure.net/keys/YourKeyName/01234567890123456789012345678901"')