मैं Azure में नया हूँ एक टीम के रूप में काम करने के लिए अपने सर्वर के साथ एक डेटाबेस बनाएँ। लेकिन मुझे हर एक के फायरवॉल में आईपी जोड़ना है। समस्या यह है कि आईपी बदलता है और आईपी को अद्यतन किया जाना चाहिए। क्या मुझे यह जानने की ज़रूरत है कि क्या किसी आईपी से एक्सेस करने में सक्षम होने के लिए कॉन्फ़िगरेशन का कोई अन्य रूप है?

0
cristhian huete jiron 25 अक्टूबर 2019, 08:10

2 जवाब

सबसे बढ़िया उत्तर

यह सलाह दी जाएगी कि किसी प्रकार का मध्य वेयर डीबी तक पहुंच जाए, न कि आपके क्लाइंट सीधे।

हालाँकि यदि आप चाहते हैं कि कोई भी IP db से कनेक्ट हो सके तो इस प्रविष्टि को फ़ायरवॉल सूची में जोड़ें:

Azure पोर्टल -> Azure Sql सर्वर-> डेटाबेस-> सर्वर फ़ायरवॉल सेट करें और निम्नलिखित नियम जोड़ें:

enter image description here

0
Joey Cai 25 अक्टूबर 2019, 09:23
बहुत बहुत धन्यवाद, यह बहुत मददगार था। सुरक्षा में सुधार के लिए मिडलवेयर भी बहुत अच्छा होगा
 – 
cristhian huete jiron
26 अक्टूबर 2019, 05:01

जैसा कि जॉय काई ने उल्लेख किया है कि आप सभी आईपी पते से पहुंच स्वीकार करने के लिए फ़ायरवॉल नियम बना सकते हैं। हालाँकि, हमने एक एप्लिकेशन बनाकर इस समस्या को हल किया है जो हमारे उपयोगकर्ता सड़क पर उनके लिए फ़ायरवॉल नियमों को अपडेट करने और Azure SQL डेटाबेस तक पहुँच प्राप्त करने के लिए चलाते हैं।

सी # से आप माइक्रोसॉफ्ट के माध्यम से सभी एज़ूर संसाधनों तक पहुंच सकते हैं। Azure.Management.Fluent इस तरह

// Create an authentication context to Azure and acquire a login token
var context = new AuthenticationContext("https://login.microsoftonline.com/tenantId");
var auth = await context.AcquireTokenAsync("https://management.core.windows.net/",
                    "yourClientId", new Uri("urn:ietf:wg:oauth:2.0:oob"),
                    new PlatformParameters(PromptBehavior.Always));
var tokenCredentials = new TokenCredentials(token);
var azureCredentials = new AzureCredentials(tokenCredentials, tokenCredentials, 
                           AzureParts.Tenant, AzureEnvironment.AzureGlobalCloud);

// Build the client with the acquired token as a credential.
RestClient client = RestClient.Configure()
                .WithEnvironment(AzureEnvironment.AzureGlobalCloud)
                .WithLogLevel(HttpLoggingDelegatingHandler.Level.Basic)
                .WithCredentials(azureCredentials)
                .Build();

// Authenticate against azure with the correct subscription to access.
var azure = Azure.Authenticate(client, AzureParts.Tenant)
                .WithSubscription("subscriptionId");

// Search for the sql server and add a firewall rule.
var sqlServer = azure.SqlServers.GetByResourceGroup("ResourceGroup", "servername");
sqlServer.FirewallRules.Define("LetMeIn").WithIPAddress("yourIp").Create();

ध्यान दें कि AcquireTokenAsync के माध्यम से लॉगिन टोकन प्राप्त करने से एक लॉगिन विंडो खुल जाएगी और इस प्रकार इसे स्वचालित रूप से उपयोग नहीं किया जा सकता है। यदि आप केवल एक बार लॉगिन करना चाहते हैं तो आप पहले से संग्रहीत टोकन के साथ टोकन-कैश प्रदान कर सकते हैं।

0
Alberto Morillo 25 अक्टूबर 2019, 16:34