diff --git a/README.md b/README.md index 19724bd..8e2b3e3 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,4 @@ + # OCI Scripts This repo contains samples of python3 Oracle Cloud Infrastructure scripts. Please read code and documentation before use as they have no warranty. - [Oracle Cloud Guard Scripts](cloud_guard/README.md) diff --git a/cloud_guard/all_detectors_responders.py b/cloud_guard/all_detectors_responders.py index 7cf68c0..a2b82af 100644 --- a/cloud_guard/all_detectors_responders.py +++ b/cloud_guard/all_detectors_responders.py @@ -5,7 +5,8 @@ import datetime import csv import os - +from pyfiglet import figlet_format +from oci.database.models import AutonomousDatabase ########################################################################## # Print to CSV @@ -87,15 +88,15 @@ def execute_report(): # Identity extract compartments config, signer = create_signer(cmd.config_profile, cmd.is_instance_principals, cmd.is_delegation_token) - cg = Cloud_Guard_Data(config, signer, cmd.proxy) + oci_data = OCI_Data(config, signer, cmd.proxy) - cg.get_responders() - cg.get_detectors() - cg.get_problems() - cg.get_recommendations() - - + oci_data.get_responders() + oci_data.get_detectors() + oci_data.get_problems() + oci_data.get_recommendations() + oci_data.get_settings() +# To remove ########################################################################## # Create signer for Authentication @@ -167,18 +168,19 @@ def create_signer(config_profile, is_instance_principals, is_delegation_token): return config, signer -class Cloud_Guard_Data: +class OCI_Data: __compartments = [] __problems = [] __detectors = [] __responders = [] __recommendations = [] + __databases = [] def __init__(self, config, signer, proxy): # Start print time info print("Written by Josh Hammer February 2021. Hacked and botched by Chad Russell") print("\n") - print("Cloud Guard Data") + print( figlet_format("Cloud Guard Data +", font = "standard")) self.__config = config self.__signer = signer # self.__output_bucket = output_bucket @@ -190,7 +192,11 @@ def __init__(self, config, signer, proxy): self.__cloud_guard = oci.cloud_guard.CloudGuardClient(self.__config, signer=self.__signer) if proxy: self.__cloud_guard.base_client.session.proxies = {'https': proxy} + self.__database = oci.database.DatabaseClient(self.__config, signer=self.__signer) + if proxy: + self.__database.base_client.session.proxies = {'https': proxy} + # Getting Tenancy Data and Region data self.__tenancy = self.__identity.get_tenancy(config["tenancy"]).data print(self.__tenancy) @@ -235,6 +241,32 @@ def get_detectors(self): print_to_csv_file('all_detectors', self.__detectors) except Exception as e: raise RuntimeError("Failed to get responders" + str(e.args)) + + + def get_settings(self): + try: + raw_settings = oci.pagination.list_call_get_all_results( + self.__database.list_autonomous_databases, + compartment_id=self.__tenancy.id + ).data + print(raw_settings) + # for adbdata in raw_settings: + # adb_data_raw = oci.pagination.list_call_get_all_results( + # self.__database, + #private_endpoint=private_endpoint.id, + # compartment_id=self.__tenancy.id + # ).data + + for settings in raw_settings: + adb_data = { + "display_name" : display_name, + # "private_endpoint" : databases.private_endpoint, + + } + self.__settings.append(adb_data) + print_to_csv_file('adb_data', self.__databases) + except Exception as e: + raise RuntimeError("Failed to get settings" + str(e.args)) def get_responders(self): try: diff --git a/database/database_checker.py b/database/database_checker.py new file mode 100644 index 0000000..b7c239b --- /dev/null +++ b/database/database_checker.py @@ -0,0 +1,26 @@ +import oci +from oci.database.models import AutonomousDatabase +from oci.config import from_file +import os + +config = from_file(file_location="~/.oci/config") + + +print(config) + +compartment_id = config["tenancy"] + +identity = oci.database.DatabaseClient(config) +request = AutonomousDatabase() +request.name = "Checking ADB Settings" +request.description = "created by Chad with the OCI Python SDK to check ADB security settings" +settings = identity.list_autonomous_databases(compartment_id) + + + + + + +print(settings.data) + +