உங்கள் AWS வரிசைப்படுத்தல் உங்கள் Terraform வரையறைகளுடன் பொருந்துகிறதா? கண்டுபிடிக்க SQL ஐப் பயன்படுத்தவும்.

“API களுக்கான அணுகலை SQL எவ்வாறு ஒருங்கிணைக்க முடியும்” என்பதில், பல்வேறு API களில் இருந்து தரவுப் பாய்வுகளைப் பற்றி ஒரு பொதுவான சூழலாக SQL ஐ உருவாக்கினேன். அந்தச் சூழ்நிலையின் முக்கிய செயல்பாட்டாளர் SteamPipe ஆகும், இது Postgres-அடிப்படையிலான கருவியாகும், இது போஸ்ட்கிரெஸில் உள்ள வெளிநாட்டு அட்டவணைகளுக்கு APIகளை வரைபடமாக்குவதற்கு API செருகுநிரல்களின் வளர்ந்து வரும் தொகுப்பாகும்.

இந்த APIகள், ஆரம்பத்தில், AWS, Azure மற்றும் GCP ஆல் வழங்கப்பட்டன. இத்தகைய APIகள் பொதுவாக boto3 போன்ற ரேப்பர்கள் மூலம் டெவலப்பர்களுக்கு அணுகக்கூடியதாக இருக்கும். ஒரு பொதுவான SQL இடைமுகம் இந்த மேகங்களுக்குள் பரவியுள்ள API சுற்றுச்சூழல் அமைப்பின் சிறந்த ஒருங்கிணைப்பாளராக உள்ளது, மேலும் இது பல கிளவுட் காட்சிகளில் நிச்சயமாக உண்மை. Postgres இன் கீழ், நீங்கள் SQL க்கு மட்டுப்படுத்தப்படவில்லை: நீங்கள் Python அல்லது JavaScript அல்லது வேறு எந்த மொழியையும் Postgres உடன் இணைக்கலாம் மற்றும் அந்த மொழிகளில் இருந்து பொதுவான SQL இடைமுகத்தைப் பயன்படுத்திக் கொள்ளலாம்.

GitHub, Google Workspace, IMAP, Jira, LDAP, Shodan, Slack, Stripe மற்றும் Zendesk உள்ளிட்ட பல சேவைகளுக்கான செருகுநிரல்களுடன் SteamPipe சுற்றுச்சூழல் விரிவாக்கப்பட்டது. இந்த API களில் சேர்வது இந்த எடுத்துக்காட்டு மூலம் சிறப்பாக நிரூபிக்கப்பட்ட ஒரு வல்லரசாகும், இது மிகவும் அடிப்படையான SQL இன் 10 வரிகளில் உள்ள அமேசான் EC2 எண்ட்பாயிண்ட்டுகளுடன் இணைக்கப்பட்டுள்ளது.

select
  a.instance_id,
  s.ports
  s.vulns
from
  aws_ec2_instance a
left join
  shodan_host s on a.public_ip_address = s.ip
where
  a.public_ip_address is not null;

+---------------------+----------+--------------------+
| instance_id         | ports    | vulns              |
+---------------------+----------+--------------------+
| i-0dc60dd191cb84239 | null     | null               |
| i-042a51a815773780d | [80,22]  | null               |
| i-00cf426db9b8a58b6 | [22]     | null               |
| i-0e97f373db42dfa3f | [22,111] | ["CVE-2018-15919"] |
+---------------------+----------+--------------------+

கோப்புகளும் APIகள்

ஆனால் API என்றால் என்ன? இது எப்போதும் HTTP கோரிக்கைகளை சேவை முடிவுப் புள்ளிகளுக்கு வழங்க வேண்டுமா? பரவலாகப் பேசும் APIகள் மற்ற சுவைகளிலும் வரும் தரவு மூலங்களாகும். இணையப் பக்கங்கள் பெரும்பாலும், இன்னும், உண்மையான APIகளைக் கொண்டிருக்கும். பல ஆண்டுகளாக நான் நினைத்ததை விட அதிகமான வலை ஸ்கிராப்பிங்கைச் செய்துள்ளேன் மேலும் திறமை பயனுள்ளதாக உள்ளது.

கோப்புகளும் தரவு மூலங்களாகும்: உள்ளமைவு கோப்புகள் (INI, YAML, JSON), உள்கட்டமைப்பு-குறியீடு கோப்புகள் (டெர்ராஃபார்ம், CloudFormation), தரவு கோப்புகள் (CSV). இந்த மூலங்களிலிருந்து செருகுநிரல்கள் கலவையில் சேர்க்கத் தொடங்கியபோது, ​​Steampipe இன்னும் சக்திவாய்ந்ததாக மாறியது.

முதலில் CSV செருகுநிரல் வந்தது, இது அனைத்து வகையான பயனுள்ள வினவல்களையும் திறக்கும். எடுத்துக்காட்டாக, விரிதாள்களை எவ்வாறு தரவுத்தளங்களாகக் காட்டுகிறோம் என்பதைக் கவனியுங்கள். அவ்வாறு செய்யும்போது, ​​உண்மையில் இல்லாதபோது குறிப்பு ஒருமைப்பாடு இருப்பதாக நாம் கருதலாம். நீங்கள் விரிதாள் தரவை CSV க்கு ஏற்றுமதி செய்தால், அந்த குறைபாடுள்ள அனுமானங்களைக் கண்டறிய SQL ஐப் பயன்படுத்தலாம். தரவு பரிமாற்றத்திற்கான உலகின் முன்னணி கோப்பு வடிவத்தை வினவ SQL ஐப் பயன்படுத்துவதற்கான முடிவற்ற வழிகளில் இதுவும் ஒன்றாகும்.

பதிப்புரிமை © 2022 IDG Communications, Inc.

Related Articles

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Latest Articles