def auth_sentinel(self):
        """
        Authenticate with microsoft sentinel.

        Raises:
            DataminrPulseException: Custom cofense Exception

        Returns:
            String: Bearer token
        """
        __method_name = inspect.currentframe().f_code.co_name
        try:
            applogger.info(
                "{}(method={}) : {}: generating microsoft sentinel access token.".format(
                    consts.LOGS_STARTS_WITH,
                    __method_name,
                    consts.RETRY_FAILED_INDICATORS,
                )
            )
            azure_auth_url = consts.AZURE_AUTHENTICATION_URL.format(
                consts.AZURE_TENANT_ID
            )
            body = {
                "client_id": consts.AZURE_CLIENT_ID,
                "client_secret": consts.AZURE_CLIENT_SECRET,
                "grant_type": "client_credentials",
                "resource": "https://management.azure.com",
            }
            response = requests.post(url=azure_auth_url, data=body, timeout=10)
            if response.status_code >= 200 and response.status_code <= 299:
                json_response = response.json()
                if "access_token" not in json_response:
                    applogger.error(
                        "{}(method={}) : {}: Access token not found in sentinel api call.".format(
                            consts.LOGS_STARTS_WITH,
                            __method_name,
                            consts.RETRY_FAILED_INDICATORS,
                        )
                    )
                    raise DataminrPulseException()
                else:
                    bearer_token = json_response.get("access_token")
                    applogger.info(
                        "{}(method={}) : {}: Microsoft sentinel access token generated successfully.".format(
                            consts.LOGS_STARTS_WITH,
                            __method_name,
                            consts.RETRY_FAILED_INDICATORS,
                        )
                    )
                    applogger.debug(
                        "{}(method={}) :{}: url:{}, Status Code :{}: Microsoft Sentinel access token generated.".format(
                            consts.LOGS_STARTS_WITH,
                            __method_name,
                            consts.RETRY_FAILED_INDICATORS,
                            azure_auth_url,
                            response.status_code,
                        )
                    )
                    return bearer_token
            else:
                applogger.error(
                    "{}(method={}) :{}: url:{}, Status Code :{}: Error while creating microsoft sentinel access_token."
                    " Error Reason: {}".format(
                        consts.LOGS_STARTS_WITH,
                        __method_name,
                        consts.RETRY_FAILED_INDICATORS,
                        azure_auth_url,
                        response.status_code,
                        response.reason,
                    )
                )
                raise DataminrPulseException()
        except DataminrPulseException as error:
            applogger.error(
                "{}(method={}) : Error generated while getting sentinel access token :{}".format(
                    consts.LOGS_STARTS_WITH, __method_name, error
                )
            )
            raise DataminrPulseException()

        Authenticate with microsoft sentinel.

        Raises:
            DataminrPulseException: Custom cofense Exception

        Returns:
            String: Bearer token
        
Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/RetryFailedIndicators/sentinel.py