SlideShare una empresa de Scribd logo
1 de 75
Making Sense of Apex
Security
Christoph Ruepprich
Enkitec
Who Am I?
l  Dad & Husband
l  Consultant @ Enkitec
l  DBA/Developer
l  Fitness
l  Bass player
l  Board gamer
ruepprich.wordpress.com
@CRuepprich
cruepprich
cruepprich@enkitec.com
Things to Cover
l  Authentication
l  Login / Logout Processing
l  Authorization
l  Security Settings and Reports
Authentication
l  Who gets in:
l  Username
l  Password
Authentication Types
l  Apex Authentication
l  LDAP
l  Database Account
l  Open Door
l  SSO
l  HTTP Header Variable
l  No Authentication
Apex Authentication – The Good
l  Built In
l  Users defined in Apex workspace
l  Quick & easy setup
l  User & group management
l  Access to all applications in workspace
Apex Authentication – The Bad
l  Users tied to a workspace
l  Not scalable
LDAP Authentication
l  Authenticate against existing LDAP
l  Great for enterprise applications
l  Requires ACL setup (11g)
Database Account – The Good
l  Existing Database Accounts
l  Handy when migrating from Oracle Forms
l  No privileges needed
l  Does not create a database session
Database Account – The Bad
l  Not a good long term solution
l  Accounts should be moved to an LDAP or
Custom Authentication Scheme
Open Door Credentials
l  Only username required
l  Not secure
l  Useful for testing
Oracle App. Svr. Single Sign On (OASSO)
l  For use with Oracle Application Server
l  Authenticate once and have access to many
other applications.
l  Register Apex as a OASSO partner application
l  Uses OASSO Login Page
No Authentication
l  No username or password required
l  Good for public pages
HTTP Header Variable
l  Used in conjunction with a single sign-on server
l  Uses value from header variable
l  Header variables can be viewed with
owa_util.print_cgi_env;.
Authentication
l  Apex tracks user throughout the session
●  :APP_USER
●  &APP_USER.
●  V(‘APP_USER’)
l  Unauthenticated users show
up as nobody
Settings
l  Processing points
●  Sentry
●  Pre Authentication
●  Post Authentication (not when quitting browser)
●  Session Not Valid
●  Cookies
Settings
l  Processing points
●  Sentry
●  Pre Authentication
●  Post Authentication (not when quitting browser)
●  Invalid Session
●  Cookies
•  Replaces the built-in Apex sentry function
•  Called before every page view and asynchronous transaction.
•  Returns boolean.
•  Ensures session is still valid.
•  When FALSE, session is killed and invalid session procedure is called.
Settings
l  Processing points
●  Sentry
●  Pre Authentication
●  Post Authentication (not when quitting browser)
●  Invalid Session
●  Cookies
•  Fires before authentication function.
•  Does not fire with outside authentication (SSO), or no authentication.
Settings
l  Processing points
●  Sentry
●  Pre Authentication
●  Post Authentication
●  Invalid Session
●  Cookies
•  Fires after user is authenticated, session is registered and cookie is set.
•  Good for logging.
•  Does not fire with no authentication, or when browser is closed.
Settings
l  Processing points
●  Sentry
●  Pre Authentication
●  Post Authentication (not when quitting browser)
●  Session Not Valid
●  Cookies•  Fires when sentry returns FALSE
•  Good for enforcing business rules. (Can’t log in on Sundays)
•  Specifies where user will be re-directed to
Session Cookie
l  Cross application authentication
l  Specify same cookie name in multiple apps
l  Include session id in URL
Authentication
Authentication
l  All Apex needs is a TRUE or FALSE from an
authentication process
l  Apex knows what to do in either case
l  Same for all authentication types
Browsing to a page
Authentication Flow
l  Each page uses a sentry function to determine
whether the session is valid (session ID +
cookie)
l  Sentry returns TRUE/FALSE
l  Invalid session gets redirected to Login
(see Application Properties -> User Interfaces)
l  Valid (or public) session sees page
Logging In
Login Page Processing
1.  Get Username Cookie – reads LOGIN_USERNAME_COOKIE
2.  If exists, populate P101_USERNAME
3.  Password field does not save state.
4.  When login page is submitted, the APEX_AUTHENTICATION
API processes username and password
5.  The API calls the current authentication scheme and returns
TRUE or FALSE
6.  When TRUE session info is stored in WWV_FLOW_SESSIONS$
7.  Finally the page cache for login page is cleared.
8.  Browser is redirected to next page
Login Page Processing
1.  Get Username Cookie – reads LOGIN_USERNAME_COOKIE
2.  If exists, populate P101_USERNAME
3.  Password field does not save state.
4.  When page is submitted
1.  The login cookie is set with the username value
2.  The APEX_AUTHENTICATION API processes username and
password
3.  When API returns TRUE, session info is stored in
WWV_FLOW_SESSIONS$
4.  A process clears the page cache
5.  Browser is redirected
Logout Processing
l  Logout can happen at various events
●  Logout link is clicked
●  Session duration exceeded
●  User exits browser
●  Session cookie is altered
●  Etc.
l  These events make session invalid and invoke
the Session Not Valid action
Logout Cleanup
l  When logout link is clicked, session is
terminated and stored session values get
deleted.
l  Any other termination invalidates session state
and a purge job cleans up the stored data later.
(ORACLE_APEX_PURGE_SESSIONS)
Application Level Authentication
l  Set for entire application
Page Level Authentication
l  Pages are either authenticated or public
Edit Page -> Security
Custom Authentication
l  Complete Control
l  Table Based
l  Can be either very simple or complex
Custom Authentication
l  User Table
l  Group Table
l  Function to verify credentials
Custom Authentication
l  User Table Example
●  ID
●  USERNAME
●  PASSWORD
●  FIRST_NAME
●  LAST_NAME
●  EMAIL_ADDRESS
Custom Authentication
l  Authentication function
●  Arguments: username, password
●  Return TRUE if authenticated
Custom Authentication
apex_auth.authenticate_fn
Check
Password
against table
Match?
Return TRUE.
No Match?
Return FALSE.
FUNCTION authenticate_fn (p_username VARCHAR2
, p_password VARCHAR2)
RETURN boolean
IS
BEGIN
/* do some verification */
APEX_UTIL.SET_AUTHENTICATION_RESULT(n);
RETURN (TRUE|FALSE);
END;
Custom Authentication
l  If function returns TRUE
Redirect to Home URL
Edit Application Properties -> User Interfaces -> User Interfaces -> User Interface Details
Password Security
l  Store encrypted password in user table.
l  dbms_crypto.hash(
utl_raw.cast_to_raw(p_str),2
);
l  In authenticaton function: compare encrypted
password to user_table.password.
Additional Processing Points
l  Pre-Authentication
Before credentials are verified.
l  Post-Authentication
Only after credentials are verified.
l  Session Verify Function
Additional business rules.
No login throttle
Session Verify Function
l  Prevent logins on Sundays
Is today
Sunday?
No?
Return True.
Yes?
Return FALSE.
FUNCTION session_is_valid
RETURN boolean
IS
BEGIN
IF <today is Sunday>
THEN
RETURN FALSE;
ELSE
RETURN TRUE;
END IF;
END;
Session Cookie
Kermit
Piggy
Fozzy
f?p=PIGGY:PAGE:&SESSION.
Session Cookie
Kermit
Piggy
Fozzy
f?p=SHOW:101
Logout URL
f?p=SHOW:101
f?p=SHOW:101
Authorization
Authorization
l  After authentication
l  Control access to
●  Applications*
●  Pages
●  Page items
●  Etc.
l  Depends on
●  User attributes
●  Groups
Authorization – Application Level
Who gets into the
application.
You may have 1000s
of users, but only a
small group should
have access.
Gatekeeper
Authorization – Application Level
l  Application Properties -> Security
Authorization – Page Level
l  Edit Page -> Security
Authorization – Item Level
l  Edit Item -> Security
Authorization – Bulk Edit
l  Application -> Utilities -> Cross Page Utilities ->
Grid Edit all Pages
Group Management
l  Apex Authorization
●  Authorization Scheme
apex_util.get_groups_user_belongs_to(:APP_USER);
l  LDAP
●  :AI_LDAP_GROUPS :=
apex_auth.ldap_get_groups_fn(:APP_USER);
l  Custom Authorization
●  Table based
●  Custom function to get group membership
Apex Group
declare
l_groups varchar2(1000);
l_arr_groups apex_application_global.vc_arr2;
l_authorized boolean := false;
l_idx pls_integer;
begin
-- get comma separated list of groups user belongs to
l_groups := apex_util.get_groups_user_belongs_to(:APP_USER);
-- convert l_groups into array
l_arr_groups := apex_util.string_to_table(p_string => l_groups
,p_separator => ',');
-- check if vocals group is present
for l_idx in 1..l_arr_groups.count
loop
if (trim(l_arr_groups(l_idx)) = 'vocals')
then l_authorized := true;
end if;
end loop;
return l_authorized;
end;
LDAP Group
Custom Group
FUNCTION belongs_to_admins (p_username VARCHAR2)
RETURN boolean;
IS
l_yesno VARCHAR2(3);
BEGIN
SELECT NVL(MAX('YES'), 'NO’) INTO l_yesno
FROM my_user_table
WHERE username = p_username
AND usergroup = 'ADMINS';
IF l_yesno = 'YES’ THEN
RETURN TRUE;
ELSE
RETURN FALSE;
END IF;
END;
Authorization - Utilization
l  Shared Components -> Authorization Schemes
-> Utilization
Pages With Authorization Schemes
Pages Without Authorization Schemes
Example: Apex Authentication
Apex User Attributes
l  Admin/Developer attributes
l  Groups
Apex Account Privileges
SELECT 1
FROM APEX_WORKSPACE_APEX_USERS
WHERE user_name = :APP_USER
AND is_admin = 'Yes';
Get Account Privileges:
SELECT 1
FROM APEX_WORKSPACE_APEX_USERS
WHERE user_name = :APP_USER
AND is_developer = 'Yes';
Apex Group Assignment
Apex Groups
Authentication Scheme
l  Check for group membership
Authentication Subscription
l  Subscribe to existing scheme
l  Changes get passed on
Authorization Subscription
l  Changes are not automatically passed on
l  Push changes
Authentication Subscription
l  Pull changes individually
Invalid Session Detail
l  Fires after page sentry
l  Specify URL to go when invalid session is
detected.
f?p=KSCOPE13:101:&APP_SESSION.:HELLO_KITTY:&DEBUG.::::
Account Login Control
l  Works on end user accounts of Apex user
management.
Apex Instance Controls
l  Session Timeout
Apex Instance Controls
l  General Login Control
Password Policy
l  For Apex accounts
Password Policy
Continued:
Reports
l  Login Attempts
l  Login Attempts by Authentication Result
l  Developer Login Summary
Administration -> Monitor Activity
Session State Protection
Making Sense of APEX Security by Christoph Ruepprich

Más contenido relacionado

La actualidad más candente

The View - Lotusscript coding best practices
The View - Lotusscript coding best practicesThe View - Lotusscript coding best practices
The View - Lotusscript coding best practices
Bill Buchan
 
Learn REST API with Python
Learn REST API with PythonLearn REST API with Python
Learn REST API with Python
Larry Cai
 

La actualidad más candente (20)

The View - Lotusscript coding best practices
The View - Lotusscript coding best practicesThe View - Lotusscript coding best practices
The View - Lotusscript coding best practices
 
Polyglot payloads in practice by avlidienbrunn at HackPra
Polyglot payloads in practice by avlidienbrunn at HackPraPolyglot payloads in practice by avlidienbrunn at HackPra
Polyglot payloads in practice by avlidienbrunn at HackPra
 
Salesforce asynchronous apex
Salesforce asynchronous apexSalesforce asynchronous apex
Salesforce asynchronous apex
 
Advanced SQL Injection
Advanced SQL InjectionAdvanced SQL Injection
Advanced SQL Injection
 
Learn REST API with Python
Learn REST API with PythonLearn REST API with Python
Learn REST API with Python
 
Event-sourced architectures with Akka
Event-sourced architectures with AkkaEvent-sourced architectures with Akka
Event-sourced architectures with Akka
 
Spring MVC to iOS and the REST
Spring MVC to iOS and the RESTSpring MVC to iOS and the REST
Spring MVC to iOS and the REST
 
SFDC Batch Apex
SFDC Batch ApexSFDC Batch Apex
SFDC Batch Apex
 
Extending Flink SQL for stream processing use cases
Extending Flink SQL for stream processing use casesExtending Flink SQL for stream processing use cases
Extending Flink SQL for stream processing use cases
 
Hp fortify source code analyzer(sca)
Hp fortify source code analyzer(sca)Hp fortify source code analyzer(sca)
Hp fortify source code analyzer(sca)
 
Apache Flink in the Cloud-Native Era
Apache Flink in the Cloud-Native EraApache Flink in the Cloud-Native Era
Apache Flink in the Cloud-Native Era
 
Introduction to Kong API Gateway
Introduction to Kong API GatewayIntroduction to Kong API Gateway
Introduction to Kong API Gateway
 
Salesforce Files Connect
Salesforce Files ConnectSalesforce Files Connect
Salesforce Files Connect
 
Service Workers and APEX
Service Workers and APEXService Workers and APEX
Service Workers and APEX
 
Introduction to Kafka connect
Introduction to Kafka connectIntroduction to Kafka connect
Introduction to Kafka connect
 
Kafka Streams State Stores Being Persistent
Kafka Streams State Stores Being PersistentKafka Streams State Stores Being Persistent
Kafka Streams State Stores Being Persistent
 
Introduction to PowerShell
Introduction to PowerShellIntroduction to PowerShell
Introduction to PowerShell
 
RxJS - The Basics & The Future
RxJS - The Basics & The FutureRxJS - The Basics & The Future
RxJS - The Basics & The Future
 
Lightning Data Service: Eliminate Your Need to Load Records Through Controllers
Lightning Data Service: Eliminate Your Need to Load Records Through ControllersLightning Data Service: Eliminate Your Need to Load Records Through Controllers
Lightning Data Service: Eliminate Your Need to Load Records Through Controllers
 
Build Reliable Asynchronous Code with Queueable Apex
Build Reliable Asynchronous Code with Queueable ApexBuild Reliable Asynchronous Code with Queueable Apex
Build Reliable Asynchronous Code with Queueable Apex
 

Similar a Making Sense of APEX Security by Christoph Ruepprich

Mastering the Oracle Data Pump API
Mastering the Oracle Data Pump APIMastering the Oracle Data Pump API
Mastering the Oracle Data Pump API
Enkitec
 
Action Controller Overview, Season 2
Action Controller Overview, Season 2Action Controller Overview, Season 2
Action Controller Overview, Season 2
RORLAB
 

Similar a Making Sense of APEX Security by Christoph Ruepprich (20)

Mastering the Oracle Data Pump API
Mastering the Oracle Data Pump APIMastering the Oracle Data Pump API
Mastering the Oracle Data Pump API
 
Staying railsy - while scaling complexity or Ruby on Rails in Enterprise Soft...
Staying railsy - while scaling complexity or Ruby on Rails in Enterprise Soft...Staying railsy - while scaling complexity or Ruby on Rails in Enterprise Soft...
Staying railsy - while scaling complexity or Ruby on Rails in Enterprise Soft...
 
Tech_Implementation of Complex ITIM Workflows
Tech_Implementation of Complex ITIM WorkflowsTech_Implementation of Complex ITIM Workflows
Tech_Implementation of Complex ITIM Workflows
 
RSpec User Stories
RSpec User StoriesRSpec User Stories
RSpec User Stories
 
Code your Own: Authentication Provider for Blackboard Learn
Code your Own: Authentication Provider for Blackboard LearnCode your Own: Authentication Provider for Blackboard Learn
Code your Own: Authentication Provider for Blackboard Learn
 
Action Controller Overview, Season 2
Action Controller Overview, Season 2Action Controller Overview, Season 2
Action Controller Overview, Season 2
 
How to build Simple yet powerful API.pptx
How to build Simple yet powerful API.pptxHow to build Simple yet powerful API.pptx
How to build Simple yet powerful API.pptx
 
Checkmarx meetup API Security - API Security in depth - Inon Shkedy
Checkmarx meetup API Security - API Security in depth - Inon ShkedyCheckmarx meetup API Security - API Security in depth - Inon Shkedy
Checkmarx meetup API Security - API Security in depth - Inon Shkedy
 
Ruby on rails
Ruby on rails Ruby on rails
Ruby on rails
 
Developing apps using Perl
Developing apps using PerlDeveloping apps using Perl
Developing apps using Perl
 
SharePoint Insanity Demystified
SharePoint Insanity DemystifiedSharePoint Insanity Demystified
SharePoint Insanity Demystified
 
How to implement multiple authentication guards in laravel 8
How to implement multiple authentication guards in laravel 8How to implement multiple authentication guards in laravel 8
How to implement multiple authentication guards in laravel 8
 
Good practices for debugging Selenium and Appium tests
Good practices for debugging Selenium and Appium testsGood practices for debugging Selenium and Appium tests
Good practices for debugging Selenium and Appium tests
 
Using API platform to build ticketing system (translations, time zones, ...) ...
Using API platform to build ticketing system (translations, time zones, ...) ...Using API platform to build ticketing system (translations, time zones, ...) ...
Using API platform to build ticketing system (translations, time zones, ...) ...
 
Old WP REST API, New Tricks
Old WP REST API, New TricksOld WP REST API, New Tricks
Old WP REST API, New Tricks
 
JavaEE Security
JavaEE SecurityJavaEE Security
JavaEE Security
 
Using API Platform to build ticketing system #symfonycon
Using API Platform to build ticketing system #symfonyconUsing API Platform to build ticketing system #symfonycon
Using API Platform to build ticketing system #symfonycon
 
Bh Win 03 Rileybollefer
Bh Win 03 RileybolleferBh Win 03 Rileybollefer
Bh Win 03 Rileybollefer
 
Araport Workshop Tutorial 2: Authentication and the Agave Profiles Service
Araport Workshop Tutorial 2: Authentication and the Agave Profiles ServiceAraport Workshop Tutorial 2: Authentication and the Agave Profiles Service
Araport Workshop Tutorial 2: Authentication and the Agave Profiles Service
 
Building Mobile Friendly APIs in Rails
Building Mobile Friendly APIs in RailsBuilding Mobile Friendly APIs in Rails
Building Mobile Friendly APIs in Rails
 

Más de Enkitec

Oracle GoldenGate Architecture Performance
Oracle GoldenGate Architecture PerformanceOracle GoldenGate Architecture Performance
Oracle GoldenGate Architecture Performance
Enkitec
 
OGG Architecture Performance
OGG Architecture PerformanceOGG Architecture Performance
OGG Architecture Performance
Enkitec
 
APEX Security Primer
APEX Security PrimerAPEX Security Primer
APEX Security Primer
Enkitec
 
How Many Ways Can I Manage Oracle GoldenGate?
How Many Ways Can I Manage Oracle GoldenGate?How Many Ways Can I Manage Oracle GoldenGate?
How Many Ways Can I Manage Oracle GoldenGate?
Enkitec
 
Understanding how is that adaptive cursor sharing (acs) produces multiple opt...
Understanding how is that adaptive cursor sharing (acs) produces multiple opt...Understanding how is that adaptive cursor sharing (acs) produces multiple opt...
Understanding how is that adaptive cursor sharing (acs) produces multiple opt...
Enkitec
 
Sql tuning made easier with sqltxplain (sqlt)
Sql tuning made easier with sqltxplain (sqlt)Sql tuning made easier with sqltxplain (sqlt)
Sql tuning made easier with sqltxplain (sqlt)
Enkitec
 
Profiling the logwriter and database writer
Profiling the logwriter and database writerProfiling the logwriter and database writer
Profiling the logwriter and database writer
Enkitec
 
Fatkulin hotsos 2014
Fatkulin hotsos 2014Fatkulin hotsos 2014
Fatkulin hotsos 2014
Enkitec
 

Más de Enkitec (20)

Using Angular JS in APEX
Using Angular JS in APEXUsing Angular JS in APEX
Using Angular JS in APEX
 
Controlling execution plans 2014
Controlling execution plans   2014Controlling execution plans   2014
Controlling execution plans 2014
 
Engineered Systems: Environment-as-a-Service Demonstration
Engineered Systems: Environment-as-a-Service DemonstrationEngineered Systems: Environment-as-a-Service Demonstration
Engineered Systems: Environment-as-a-Service Demonstration
 
Think Exa!
Think Exa!Think Exa!
Think Exa!
 
In Memory Database In Action by Tanel Poder and Kerry Osborne
In Memory Database In Action by Tanel Poder and Kerry OsborneIn Memory Database In Action by Tanel Poder and Kerry Osborne
In Memory Database In Action by Tanel Poder and Kerry Osborne
 
In Search of Plan Stability - Part 1
In Search of Plan Stability - Part 1In Search of Plan Stability - Part 1
In Search of Plan Stability - Part 1
 
Mini Session - Using GDB for Profiling
Mini Session - Using GDB for ProfilingMini Session - Using GDB for Profiling
Mini Session - Using GDB for Profiling
 
Profiling Oracle with GDB
Profiling Oracle with GDBProfiling Oracle with GDB
Profiling Oracle with GDB
 
Oracle Performance Tools of the Trade
Oracle Performance Tools of the TradeOracle Performance Tools of the Trade
Oracle Performance Tools of the Trade
 
Oracle Performance Tuning Fundamentals
Oracle Performance Tuning FundamentalsOracle Performance Tuning Fundamentals
Oracle Performance Tuning Fundamentals
 
SQL Tuning Tools of the Trade
SQL Tuning Tools of the TradeSQL Tuning Tools of the Trade
SQL Tuning Tools of the Trade
 
Using SQL Plan Management (SPM) to Balance Plan Flexibility and Plan Stability
Using SQL Plan Management (SPM) to Balance Plan Flexibility and Plan StabilityUsing SQL Plan Management (SPM) to Balance Plan Flexibility and Plan Stability
Using SQL Plan Management (SPM) to Balance Plan Flexibility and Plan Stability
 
Oracle GoldenGate Architecture Performance
Oracle GoldenGate Architecture PerformanceOracle GoldenGate Architecture Performance
Oracle GoldenGate Architecture Performance
 
OGG Architecture Performance
OGG Architecture PerformanceOGG Architecture Performance
OGG Architecture Performance
 
APEX Security Primer
APEX Security PrimerAPEX Security Primer
APEX Security Primer
 
How Many Ways Can I Manage Oracle GoldenGate?
How Many Ways Can I Manage Oracle GoldenGate?How Many Ways Can I Manage Oracle GoldenGate?
How Many Ways Can I Manage Oracle GoldenGate?
 
Understanding how is that adaptive cursor sharing (acs) produces multiple opt...
Understanding how is that adaptive cursor sharing (acs) produces multiple opt...Understanding how is that adaptive cursor sharing (acs) produces multiple opt...
Understanding how is that adaptive cursor sharing (acs) produces multiple opt...
 
Sql tuning made easier with sqltxplain (sqlt)
Sql tuning made easier with sqltxplain (sqlt)Sql tuning made easier with sqltxplain (sqlt)
Sql tuning made easier with sqltxplain (sqlt)
 
Profiling the logwriter and database writer
Profiling the logwriter and database writerProfiling the logwriter and database writer
Profiling the logwriter and database writer
 
Fatkulin hotsos 2014
Fatkulin hotsos 2014Fatkulin hotsos 2014
Fatkulin hotsos 2014
 

Último

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Último (20)

Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 

Making Sense of APEX Security by Christoph Ruepprich