SlideShare a Scribd company logo
Cache Security 1

Katherine Reid, Mike Moulckers
Goals

 • Understand Cache security model
 • How to apply it to a simple web application
Academy Agenda

 • Introduction
 • Authentication
 • Authorization
 • Auditing
Configuration Details

 • Username and Password:
    – User: Admin
    – Password: academy
Introduction
Security Components


1. Authentication
2. Authorization
3. Auditing
Security Configuration At Install

 • Determines the initial configuration
                                            Minimal
   settings for Caché Services and
   Security                                 Normal
 • Changes:                               Locked Down
    – System-wide settings
    – User accounts
    – Service properties
System Management Portal
   • Portal redesigned for 2011.1
      – Granular security
System wide settings
Exercise 1: Password Validation

 • Test password validation and explore examples of what it
   can be used for.
Demo: ZEN Application
Exercise 2: Creating a User

 • Create a user to use in the Inventory application.
User Profile
Authentication
Authentication




          What is authentication?
Authentication Methods

• Unauthenticated
• Password
• Operating System
• LDAP
• Delegated Authentication
• Kerberos
Unauthenticated

 • No username or password required.
 • Always logged in as ‘UnknownUser’.
Cache Password Authentication
 • Simple
 • Easy to set up for a single instance
 • User data stored in local instance
OS Authentication
 • User identified to Caché by OS user identity
 • User authenticates to the OS using the native mechanism
 • Only available for server-side processes
    – Terminal
LDAP

• Already in use at many sites.
• Allows centralized user storage.
Delegated

 • User-defined authentication mechanism
 • Re-use existing custom/legacy authentication code for new,
   modern applications.
 • Code is in the ZAUTHENTICATE routine.
 • The authentication code can be any user-defined:
       •   Caché ObjectScript
       •   Embedded SQL
       •   Class Method(s)
       •   $ZF callout code.
Kerberos

 • Most secure authentication type.
 • Used by Windows.
 • Requires a Kerberos Domain Controller
    – eg, Windows Domain Controller
Services
Service Detail
Authentication Options
Exercise 3: Authentication Types

 • Change the authentication types allowed in the Inventory
   application to make users have to provide a username and
   password to log in.
Authorization
Authorization




          What is authorization?
Terminology

 • Asset: something that is protected:
    – A Caché database
    – Caché SQL connection
    – Ability to perform a backup
Terminology

 • Resource: something which protects an asset:
    –   Database Resource (i.e. %DB_Samples)
    –   Administrative Resource (i.e. %Admin_Manage)
    –   Development Resource (i.e. %Development)
    –   Service Resource (i.e. %Service_CSP)
    –   User Defined
Terminology

 • Permission: allows you to perform an action
    – Read (R): View (but not change) the contents of a resource
    – Write (W): View or change the contents of a resource
    – Use (U): Use a resource, such as an Application or Service
Terminology

 • Privilege: grants permission to do something with a resource
   protecting one or more assets
    – A privilege is written as a resource name followed by a permission
      separated by a colon:
       Example: %DB_SAMPLES:Read
More about Privileges…
 • Privileges can be made Public.
 • Effectively, this is equivalent to all users holding that privilege
    – Example: if the %Service_CacheDirect:Use privilege is Public, then
      any user can connect to Caché using the Caché Direct technology

 • Caché provides a function to check on privileges held by the
   current process:
     – $SYSTEM.Security.Check(Resource,Permission)
Exercise 4: Public Resource

 • We've decided that all authenticated users of our system
   should be allowed to run this application. We will make the
   database which holds the code publicly readable so that
   everyone can run it.
Roles

 • Role: a named collection of privileges
    –   Multiple users typically need the same set of privileges.
    –   Sets of privileges can be defined once and shared.
    –   Privileges are only assigned to roles.
    –   Privileges are not assigned directly to users.
    –   A user can have more than one role.
Exercise 5: Roles and Resources

 • We will add code to our Inventory application to individually
   control access to the functions in the application, and create
   roles and resources to allow users to access them
Three ways to get Roles...

 • At user login
 • Granted by an application
 • Code stored in CACHESYS can set $Roles
Application Roles

 • Everyone running the application gets application roles
Exercise 6: Application Roles

 • Instead of having database access in the roles, we will have
   the application give this to users. The application will
   control access to the database.
Matching Roles

 • Only the users who have the first role get the second role.
Exercise 7: Matching Roles

 • We may not want all users to be able to access all the data
   on entering the application. Demonstrate how matching
   roles can be assigned to selected users.
Granular Security in the SMP
Granular Security in the SMP
Exercise 8: Granular Security in the SMP

 • Demonstrate the new granular security in the System
   Management Portal
Auditing
Why Audit?

 • Allows monitoring of system
 • Deterrent
What events are audited?

 • System defined events
 • User defined events
Where is it kept?

 • Audit data is stored in a database called CACHEAUDIT.
 • Protected by the %DB_CACHEAUDIT resource.
    – No user should have access to this resource directly.
 • View via SMP, terminal utilities, SQL, APIs, etc.
Exercise 9: Viewing the Audit Log

 • We demonstrate using the audit log to see what has
   happened on the system.
What’s in an audit record?
Join the Global Summit Community

 We’ve established an online community where you can:

    •   talk about the Global Summit
    •   get helpful product information
    •   share your thoughts about sessions
    •   ask questions of presenters
    •   assemble a group to meet for dinner or social events,
        etc.

            community.intersystems.com
Questions?
Ad

More Related Content

What's hot (20)

2009 - NRW Conf: (ASP).NET Membership
2009 - NRW Conf: (ASP).NET Membership2009 - NRW Conf: (ASP).NET Membership
2009 - NRW Conf: (ASP).NET Membership
Daniel Fisher
 
Hive contributors meetup apache sentry
Hive contributors meetup   apache sentryHive contributors meetup   apache sentry
Hive contributors meetup apache sentry
Brock Noland
 
OpenStack Identity - Keystone (kilo) by Lorenzo Carnevale and Silvio Tavilla
OpenStack Identity - Keystone (kilo) by Lorenzo Carnevale and Silvio TavillaOpenStack Identity - Keystone (kilo) by Lorenzo Carnevale and Silvio Tavilla
OpenStack Identity - Keystone (kilo) by Lorenzo Carnevale and Silvio Tavilla
Lorenzo Carnevale
 
Deep Dive into Keystone Tokens and Lessons Learned
Deep Dive into Keystone Tokens and Lessons LearnedDeep Dive into Keystone Tokens and Lessons Learned
Deep Dive into Keystone Tokens and Lessons Learned
Priti Desai
 
SQL Server Security - Attack
SQL Server Security - Attack SQL Server Security - Attack
SQL Server Security - Attack
webhostingguy
 
OpenStack Identity - Keystone (liberty) by Lorenzo Carnevale and Silvio Tavilla
OpenStack Identity - Keystone (liberty) by Lorenzo Carnevale and Silvio TavillaOpenStack Identity - Keystone (liberty) by Lorenzo Carnevale and Silvio Tavilla
OpenStack Identity - Keystone (liberty) by Lorenzo Carnevale and Silvio Tavilla
Lorenzo Carnevale
 
A Novel methodology for handling Document Level Security in Search Based Appl...
A Novel methodology for handling Document Level Security in Search Based Appl...A Novel methodology for handling Document Level Security in Search Based Appl...
A Novel methodology for handling Document Level Security in Search Based Appl...
lucenerevolution
 
CIS 2015- Building IAM for OpenStack- Steve Martinelli
CIS 2015- Building IAM for OpenStack- Steve MartinelliCIS 2015- Building IAM for OpenStack- Steve Martinelli
CIS 2015- Building IAM for OpenStack- Steve Martinelli
CloudIDSummit
 
Ad ds ws2008 r2
Ad ds ws2008 r2Ad ds ws2008 r2
Ad ds ws2008 r2
MICTT Palma
 
Building IAM for OpenStack
Building IAM for OpenStackBuilding IAM for OpenStack
Building IAM for OpenStack
Steve Martinelli
 
Advanced Java
Advanced JavaAdvanced Java
Advanced Java
Hossein Mobasher
 
WebLogic for DBAs
WebLogic for DBAsWebLogic for DBAs
WebLogic for DBAs
Simon Haslam
 
Websphere - Introduction to SSL part 1
Websphere  - Introduction to SSL part 1Websphere  - Introduction to SSL part 1
Websphere - Introduction to SSL part 1
Vibrant Technologies & Computers
 
Active directory ds ws2008 r2
Active directory ds ws2008 r2Active directory ds ws2008 r2
Active directory ds ws2008 r2
MICTT Palma
 
Design Practices for a Secure Azure Solution
Design Practices for a Secure Azure SolutionDesign Practices for a Secure Azure Solution
Design Practices for a Secure Azure Solution
Michele Leroux Bustamante
 
Security_of_openstack_keystone
Security_of_openstack_keystoneSecurity_of_openstack_keystone
Security_of_openstack_keystone
UT, San Antonio
 
Self-Service x Hashicorp Vault
Self-Service x Hashicorp VaultSelf-Service x Hashicorp Vault
Self-Service x Hashicorp Vault
Martin Conraux
 
Writing simple web services in java using eclipse editor
Writing simple web services in java using eclipse editorWriting simple web services in java using eclipse editor
Writing simple web services in java using eclipse editor
Santosh Kumar Kar
 
Active Directory
Active DirectoryActive Directory
Active Directory
rainrjcahili
 
Mixing OAuth 2.0, Jersey and Guice to Build an Ecosystem of Apps - JavaOne...
Mixing OAuth 2.0, Jersey and Guice to Build an Ecosystem of Apps - JavaOne...Mixing OAuth 2.0, Jersey and Guice to Build an Ecosystem of Apps - JavaOne...
Mixing OAuth 2.0, Jersey and Guice to Build an Ecosystem of Apps - JavaOne...
Hermann Burgmeier
 
2009 - NRW Conf: (ASP).NET Membership
2009 - NRW Conf: (ASP).NET Membership2009 - NRW Conf: (ASP).NET Membership
2009 - NRW Conf: (ASP).NET Membership
Daniel Fisher
 
Hive contributors meetup apache sentry
Hive contributors meetup   apache sentryHive contributors meetup   apache sentry
Hive contributors meetup apache sentry
Brock Noland
 
OpenStack Identity - Keystone (kilo) by Lorenzo Carnevale and Silvio Tavilla
OpenStack Identity - Keystone (kilo) by Lorenzo Carnevale and Silvio TavillaOpenStack Identity - Keystone (kilo) by Lorenzo Carnevale and Silvio Tavilla
OpenStack Identity - Keystone (kilo) by Lorenzo Carnevale and Silvio Tavilla
Lorenzo Carnevale
 
Deep Dive into Keystone Tokens and Lessons Learned
Deep Dive into Keystone Tokens and Lessons LearnedDeep Dive into Keystone Tokens and Lessons Learned
Deep Dive into Keystone Tokens and Lessons Learned
Priti Desai
 
SQL Server Security - Attack
SQL Server Security - Attack SQL Server Security - Attack
SQL Server Security - Attack
webhostingguy
 
OpenStack Identity - Keystone (liberty) by Lorenzo Carnevale and Silvio Tavilla
OpenStack Identity - Keystone (liberty) by Lorenzo Carnevale and Silvio TavillaOpenStack Identity - Keystone (liberty) by Lorenzo Carnevale and Silvio Tavilla
OpenStack Identity - Keystone (liberty) by Lorenzo Carnevale and Silvio Tavilla
Lorenzo Carnevale
 
A Novel methodology for handling Document Level Security in Search Based Appl...
A Novel methodology for handling Document Level Security in Search Based Appl...A Novel methodology for handling Document Level Security in Search Based Appl...
A Novel methodology for handling Document Level Security in Search Based Appl...
lucenerevolution
 
CIS 2015- Building IAM for OpenStack- Steve Martinelli
CIS 2015- Building IAM for OpenStack- Steve MartinelliCIS 2015- Building IAM for OpenStack- Steve Martinelli
CIS 2015- Building IAM for OpenStack- Steve Martinelli
CloudIDSummit
 
Building IAM for OpenStack
Building IAM for OpenStackBuilding IAM for OpenStack
Building IAM for OpenStack
Steve Martinelli
 
Active directory ds ws2008 r2
Active directory ds ws2008 r2Active directory ds ws2008 r2
Active directory ds ws2008 r2
MICTT Palma
 
Design Practices for a Secure Azure Solution
Design Practices for a Secure Azure SolutionDesign Practices for a Secure Azure Solution
Design Practices for a Secure Azure Solution
Michele Leroux Bustamante
 
Security_of_openstack_keystone
Security_of_openstack_keystoneSecurity_of_openstack_keystone
Security_of_openstack_keystone
UT, San Antonio
 
Self-Service x Hashicorp Vault
Self-Service x Hashicorp VaultSelf-Service x Hashicorp Vault
Self-Service x Hashicorp Vault
Martin Conraux
 
Writing simple web services in java using eclipse editor
Writing simple web services in java using eclipse editorWriting simple web services in java using eclipse editor
Writing simple web services in java using eclipse editor
Santosh Kumar Kar
 
Mixing OAuth 2.0, Jersey and Guice to Build an Ecosystem of Apps - JavaOne...
Mixing OAuth 2.0, Jersey and Guice to Build an Ecosystem of Apps - JavaOne...Mixing OAuth 2.0, Jersey and Guice to Build an Ecosystem of Apps - JavaOne...
Mixing OAuth 2.0, Jersey and Guice to Build an Ecosystem of Apps - JavaOne...
Hermann Burgmeier
 

Similar to Cache Security- The Basics (20)

Aws security best practices
Aws security best practicesAws security best practices
Aws security best practices
Sundeep Roxx
 
Aws iam best practices to live by
Aws iam best practices to live byAws iam best practices to live by
Aws iam best practices to live by
John Varghese
 
Jericho Project Overview
Jericho Project OverviewJericho Project Overview
Jericho Project Overview
Jaco Koekemoer
 
Multi_Cloud_Storage_Presentation.presentation.
Multi_Cloud_Storage_Presentation.presentation.Multi_Cloud_Storage_Presentation.presentation.
Multi_Cloud_Storage_Presentation.presentation.
kalyanchanduneelam
 
Chapter 7
Chapter 7Chapter 7
Chapter 7
Seth Nurul
 
Federated Authentication in a Campus System
Federated Authentication in a Campus SystemFederated Authentication in a Campus System
Federated Authentication in a Campus System
Matthew Hanlon
 
Decentralized cloud firewall framework with resources provisioning cost optim...
Decentralized cloud firewall framework with resources provisioning cost optim...Decentralized cloud firewall framework with resources provisioning cost optim...
Decentralized cloud firewall framework with resources provisioning cost optim...
aish006
 
session and cookies.ppt
session and cookies.pptsession and cookies.ppt
session and cookies.ppt
Jayaprasanna4
 
Security for cloud native workloads
Security for cloud native workloadsSecurity for cloud native workloads
Security for cloud native workloads
Runcy Oommen
 
Wellington MuleSoft Meetup 2021-02-18
Wellington MuleSoft Meetup 2021-02-18Wellington MuleSoft Meetup 2021-02-18
Wellington MuleSoft Meetup 2021-02-18
Mary Joy Sabal
 
zopyx-fastapi-auth - authentication and authorization for FastAPI
zopyx-fastapi-auth - authentication and authorization for FastAPIzopyx-fastapi-auth - authentication and authorization for FastAPI
zopyx-fastapi-auth - authentication and authorization for FastAPI
info892422
 
zopyx-fastapi-auth - authentication and authorization for FastAPI
zopyx-fastapi-auth - authentication and authorization for FastAPIzopyx-fastapi-auth - authentication and authorization for FastAPI
zopyx-fastapi-auth - authentication and authorization for FastAPI
Andreas Jung
 
REST Api Tips and Tricks
REST Api Tips and TricksREST Api Tips and Tricks
REST Api Tips and Tricks
Maksym Bruner
 
iOS Application Penetration Testing for Beginners
iOS Application Penetration Testing for BeginnersiOS Application Penetration Testing for Beginners
iOS Application Penetration Testing for Beginners
RyanISI
 
Geek Sync | Handling HIPAA Compliance with Your Data Access
Geek Sync | Handling HIPAA Compliance with Your Data AccessGeek Sync | Handling HIPAA Compliance with Your Data Access
Geek Sync | Handling HIPAA Compliance with Your Data Access
IDERA Software
 
Hybrid Cloud Approach for Secure Authorized Deduplication
Hybrid Cloud Approach for Secure Authorized DeduplicationHybrid Cloud Approach for Secure Authorized Deduplication
Hybrid Cloud Approach for Secure Authorized Deduplication
Prem Rao
 
EVOLVE'13 | Enhance | Permission Sensitive Caching | Paul McMahon & Jason Rap...
EVOLVE'13 | Enhance | Permission Sensitive Caching | Paul McMahon & Jason Rap...EVOLVE'13 | Enhance | Permission Sensitive Caching | Paul McMahon & Jason Rap...
EVOLVE'13 | Enhance | Permission Sensitive Caching | Paul McMahon & Jason Rap...
Evolve The Adobe Digital Marketing Community
 
Geek Sync | Deployment and Management of Complex Azure Environments
Geek Sync | Deployment and Management of Complex Azure EnvironmentsGeek Sync | Deployment and Management of Complex Azure Environments
Geek Sync | Deployment and Management of Complex Azure Environments
IDERA Software
 
Securing Applications in the Cloud
Securing Applications in the CloudSecuring Applications in the Cloud
Securing Applications in the Cloud
Security Innovation
 
apex security demo.ppsx
apex security demo.ppsxapex security demo.ppsx
apex security demo.ppsx
siavosh kaviani
 
Aws security best practices
Aws security best practicesAws security best practices
Aws security best practices
Sundeep Roxx
 
Aws iam best practices to live by
Aws iam best practices to live byAws iam best practices to live by
Aws iam best practices to live by
John Varghese
 
Jericho Project Overview
Jericho Project OverviewJericho Project Overview
Jericho Project Overview
Jaco Koekemoer
 
Multi_Cloud_Storage_Presentation.presentation.
Multi_Cloud_Storage_Presentation.presentation.Multi_Cloud_Storage_Presentation.presentation.
Multi_Cloud_Storage_Presentation.presentation.
kalyanchanduneelam
 
Federated Authentication in a Campus System
Federated Authentication in a Campus SystemFederated Authentication in a Campus System
Federated Authentication in a Campus System
Matthew Hanlon
 
Decentralized cloud firewall framework with resources provisioning cost optim...
Decentralized cloud firewall framework with resources provisioning cost optim...Decentralized cloud firewall framework with resources provisioning cost optim...
Decentralized cloud firewall framework with resources provisioning cost optim...
aish006
 
session and cookies.ppt
session and cookies.pptsession and cookies.ppt
session and cookies.ppt
Jayaprasanna4
 
Security for cloud native workloads
Security for cloud native workloadsSecurity for cloud native workloads
Security for cloud native workloads
Runcy Oommen
 
Wellington MuleSoft Meetup 2021-02-18
Wellington MuleSoft Meetup 2021-02-18Wellington MuleSoft Meetup 2021-02-18
Wellington MuleSoft Meetup 2021-02-18
Mary Joy Sabal
 
zopyx-fastapi-auth - authentication and authorization for FastAPI
zopyx-fastapi-auth - authentication and authorization for FastAPIzopyx-fastapi-auth - authentication and authorization for FastAPI
zopyx-fastapi-auth - authentication and authorization for FastAPI
info892422
 
zopyx-fastapi-auth - authentication and authorization for FastAPI
zopyx-fastapi-auth - authentication and authorization for FastAPIzopyx-fastapi-auth - authentication and authorization for FastAPI
zopyx-fastapi-auth - authentication and authorization for FastAPI
Andreas Jung
 
REST Api Tips and Tricks
REST Api Tips and TricksREST Api Tips and Tricks
REST Api Tips and Tricks
Maksym Bruner
 
iOS Application Penetration Testing for Beginners
iOS Application Penetration Testing for BeginnersiOS Application Penetration Testing for Beginners
iOS Application Penetration Testing for Beginners
RyanISI
 
Geek Sync | Handling HIPAA Compliance with Your Data Access
Geek Sync | Handling HIPAA Compliance with Your Data AccessGeek Sync | Handling HIPAA Compliance with Your Data Access
Geek Sync | Handling HIPAA Compliance with Your Data Access
IDERA Software
 
Hybrid Cloud Approach for Secure Authorized Deduplication
Hybrid Cloud Approach for Secure Authorized DeduplicationHybrid Cloud Approach for Secure Authorized Deduplication
Hybrid Cloud Approach for Secure Authorized Deduplication
Prem Rao
 
Geek Sync | Deployment and Management of Complex Azure Environments
Geek Sync | Deployment and Management of Complex Azure EnvironmentsGeek Sync | Deployment and Management of Complex Azure Environments
Geek Sync | Deployment and Management of Complex Azure Environments
IDERA Software
 
Securing Applications in the Cloud
Securing Applications in the CloudSecuring Applications in the Cloud
Securing Applications in the Cloud
Security Innovation
 
Ad

Recently uploaded (20)

Kit-Works Team Study_아직도 Dockefile.pdf_김성호
Kit-Works Team Study_아직도 Dockefile.pdf_김성호Kit-Works Team Study_아직도 Dockefile.pdf_김성호
Kit-Works Team Study_아직도 Dockefile.pdf_김성호
Wonjun Hwang
 
Agentic Automation - Delhi UiPath Community Meetup
Agentic Automation - Delhi UiPath Community MeetupAgentic Automation - Delhi UiPath Community Meetup
Agentic Automation - Delhi UiPath Community Meetup
Manoj Batra (1600 + Connections)
 
Design pattern talk by Kaya Weers - 2025 (v2)
Design pattern talk by Kaya Weers - 2025 (v2)Design pattern talk by Kaya Weers - 2025 (v2)
Design pattern talk by Kaya Weers - 2025 (v2)
Kaya Weers
 
Reimagine How You and Your Team Work with Microsoft 365 Copilot.pptx
Reimagine How You and Your Team Work with Microsoft 365 Copilot.pptxReimagine How You and Your Team Work with Microsoft 365 Copilot.pptx
Reimagine How You and Your Team Work with Microsoft 365 Copilot.pptx
John Moore
 
Integrating FME with Python: Tips, Demos, and Best Practices for Powerful Aut...
Integrating FME with Python: Tips, Demos, and Best Practices for Powerful Aut...Integrating FME with Python: Tips, Demos, and Best Practices for Powerful Aut...
Integrating FME with Python: Tips, Demos, and Best Practices for Powerful Aut...
Safe Software
 
AI Agents at Work: UiPath, Maestro & the Future of Documents
AI Agents at Work: UiPath, Maestro & the Future of DocumentsAI Agents at Work: UiPath, Maestro & the Future of Documents
AI Agents at Work: UiPath, Maestro & the Future of Documents
UiPathCommunity
 
How to Install & Activate ListGrabber - eGrabber
How to Install & Activate ListGrabber - eGrabberHow to Install & Activate ListGrabber - eGrabber
How to Install & Activate ListGrabber - eGrabber
eGrabber
 
Dark Dynamism: drones, dark factories and deurbanization
Dark Dynamism: drones, dark factories and deurbanizationDark Dynamism: drones, dark factories and deurbanization
Dark Dynamism: drones, dark factories and deurbanization
Jakub Šimek
 
Cybersecurity Threat Vectors and Mitigation
Cybersecurity Threat Vectors and MitigationCybersecurity Threat Vectors and Mitigation
Cybersecurity Threat Vectors and Mitigation
VICTOR MAESTRE RAMIREZ
 
Unlocking Generative AI in your Web Apps
Unlocking Generative AI in your Web AppsUnlocking Generative AI in your Web Apps
Unlocking Generative AI in your Web Apps
Maximiliano Firtman
 
Kit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdf
Kit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdfKit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdf
Kit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdf
Wonjun Hwang
 
UiPath Automation Suite – Cas d'usage d'une NGO internationale basée à Genève
UiPath Automation Suite – Cas d'usage d'une NGO internationale basée à GenèveUiPath Automation Suite – Cas d'usage d'une NGO internationale basée à Genève
UiPath Automation Suite – Cas d'usage d'une NGO internationale basée à Genève
UiPathCommunity
 
Build With AI - In Person Session Slides.pdf
Build With AI - In Person Session Slides.pdfBuild With AI - In Person Session Slides.pdf
Build With AI - In Person Session Slides.pdf
Google Developer Group - Harare
 
Everything You Need to Know About Agentforce? (Put AI Agents to Work)
Everything You Need to Know About Agentforce? (Put AI Agents to Work)Everything You Need to Know About Agentforce? (Put AI Agents to Work)
Everything You Need to Know About Agentforce? (Put AI Agents to Work)
Cyntexa
 
Could Virtual Threads cast away the usage of Kotlin Coroutines - DevoxxUK2025
Could Virtual Threads cast away the usage of Kotlin Coroutines - DevoxxUK2025Could Virtual Threads cast away the usage of Kotlin Coroutines - DevoxxUK2025
Could Virtual Threads cast away the usage of Kotlin Coroutines - DevoxxUK2025
João Esperancinha
 
Building the Customer Identity Community, Together.pdf
Building the Customer Identity Community, Together.pdfBuilding the Customer Identity Community, Together.pdf
Building the Customer Identity Community, Together.pdf
Cheryl Hung
 
Crazy Incentives and How They Kill Security. How Do You Turn the Wheel?
Crazy Incentives and How They Kill Security. How Do You Turn the Wheel?Crazy Incentives and How They Kill Security. How Do You Turn the Wheel?
Crazy Incentives and How They Kill Security. How Do You Turn the Wheel?
Christian Folini
 
Optima Cyber - Maritime Cyber Security - MSSP Services - Manolis Sfakianakis ...
Optima Cyber - Maritime Cyber Security - MSSP Services - Manolis Sfakianakis ...Optima Cyber - Maritime Cyber Security - MSSP Services - Manolis Sfakianakis ...
Optima Cyber - Maritime Cyber Security - MSSP Services - Manolis Sfakianakis ...
Mike Mingos
 
Shoehorning dependency injection into a FP language, what does it take?
Shoehorning dependency injection into a FP language, what does it take?Shoehorning dependency injection into a FP language, what does it take?
Shoehorning dependency injection into a FP language, what does it take?
Eric Torreborre
 
Limecraft Webinar - 2025.3 release, featuring Content Delivery, Graphic Conte...
Limecraft Webinar - 2025.3 release, featuring Content Delivery, Graphic Conte...Limecraft Webinar - 2025.3 release, featuring Content Delivery, Graphic Conte...
Limecraft Webinar - 2025.3 release, featuring Content Delivery, Graphic Conte...
Maarten Verwaest
 
Kit-Works Team Study_아직도 Dockefile.pdf_김성호
Kit-Works Team Study_아직도 Dockefile.pdf_김성호Kit-Works Team Study_아직도 Dockefile.pdf_김성호
Kit-Works Team Study_아직도 Dockefile.pdf_김성호
Wonjun Hwang
 
Design pattern talk by Kaya Weers - 2025 (v2)
Design pattern talk by Kaya Weers - 2025 (v2)Design pattern talk by Kaya Weers - 2025 (v2)
Design pattern talk by Kaya Weers - 2025 (v2)
Kaya Weers
 
Reimagine How You and Your Team Work with Microsoft 365 Copilot.pptx
Reimagine How You and Your Team Work with Microsoft 365 Copilot.pptxReimagine How You and Your Team Work with Microsoft 365 Copilot.pptx
Reimagine How You and Your Team Work with Microsoft 365 Copilot.pptx
John Moore
 
Integrating FME with Python: Tips, Demos, and Best Practices for Powerful Aut...
Integrating FME with Python: Tips, Demos, and Best Practices for Powerful Aut...Integrating FME with Python: Tips, Demos, and Best Practices for Powerful Aut...
Integrating FME with Python: Tips, Demos, and Best Practices for Powerful Aut...
Safe Software
 
AI Agents at Work: UiPath, Maestro & the Future of Documents
AI Agents at Work: UiPath, Maestro & the Future of DocumentsAI Agents at Work: UiPath, Maestro & the Future of Documents
AI Agents at Work: UiPath, Maestro & the Future of Documents
UiPathCommunity
 
How to Install & Activate ListGrabber - eGrabber
How to Install & Activate ListGrabber - eGrabberHow to Install & Activate ListGrabber - eGrabber
How to Install & Activate ListGrabber - eGrabber
eGrabber
 
Dark Dynamism: drones, dark factories and deurbanization
Dark Dynamism: drones, dark factories and deurbanizationDark Dynamism: drones, dark factories and deurbanization
Dark Dynamism: drones, dark factories and deurbanization
Jakub Šimek
 
Cybersecurity Threat Vectors and Mitigation
Cybersecurity Threat Vectors and MitigationCybersecurity Threat Vectors and Mitigation
Cybersecurity Threat Vectors and Mitigation
VICTOR MAESTRE RAMIREZ
 
Unlocking Generative AI in your Web Apps
Unlocking Generative AI in your Web AppsUnlocking Generative AI in your Web Apps
Unlocking Generative AI in your Web Apps
Maximiliano Firtman
 
Kit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdf
Kit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdfKit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdf
Kit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdf
Wonjun Hwang
 
UiPath Automation Suite – Cas d'usage d'une NGO internationale basée à Genève
UiPath Automation Suite – Cas d'usage d'une NGO internationale basée à GenèveUiPath Automation Suite – Cas d'usage d'une NGO internationale basée à Genève
UiPath Automation Suite – Cas d'usage d'une NGO internationale basée à Genève
UiPathCommunity
 
Everything You Need to Know About Agentforce? (Put AI Agents to Work)
Everything You Need to Know About Agentforce? (Put AI Agents to Work)Everything You Need to Know About Agentforce? (Put AI Agents to Work)
Everything You Need to Know About Agentforce? (Put AI Agents to Work)
Cyntexa
 
Could Virtual Threads cast away the usage of Kotlin Coroutines - DevoxxUK2025
Could Virtual Threads cast away the usage of Kotlin Coroutines - DevoxxUK2025Could Virtual Threads cast away the usage of Kotlin Coroutines - DevoxxUK2025
Could Virtual Threads cast away the usage of Kotlin Coroutines - DevoxxUK2025
João Esperancinha
 
Building the Customer Identity Community, Together.pdf
Building the Customer Identity Community, Together.pdfBuilding the Customer Identity Community, Together.pdf
Building the Customer Identity Community, Together.pdf
Cheryl Hung
 
Crazy Incentives and How They Kill Security. How Do You Turn the Wheel?
Crazy Incentives and How They Kill Security. How Do You Turn the Wheel?Crazy Incentives and How They Kill Security. How Do You Turn the Wheel?
Crazy Incentives and How They Kill Security. How Do You Turn the Wheel?
Christian Folini
 
Optima Cyber - Maritime Cyber Security - MSSP Services - Manolis Sfakianakis ...
Optima Cyber - Maritime Cyber Security - MSSP Services - Manolis Sfakianakis ...Optima Cyber - Maritime Cyber Security - MSSP Services - Manolis Sfakianakis ...
Optima Cyber - Maritime Cyber Security - MSSP Services - Manolis Sfakianakis ...
Mike Mingos
 
Shoehorning dependency injection into a FP language, what does it take?
Shoehorning dependency injection into a FP language, what does it take?Shoehorning dependency injection into a FP language, what does it take?
Shoehorning dependency injection into a FP language, what does it take?
Eric Torreborre
 
Limecraft Webinar - 2025.3 release, featuring Content Delivery, Graphic Conte...
Limecraft Webinar - 2025.3 release, featuring Content Delivery, Graphic Conte...Limecraft Webinar - 2025.3 release, featuring Content Delivery, Graphic Conte...
Limecraft Webinar - 2025.3 release, featuring Content Delivery, Graphic Conte...
Maarten Verwaest
 
Ad

Cache Security- The Basics

  • 1. Cache Security 1 Katherine Reid, Mike Moulckers
  • 2. Goals • Understand Cache security model • How to apply it to a simple web application
  • 3. Academy Agenda • Introduction • Authentication • Authorization • Auditing
  • 4. Configuration Details • Username and Password: – User: Admin – Password: academy
  • 6. Security Components 1. Authentication 2. Authorization 3. Auditing
  • 7. Security Configuration At Install • Determines the initial configuration Minimal settings for Caché Services and Security Normal • Changes: Locked Down – System-wide settings – User accounts – Service properties
  • 8. System Management Portal • Portal redesigned for 2011.1 – Granular security
  • 10. Exercise 1: Password Validation • Test password validation and explore examples of what it can be used for.
  • 12. Exercise 2: Creating a User • Create a user to use in the Inventory application.
  • 15. Authentication What is authentication?
  • 16. Authentication Methods • Unauthenticated • Password • Operating System • LDAP • Delegated Authentication • Kerberos
  • 17. Unauthenticated • No username or password required. • Always logged in as ‘UnknownUser’.
  • 18. Cache Password Authentication • Simple • Easy to set up for a single instance • User data stored in local instance
  • 19. OS Authentication • User identified to Caché by OS user identity • User authenticates to the OS using the native mechanism • Only available for server-side processes – Terminal
  • 20. LDAP • Already in use at many sites. • Allows centralized user storage.
  • 21. Delegated • User-defined authentication mechanism • Re-use existing custom/legacy authentication code for new, modern applications. • Code is in the ZAUTHENTICATE routine. • The authentication code can be any user-defined: • Caché ObjectScript • Embedded SQL • Class Method(s) • $ZF callout code.
  • 22. Kerberos • Most secure authentication type. • Used by Windows. • Requires a Kerberos Domain Controller – eg, Windows Domain Controller
  • 26. Exercise 3: Authentication Types • Change the authentication types allowed in the Inventory application to make users have to provide a username and password to log in.
  • 28. Authorization What is authorization?
  • 29. Terminology • Asset: something that is protected: – A Caché database – Caché SQL connection – Ability to perform a backup
  • 30. Terminology • Resource: something which protects an asset: – Database Resource (i.e. %DB_Samples) – Administrative Resource (i.e. %Admin_Manage) – Development Resource (i.e. %Development) – Service Resource (i.e. %Service_CSP) – User Defined
  • 31. Terminology • Permission: allows you to perform an action – Read (R): View (but not change) the contents of a resource – Write (W): View or change the contents of a resource – Use (U): Use a resource, such as an Application or Service
  • 32. Terminology • Privilege: grants permission to do something with a resource protecting one or more assets – A privilege is written as a resource name followed by a permission separated by a colon: Example: %DB_SAMPLES:Read
  • 33. More about Privileges… • Privileges can be made Public. • Effectively, this is equivalent to all users holding that privilege – Example: if the %Service_CacheDirect:Use privilege is Public, then any user can connect to Caché using the Caché Direct technology • Caché provides a function to check on privileges held by the current process: – $SYSTEM.Security.Check(Resource,Permission)
  • 34. Exercise 4: Public Resource • We've decided that all authenticated users of our system should be allowed to run this application. We will make the database which holds the code publicly readable so that everyone can run it.
  • 35. Roles • Role: a named collection of privileges – Multiple users typically need the same set of privileges. – Sets of privileges can be defined once and shared. – Privileges are only assigned to roles. – Privileges are not assigned directly to users. – A user can have more than one role.
  • 36. Exercise 5: Roles and Resources • We will add code to our Inventory application to individually control access to the functions in the application, and create roles and resources to allow users to access them
  • 37. Three ways to get Roles... • At user login • Granted by an application • Code stored in CACHESYS can set $Roles
  • 38. Application Roles • Everyone running the application gets application roles
  • 39. Exercise 6: Application Roles • Instead of having database access in the roles, we will have the application give this to users. The application will control access to the database.
  • 40. Matching Roles • Only the users who have the first role get the second role.
  • 41. Exercise 7: Matching Roles • We may not want all users to be able to access all the data on entering the application. Demonstrate how matching roles can be assigned to selected users.
  • 44. Exercise 8: Granular Security in the SMP • Demonstrate the new granular security in the System Management Portal
  • 46. Why Audit? • Allows monitoring of system • Deterrent
  • 47. What events are audited? • System defined events • User defined events
  • 48. Where is it kept? • Audit data is stored in a database called CACHEAUDIT. • Protected by the %DB_CACHEAUDIT resource. – No user should have access to this resource directly. • View via SMP, terminal utilities, SQL, APIs, etc.
  • 49. Exercise 9: Viewing the Audit Log • We demonstrate using the audit log to see what has happened on the system.
  • 50. What’s in an audit record?
  • 51. Join the Global Summit Community We’ve established an online community where you can: • talk about the Global Summit • get helpful product information • share your thoughts about sessions • ask questions of presenters • assemble a group to meet for dinner or social events, etc. community.intersystems.com
  翻译: