US11720410B2 - Secure service isolation between instances of cloud products using a SaaS model - Google Patents
Secure service isolation between instances of cloud products using a SaaS model Download PDFInfo
- Publication number
- US11720410B2 US11720410B2 US17/550,916 US202117550916A US11720410B2 US 11720410 B2 US11720410 B2 US 11720410B2 US 202117550916 A US202117550916 A US 202117550916A US 11720410 B2 US11720410 B2 US 11720410B2
- Authority
- US
- United States
- Prior art keywords
- project
- saas
- application
- cloud
- service
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000002955 isolation Methods 0.000 title description 7
- 238000013475 authorization Methods 0.000 claims abstract description 16
- 230000008520 organization Effects 0.000 claims description 45
- 238000000034 method Methods 0.000 claims description 42
- 238000012423 maintenance Methods 0.000 claims description 21
- 238000004891 communication Methods 0.000 claims description 16
- 230000015654 memory Effects 0.000 claims description 11
- 239000011521 glass Substances 0.000 claims description 10
- 238000009434 installation Methods 0.000 claims 4
- 238000013523 data management Methods 0.000 claims 2
- 238000005516 engineering process Methods 0.000 abstract description 40
- 238000007726 management method Methods 0.000 description 89
- 238000010586 diagram Methods 0.000 description 18
- 230000009471 action Effects 0.000 description 11
- 238000012384 transportation and delivery Methods 0.000 description 10
- 230000036541 health Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 238000003491 array Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000002730 additional effect Effects 0.000 description 3
- 230000001010 compromised effect Effects 0.000 description 3
- 238000011084 recovery Methods 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 235000009499 Vanilla fragrans Nutrition 0.000 description 2
- 244000263375 Vanilla tahitensis Species 0.000 description 2
- 235000012036 Vanilla tahitensis Nutrition 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000001105 regulatory effect Effects 0.000 description 2
- 238000012550 audit Methods 0.000 description 1
- 238000003339 best practice Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000012517 data analytics Methods 0.000 description 1
- 238000013497 data interchange Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000010422 painting Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 239000000344 soap Substances 0.000 description 1
- 101150114085 soc-2 gene Proteins 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000012358 sourcing Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/468—Specific access rights for resources, e.g. using capability register
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
Definitions
- the technology disclosed relates generally to providing services to customers via a software as a service (SaaS) model in the cloud.
- SaaS software as a service
- the disclosed technology also relates to performing maintenance updates for the services without exposing data secured by the customer organization to the service provider.
- One disclosed implementation provides identity management services.
- the customer can also pull maintenance updates for the organization's identity management instance from the identity management service provider without exposing data secured by the customer organization to the service provider.
- FIG. 1 shows an architectural level schematic of a system for initializing an identity management instance using a SaaS model for a project implemented on a cloud-based computing service.
- FIG. 2 shows a simplified block diagram of identity cloud usable for initializing an instance using a SaaS model for a project implemented on cloud-based computing service.
- FIG. 3 shows a block diagram for implementing a product instance using a SaaS model for a project in cloud-based computing services.
- FIG. 4 shows a workflow diagram for initializing an identity management instance using a SaaS model for a project implemented on cloud-based computing services.
- FIG. 5 shows a flowchart of steps utilized for initializing an identity management instance using a SaaS model for a project implemented on cloud-based computing services.
- FIG. 6 shows a representative method of initializing an identity management instance using a SaaS model in a project implemented on a cloud-based computing service.
- FIG. 7 is a simplified block diagram of a computer system that can be used for initializing an identity management instance using a SaaS model in a project implemented on a cloud-based computing service, according to one embodiment of the disclosed technology.
- FIG. 8 shows an application cloud in an architectural level schematic of a system for initializing an application instance using a SaaS model for a project implemented on a cloud-based computing service.
- SaaS solutions offer many business applications, including office software for documents, presentations, worksheets, databases, charts, graphs, digital paintings, electronic music and digital video. Additional SaaS services include messaging software, payroll processing software, DBMS software, management software, CAD software, development software, gamification, virtualization, accounting, customer relationship management (CRM), Management Information Systems (MIS), enterprise resource planning (ERP), invoicing, human resource management (HRM), talent acquisition, learning management, content management (CM), Geographic Information Systems (GIS) and service desk management.
- CRM customer relationship management
- MIS Management Information Systems
- ERP enterprise resource planning
- HRM human resource management
- CM content management
- GIS Geographic Information Systems
- service desk management In one example, customers regularly create, edit and save files via Microsoft Office 365 and Google Apps, among others, in a cloud environment.
- the disclosed technology is implemented in a cloud service that offers identity and access management services as a SaaS model in the cloud.
- Every customer's identity management instance has the services it needs at hand, and the instance controls them, thus transforming the way organizations build trusted relationships.
- the disclosed technology includes pulling up the drawbridge before the customer's private data is accessible to even the identity and access management services, to secure the data of the customer's users.
- the customer environments' locus of control is internal. None outside the instance has administrative control over the instance.
- a bank may utilize identity and access management (IAM) while shielding the private data of each customer of the bank from the IAM provider as well as from other potential attackers.
- IAM identity and access management
- IAM Identity and access management
- FR-IDM identity management
- the disclosed security model could also support a cloud service that provides a different service, such as online games instead of identity and access management services.
- the disclosed identity cloud creates a new customer environment by deploying a vanilla cloud-based computing cluster project with the needed APIs enabled, and then launching a bootstrapper of the security infrastructure for the project configures the cloud-based identity and access management components and then launches a manager that tends to the health of the customer's identity management instance moving forward.
- This cloud-based digital identity management service addresses stringent regulations for privacy and consent, including General Data Protection Regulation (GDPR), Health Insurance Portability and Accountability Act of 1996 (HIPAA), Open Banking, etc. for storing data securely, as well as enabling the monetization of customer relationships.
- GDPR General Data Protection Regulation
- HIPAA Health Insurance Portability and Accountability Act of 1996
- Open Banking etc.
- the next section describes an architecture for initializing an identity management instance using a SaaS model, to run under sovereign control of a customer organization, and to be able to pull maintenance updates for the identity management instance from the service provider without exposing data secured by the customer organization to the service provider.
- FIG. 1 shows an architectural level schematic of a system 100 for initializing an identity management instance using a SaaS model for a project implemented on a cloud-based computing cluster. Because FIG. 1 is an architectural diagram, certain details are intentionally omitted to improve clarity of the description. The discussion of FIG. 1 is organized as follows. First, the elements of the figure are described, followed by their interconnections. Then, the use of the elements in the system are described in greater detail.
- System 100 includes organization network 102 , identity cloud 155 with cloud-based computing services 108 and public network 145 .
- System 100 can include multiple organization networks 104 for multiple organizations.
- Identity cloud 155 includes customer environments hosted on behalf of specific customers of a SaaS application. Each customer's environment interacts with an organization network 102 .
- Organization network 102 includes computers 112 a - n , tablets 122 a - n , cell phones 132 a - n and smart watches 142 a - n . In another organization network, organization users may utilize additional devices.
- Cloud-based computing services 108 includes API services 118 , web email services 128 , compute engines 138 , container services 148 and publish/subscribe messaging services 158 which support event-driven, asynchronous communication among decoupled applications, such as microservices and serverless architectures. Also includes is cloud-based storage service 168 . Cloud-based computing services 108 can include additional apps and services as well. Identity cloud 155 connects to organization network 102 and cloud-based computing services 108 via public network 145 .
- Identity cloud 155 is a multi-tenant service for customer identity and access management 156 that includes pre-configuration for building rich applications with integrated and secure registration, account recovery, and modern multifactor authentication.
- Identity and access management cloud services includes registration environment 165 for registering new users and creating new customer environments and managing the overall health of the services, and also includes customer A environment 174 through customer N environment 176 . Multiple different customers can have environments within a single identity cloud 155 . In another implementation, the setup can be different. Customer data is stored within the customer environment. It is not co-mingled with other customers' data and can be accessed only by the customer.
- system 100 can be used in the delivery of many kinds of services as cloud-based computing services 108 : point to point streaming services, hosted services, cloud applications, cloud stores, cloud collaboration and messaging platforms, and cloud customer relationship management (CRM) platforms.
- the services can include peer-to-peer file sharing (P2P) via protocols for portal traffic such as BitTorrent (BT), user data protocol (UDP) streaming and file transfer protocol (FTP); voice, video and messaging multimedia communication sessions such as instant message over Internet Protocol (IP) and mobile phone calling over LTE (VoLTE) via the Session Initiation Protocol (SIP) and Skype.
- P2P peer-to-peer file sharing
- IP instant message over Internet Protocol
- VoIP mobile phone calling over LTE
- SIP Session Initiation Protocol
- Skype Voice over Internet Protocol
- the services can handle Internet traffic, cloud application data, and generic routing encapsulation (GRE) data.
- GRE generic routing encapsulation
- a network service or application can be web-based (e.g., accessed via a uniform resource locator (URL)) or native, such as sync clients.
- Examples include software-as-a-service (SaaS) offerings, platform-as-a-service (PaaS) offerings, and infrastructure-as-a-service (IaaS) offerings, as well as internal enterprise applications that are exposed via URLs.
- Examples of common cloud-based services today include Salesforce.comTM BoxTM, DropboxTM, Google AppsTM, Amazon AWSTM, Microsoft Office365TM, WorkdayTM Oracle on DemandTM, TaleoTM, YammerTM JiveTM and ConcurTM.
- public network 145 couples computers 112 a - n , tablets 122 a - n , cell phones 132 a - n , smart watches 142 a - n , API services 118 , email services 128 , compute engines 138 , container services 148 with identity cloud 155 , publish/subscribe messaging services 158 and cloud-based storage service 168 in communication.
- the communication path can be point-to-point over public and/or private networks. Communication can occur over a variety of networks, e.g. private networks, VPN, MPLS circuit, or Internet, and can use appropriate application program interfaces (APIs) and data interchange formats, e.g.
- APIs application program interfaces
- the communications can be encrypted.
- This communication is generally over a network such as the LAN (local area network), WAN (wide area network), telephone network (Public Switched Telephone Network (PSTN), Session Initiation Protocol (SIP), wireless network, point-to-point network, star network, token ring network, hub network, Internet, inclusive of the mobile Internet, via protocols such as EDGE, 3G, 4G LTE, Wi-Fi, and WiMAX.
- PSTN Public Switched Telephone Network
- SIP Session Initiation Protocol
- wireless network point-to-point network
- star network star network
- token ring network token ring network
- hub network Internet, inclusive of the mobile Internet, via protocols such as EDGE, 3G, 4G LTE, Wi-Fi, and WiMAX.
- a variety of authorization and authentication techniques such as username/password, OAuth, Kerberos, SecureID, digital certificates, and more, can be used to secure the communications.
- identity cloud 155 includes monitor 184 and storage 186 which can include one or more computers and computer systems coupled in communication with one another.
- Customer environments can emit health related data to monitor 184 and storage 186 . They can also be one or more virtual computing and/or storage resources.
- Monitor 184 can be utilized to determine availability of customer environments and can include infrastructure level monitoring and basic application level metrics, as well as configuration controls for organization administrators of customers.
- monitor 184 can utilize one or more Google Compute engines or Amazon EC2 instances and storage 186 can be Google Cloud Platform datastore or Amazon S3TM storage.
- the engines or system components of FIG. 1 are implemented by software running on varying types of computing devices.
- Example devices are a workstation, a server, a computing cluster, a blade server, and a server farm, or any other data processing system or computing device.
- the engine can be communicably coupled to the databases via a different network connection.
- organization network 102 can be coupled via network(s) 145 (e.g., the Internet)
- identity cloud 155 can be coupled via a direct network link
- cloud-based computing services 108 can be coupled by yet a different network connection.
- Storage 186 can store information from one or more tenants into tables of a common database image to form an on-demand database service (ODDS), which can be implemented in many ways, such as a multi-tenant database system (MTDS).
- ODDS on-demand database service
- a database image can include one or more database objects.
- the databases can be relational database management systems (RDBMSs), object-oriented database management systems (OODBMSs), distributed file systems (DFS), no-schema database, or any other data storing systems or computing devices.
- the gathered metadata is processed and/or normalized.
- metadata includes structured data and functionality targets specific data constructs provided by cloud-based computing services 108 .
- Non-structured data such as free text
- Both structured and non-structured data are capable of being aggregated by identity cloud 155 .
- assembled metadata can be stored in a semi-structured data format like a JSON (JavaScript Option Notation), BSON (Binary JSON), XML, Protobuf, Avro or Thrift object, which consists of string fields (or columns) and corresponding values of potentially different types like numbers, strings, arrays, objects, etc.
- JSON objects can be nested and the fields can be multi-valued, e.g., arrays, nested arrays, etc., in other implementations.
- JSON objects can be stored in a schema-less or NoSQL key-value metadata store like Apache CassandraTM, Google's BigTableTM, HBaseTM, VoldemortTM, CouchDBTM, MongoDBTM RedisTM, RiakTM, Neo4jTM, etc.
- a schema-less or NoSQL key-value metadata store like Apache CassandraTM, Google's BigTableTM, HBaseTM, VoldemortTM, CouchDBTM, MongoDBTM RedisTM, RiakTM, Neo4jTM, etc.
- system 100 is described herein with reference to particular blocks, it is to be understood that the blocks are defined for convenience of description and are not intended to require a particular physical arrangement of component parts. Further, the blocks need not correspond to physically distinct components. To the extent that physically distinct components are used, connections between components can be wired and/or wireless as desired. The different elements or components can be combined into single software modules and multiple software modules can run on the same hardware.
- this technology can be implemented using two or more separate and distinct computer-implemented systems that cooperate and communicate with one another.
- This technology can be implemented in numerous ways, including as a process, a method, an apparatus, a system, a device, a computer readable medium such as a computer readable storage medium that stores computer readable instructions or computer program code, or as a computer program product comprising a computer usable medium having a computer readable program code embodied therein.
- the technology disclosed can be implemented in the context of any computer-implemented system including a database system or a relational database implementation like an OracleTM compatible database implementation, an IBM DB2 Enterprise ServerTM compatible relational database implementation, a MySQLTM or PostgreSQLTM compatible relational database implementation or a Microsoft SQL ServerTM compatible relational database implementation or a NoSQL non-relational database implementation such as a VampireTM compatible non-relational database implementation, an Apache CassandraTM compatible non-relational database implementation, a BigTableTM compatible non-relational database implementation or an HBaseTM or DynamoDBTM compatible non-relational database implementation.
- the technology disclosed can be implemented using different programming models like MapReduceTM, bulk synchronous programming, MPI primitives, etc.
- AWS Amazon Web Services
- Amazon Elasticsearch ServiceTM and Amazon KinesisTM Amazon Elasticsearch ServiceTM
- Amazon KinesisTM Apache StormTM Apache SparkTM
- Apache KafkaTM Apache KafkaTM
- Apache FlinkTM TruvisoTM
- IBM Info-SphereTM BorealisTM
- Yahoo! S4TM Amazon Web Services
- FIG. 2 shows a simplified block diagram 200 of identity cloud 155 usable for initializing an identity management instance using a SaaS model for a project implemented on cloud-based computing services 108 , with registration environment 165 and customer A environment 174 through customer N environment 176 .
- Identity cloud 155 utilizes a suite of cloud computing services, alongside a set of management tools, that provides a series of modular cloud services including computing, data storage and data analytics.
- identity cloud 155 is implemented using Google Cloud Platform (GCP) that provides infrastructure as a service, platform as a service, and serverless computing environments.
- GCP Google Cloud Platform
- GCP Platform is a part of Google Cloud, which includes the GCP public cloud infrastructure, as well as G Suite, enterprise versions of Android and Chrome OS, and application programming interfaces (APIs) for machine learning and enterprise mapping services.
- GCP provides encryption of data at rest. Data is encrypted when written to a hard drive and decrypted when read.
- identity cloud 155 could be implemented using Amazon Web Services (AWS) or Microsoft Azure Virtual Machines. While it is understood that identity cloud 155 could be implemented via an AWS or Azure VM platform, the following description of the disclosed technology utilizes a GCP cloud-based computing cluster for an identity management instance using a SaaS model.
- identity cloud 155 is hosted on GCP and deploys registration environment 165 which in turn deploys customer A environment 174 through customer N environment 176 as separate projects.
- the projects are implemented using Kubernetes (K8S), an open-source container-orchestration system for automating application deployment, scaling, and management.
- container services 148 can be implemented using a different technology such as virtual machines (VM) on compute engines.
- K8S works with container tools, including Docker, and provides a partitioning of the resources it manages into non-overlapping sets called namespaces.
- a Docker container running on a physical host is a lightweight self-contained environment sharing the host operating system, and with its own processor address space, memory address space and networking address space with network layer resources including IP addresses and transport layer resources including TCP port numbers.
- registration environment 165 includes internet-facing workloads 222 implemented in a distinct K8S namespace, with workloads 232 , 242 and 252 each as a separate Docker container.
- each namespace is a distinct trust zone.
- internal workloads 262 are implemented in a distinct K8S namespace; and workload 272 , 282 and 292 each utilize a separate container runtime, such as Docker or a ‘rkt’ container engine as a workload that implements the running application, libraries, and their dependencies.
- the scheduling unit for K8S is a pod for grouping containerized components, with a pod including one or more containers that can share resources. Each pod is assigned a unique Pod IP address within the cluster, which allows applications to use ports without the risk of conflict. Within the pod, containers can reference each other on localhost, and containers can use a reference to a service, which holds a reference to the target pod at the specific Pod IP address, to address another container within another pod. Continuing, a pod can define a volume, such as a local disk directory or a network disk and expose it to the containers in the pod. Pods can be managed manually through the Kubernetes API, or their management can be delegated to a controller.
- Such volumes include the basis for the K8S features of ‘ConfigMaps’ for providing access to configuration through the filesystem visible to the container, and ‘Secrets’ for providing access to credentials needed to access remote resources securely, by providing those credentials on the filesystem visible only to authorized containers.
- identity cloud 155 sets up trust zones to create a strong multi-layered defense against data breaches.
- each customer's environment comprises a dedicated trust zone that shares no code, data, or identities with other customers' environments.
- Customer A environment 174 includes internet-facing workloads 225 implemented in distinct K8S namespaces, with workload 235 , 245 and 255 each as a separate Docker container.
- internal workloads 265 are implemented in a distinct K8S namespace; and workload 275 , 285 and 295 each utilize a separate Docker container.
- customer N environment 176 includes internet-facing workloads 228 implemented in distinct K8S namespaces, with workload 238 , 248 and 258 each as a separate Docker container.
- workloads 268 are implemented in a distinct K8S namespace; and workload 278 , 288 and 298 each utilize a separate Docker container.
- Only service-dedicated user accounts can log into identity cloud 155 and each customer environment is self-sufficient and sovereign and cannot access resources in the other environments. Even these environments are additionally segmented. Workloads at greater risk, such as those that accept input from Internet-based clients, are isolated to protect those performing higher-privileged operations. Every workload is encapsulated as a dedicated, hardened Docker container.
- FIG. 3 shows a block diagram 300 for implementing an identity management instance using a SaaS model for a project in cloud-based computing services 108 .
- Cloud-based computing services 108 includes identity cloud 155 , client app 339 , customer website 349 and team member aka org admin user 398 .
- Identity cloud 155 includes registration environment 165 with configuration engine 322 aka SaaS worker, for setting up a GCP project using configuration parameters 342 that specify the customer's requirements.
- Registration environment 165 registers a customer environment 328 .
- Customer environment 328 includes SaaS infrastructure builder 376 aka bootstrapper, service delivery engine 386 aka org-engine and FR-IDM instance 338 with IDM 348 , AM 358 and data services 368 , which together provide a set of services for authenticating and authorizing a customer's users.
- instance 338 can provide a different service.
- client app 339 utilizes authentication and authorization services provided by FR-IDM instance 338 to customers.
- the identity management instance delivers the identity management services to end user apps visiting a customer's web site.
- the identity management instance delivers identity management services to a customer's web site that is in communication with the identity management instance running in the project.
- cloud-based computing services 108 can include multiple distinct customer environments 328 for multiple customers. Each customer's environment comprises a dedicated trust zone that shares no code, data, or identities with other customers' environments, as described earlier. In some cases, a customer environment 328 can include multiple FR-IDM instances 338 . For example, a large bank may choose to have a distinct identity management instance for each region of the country. Cloud-based computing services 108 also includes SaaS IDM maintenance updates 352 and customer user interface 396 for communication with team member aka org admin user 398 who can set configuration settings, etc. via customer user interface 396 .
- FIG. 4 shows a workflow diagram 400 for initializing an identity management instance using a SaaS model for a project implemented on cloud-based computing services.
- Message diagram 400 shows functionality and interactions of the blocks described relative to block diagram 300 .
- SaaS cluster configuration engine 322 aka SaaS worker requests a customer instance 410 and GCP 402 creates a customer environment 412 , launching a new vanilla GCP K8S project.
- SaaS worker does not provision security-critical resources, thus avoiding a potential point of compromise, through either inadvertently or through an attacker's direction, retaining sensitive information such service account credentials, decryption keys, and so forth.
- SaaS cluster configuration engine 322 launches bootstrapper 424 aka SaaS infrastructure builder 376 .
- SaaS infrastructure builder 376 pulls up the drawbridge after it is launched, removing access 434 of SaaS worker to the customer environment, effectively building a wall between SaaS cluster configuration engine 322 and the customer environment 328 .
- the premise is that if SaaS cluster configuration engine 322 were compromised at any time subsequent to the creation of the customer environment, if would be of no consequence to the existing customer environment.
- SaaS infrastructure builder 376 provisions security-critical resources, bootstrapping the security infrastructure of the K8S project.
- a TOML file is utilized to declare configuration parameters that define the customer organization to be used for deployment and state monitoring.
- TOML is a configuration file format that is intended to be easy to read and write due to obvious semantics.
- configuration parameters 342 can be specified using a different format.
- SaaS infrastructure builder 376 creates a dedicated K8S service account per namespace and grants it the needed K8S roles.
- SaaS infrastructure builder 376 also creates a dedicated GCP service account for each namespace and grants it the needed GCP roles. That is, each namespace has a dedicated K8s service account and a dedicated GCP service account, to create identity isolation. Even if a ‘bad guy’ compromised Namespace A and gained control over its K8s and GCP service accounts, neither would be valid in Namespace B, so it would be harder for the bad guy to extend the compromise.
- SaaS infrastructure builder 376 hardens customer environment 444 , creating network policies limiting traffic between namespaces, creating pod security policies governing the workloads and packaging environment credentials into a K8S secret, using industry-wide best practices.
- An example of these and other aspects of hardening a Kubernetes engine cluster are described in “Hardening your cluster's security” which is cited with this application and available at https://cloud.google.com/kubernetes-engine/docs/how-to/hardening-your-cluster.
- Hardening typically includes disabling attribute-based access control and instead using role-based access control; restricting traffic with a network policy; using least privilege service accounts for nodes; restricting client authentication methods; disabling authentication with a client certificate or static password; and protecting node metadata. Additional hardening steps can also be included in the hardening process. Because SaaS infrastructure builder 376 pulls up the drawbridge before provisioning instance 338 , SaaS cluster configuration engine 322 has no authorization to access, change or delete the customer project. That is, the disclosed technology isolates a customer's private data, to further secure the data of the customer's users.
- SaaS infrastructure builder 376 aka bootstrapper launches service delivery engine 446 aka org-engine which initializes the stack and remaining workloads, launches the FR-IDM instance 456 and manages service delivery, running under sovereign control of a customer organization.
- Instance 338 delivers identity management service to client app 468 .
- identity management service delivery is to a customer's website 349 .
- Service delivery engine 386 requests maintenance updates 476 from registration environment 165 which responds with maintenance updates 352 .
- maintenance updates are supplied from a Git repository.
- the maintenance updates can be supplied via a different delivery mechanism.
- Service delivery engine 386 updates customer environment 496 to instance 338 in customer environment 328 , which continues to deliver service 498 to client app 339 and to customer website 349 , accessing maintenance updates 352 for the authentication and authorization management FR-IDM instance 338 without exposing user data secured by the customer organization. Because the customer environment is sovereign, it reaches out on its own accord, retrieves the update, and installs it. No external agency has the power to force an update onto the customer environment, and this lack of access by outsiders protects the customer data.
- a “break glass” scenario is disclosed for the rare but foreseeable event in which a customer needs assistance accessing their users' data, such as a case in which a malfunction in the customer's environment, perhaps due to a bug, causes the customer environment to enter a permanently broken state, in which it cannot make updates to ‘unbreak’ itself.
- a second case in which the “break glass” scenario could be needed would be if a hacker altered the system and the customer cannot gain access due to malware, a “break-glass” scenario can be utilized to assist the customer.
- Escrowed project access credentials stored on a different platform than the cloud-based computing service, are available at a time when the customer organization requests support that requires access to the project and/or configuration parameters of the project. Project access credentials can also be escrowed offline.
- Access to the customer's FR-IDM instance requires at least two people collaborating to retrieve the credentials for the customer. Additionally, if the “break-glass” scenario for access is utilized, the service provider for SaaS identity management generates notices to the customer organization and a security administrator. These notices, which can be configured to register as alarms, propagate through the customer's system and through the identity cloud. These failsafe mechanisms provide protection for customers' user data while offering a solution to the dilemma posed when a customer is unable to access their user data.
- FIG. 5 shows a flowchart 500 of steps utilized for initializing an identity management instance using a SaaS model for a project implemented on cloud-based computing services.
- Step 515 includes creating a GCP project, enabling GCP services, creating a datastore and creating the Kubernetes.
- GCP services can include iam, compute, container DNS, sqladmin and appengine, and asynchronously checking for when the services enablement is complete.
- DNS registration is a service which allows the owner of a domain name to use their own name servers.
- Step 520 includes launching the GKE app, aka bootstrapper 376 .
- Step 525 includes pulling up the drawbridge; that is, the customer environment removes privileges to all accounts except those belonging to the customer environment.
- Step 535 which includes installing org engine 386 and FR-IDM 338 and waiting until FR-IDM 338 is ‘alive’ and then restarting the POD with AM 358 to use new settings.
- Step 545 includes signaling SaaS that the customer environment is ready.
- Step 555 includes sending an environment ready email with a one-time link to the customer's user.
- Step 565 includes the customer's user clicking on the link, entering their first name, last name and password and achieving login.
- Other implementations may perform the actions in different orders and/or with different, fewer or additional actions than those illustrated in FIG. 5 . Multiple actions can be combined in some implementations.
- FIG. 6 shows a representative method of initializing an identity management instance using a software as a service (SaaS) model in a project implemented on a cloud-based computing service.
- Flowchart 600 can be implemented at least partially with a computer or other data processing system; that is, by one or more processors configured to receive or retrieve information, process the information, store results, and transmit the results.
- Other implementations may perform the actions in different orders and/or with different, fewer or additional actions than those illustrated in FIG. 6 . Multiple actions can be combined in some implementations. For convenience, this flowchart is described with reference to a system which includes identity cloud 155 .
- FIG. 6 begins with action 615 running a SaaS cluster configuration engine that links a service provider for SaaS identity management to set configuration parameters for the project implemented on the cloud-based computing service and initializing the project in which an identity management instance will be built.
- Process 600 continues at action 625 with removing the authorization of the SaaS cluster configuration engine to access to the project, including removing access to set the configuration parameters.
- Action 635 includes running a SaaS identity management infrastructure builder autonomously, without the service provider having access to the builder, to build the identity management instance in the project.
- Action 645 includes delivering identity management services after the identity management instance is built.
- running a SaaS maintenance service under sovereign control of a customer organization, to pull from the service provider and to install in the project, maintenance updates for the identity management instance, without exposing data secured by the customer organization to the service provider.
- FIG. 8 shows an application cloud 855 in an architectural level schematic of a system 800 for initializing an application instance using a SaaS model for a project implemented on a cloud-based computing service. Similar to the architecture of system 100 shown in FIG. 1 , application cloud 855 is a service that hosts an application for use by multiple customers, which is implemented using container services 148 as indicated via the dotted lines. Application cloud 855 includes pre-configuration for building rich applications with integrated and secure registration, account recovery, and multifactor authentication.
- Application cloud 855 with application management 856 includes registration environment 865 for registering new consumer environments and managing the overall health of the services, and also includes consumer A environment 874 through consumer N environment 876 . Multiple different consumers can have environments within a single application cloud 855 . In another implementation, the setup can be different. Consumer data is stored within the customer environment. It is not co-mingled with other customers' data and can be accessed only by the customer.
- System 800 also includes organization network 102 and public network 145 .
- Organization network 102 includes computers 112 a - n , tablets 122 a - n , cell phones 132 a - n and smart watches 142 a - n .
- organization users may utilize additional devices.
- Cloud-based computing services 108 includes API services 118 , web email services 128 , compute engines 138 , container services 148 and publish/subscribe messaging services 158 which support event-driven, asynchronous communication among decoupled applications, such as microservices and serverless architectures. Also included is cloud-based storage service 168 .
- Cloud-based computing services 108 can include additional apps and services as well.
- Application cloud 855 connects to organization network 102 and cloud-based computing services 108 via public network 145 .
- Application cloud 855 with application management 856 includes initializing a secure application instance isolated from malicious code and interacting with a server, with the initializing managed using a SaaS model in a project deployed on a cloud-based computing service.
- HIPAA health insurance portability and accountability act
- the SaaS patient records portal instance for a first doctor is isolated from a distinct SaaS application instance utilized by a different doctor, so the records of patients stored for the first doctor are isolated from the patient records of other doctors. Even if another doctor's data gets breached, the data of the first doctor is not threatened by the breach due to isolation of the secure application instance, as described next.
- a SaaS cluster configuration engine links a service provider for SaaS service to set configuration parameters for the project implemented on the cloud-based computing service and initializes the project in which the secure application instance will be built, then removes authorization of the SaaS cluster configuration engine to access to the project, including removing access to set the configuration parameters.
- a SaaS service infrastructure builder autonomously, without the service provider having access to the builder, builds the secure application instance in the project, and after the secure application instance is built, delivers secure application services for interacting with the server.
- a SaaS maintenance service runs, under sovereign control of a customer organization, to pull from the service provider and to install in the project, maintenance updates for the secure application instance, without exposing data secured by the customer organization to the service provider.
- a major cost of data security compliance includes showing that one has complied with HIPAA and other laws.
- the disclosed technology offers a readily understandable conceptual model for separating the data of one doctor from the data of another doctor.
- the disclosed technology provides both strong protection for sensitive data and a comprehensible model for regulatory demonstration purposes. That is, to illustrate compliance with HIPAA laws to regulatory bodies, corporate boards and executive teams who scrutinize the customer applications that handle sensitive data, the disclosed technology for sovereign and isolated app instances enables ready illustration of the isolation between customer accounts. Customers who utilize the disclosed technology for deploying sovereign instances lessen the risk of cybersecurity threats related to data compromise of their users.
- a law firm can utilize a secure sovereign instance of a SaaS app in order to protect the intellectual property and trade secrets of clients of the firm, as described with the disclosed technology.
- Third party vendor and service providers could be provided access to one instance, which is isolated from the one that holds client data.
- the isolated instance of the SaaS app in use by the law firm protects client data generated and controlled by the sovereign app.
- the SaaS configuration engine that initialized the project has no access to the law firm's isolated instance so the intellectual property and trade secrets of clients of the firm.
- a distinct sovereign instance of a SaaS app can protect law firm employee data and the use of this technology can strengthen the required information security plan needed for cybersecurity compliance.
- the law firm can utilize a sovereign instance of a SaaS HR app to manage HR functions for their firm, to ensure protection of employees' personally identifiable information (PII) such as social security number, date of birth, email username and password, federal EIN, driver's license, passport and military ID.
- PII personally identifiable information
- a distinct SaaS app can manage client billing and payments, to protect the firm's business clients' personal financial information (PFI), including payment cards (credit/debit); checking and banking accounts; and payroll, W2 and 1099 as required by the PCI-DSS security standard and FFIEC/SOC 2 standards.
- PFI personal financial information
- the disclosed isolation provides a technical safeguard for helping to prevent cyber-attacks as well, which enhances business continuity and can strengthen trust in the law firm by clients.
- application cloud 855 can be used in the delivery of gaming applications by smaller gaming companies that want to host in the cloud, in lieu of sourcing and maintaining servers for delivery of games to players in a gaming environment.
- a consumer of the disclosed technology can offer hosting to small online gaming shops.
- the intellectual property (IP) of each online game includes their unique code, such as for rendering visual elements effectively and smoothing images, in one example.
- the game shops need to protect the IP of each game developer, and can do so by utilizing a distinct sovereign instance to deliver each SaaS gaming app.
- the distinct instance of one cloud-based game is isolated from the instance of another game, so the IP in each game is protected from access by any other game app.
- the disclosed isolated model enables small online gaming shops to manage risk and be able to assure game developers that their competitors are unable to access proprietary IP.
- FIG. 7 is a simplified block diagram of a computer system 700 that can be used for initializing an application instance using a software as a service (SaaS) model in a project implemented on a cloud-based computing service.
- the application instance is an identity management instance, as described earlier.
- Computer system 700 includes at least one central processing unit (CPU) 772 that communicates with a number of peripheral devices via bus subsystem 755 , and application cloud 855 , which in one implementation provides network security services described herein.
- peripheral devices can include a storage subsystem 710 including, for example, memory devices and a file storage subsystem 736 , user interface input devices 738 , user interface output devices 776 , and a network interface subsystem 774 .
- Network interface subsystem 774 provides an interface to outside networks, including an interface to corresponding interface devices in other computer systems.
- identity cloud 155 of FIG. 1 is communicably linked to the storage subsystem 710 and the user interface input devices 738 .
- application cloud 855 of FIG. 8 can be communicably linked to the storage subsystem 710 and the user interface input devices 738 .
- User interface input devices 738 can include a keyboard; pointing devices such as a mouse, trackball, touchpad, or graphics tablet; a scanner; a touch screen incorporated into the display; audio input devices such as voice recognition systems and microphones; and other types of input devices.
- pointing devices such as a mouse, trackball, touchpad, or graphics tablet
- audio input devices such as voice recognition systems and microphones
- use of the term “input device” is intended to include all possible types of devices and ways to input information into computer system 700 .
- User interface output devices 776 can include a display subsystem, a printer, a fax machine, or non-visual displays such as audio output devices.
- the display subsystem can include an LED display, a cathode ray tube (CRT), a flat-panel device such as a liquid crystal display (LCD), a projection device, or some other mechanism for creating a visible image.
- the display subsystem can also provide a non-visual display such as audio output devices.
- output device is intended to include all possible types of devices and ways to output information from computer system 700 to the user or to another machine or computer system.
- Storage subsystem 710 stores programming and data constructs that provide the functionality of some or all of the modules and methods described herein.
- Subsystem 778 can be graphics processing units (GPUs) or field-programmable gate arrays (FPGAs).
- Memory subsystem 722 used in the storage subsystem 710 can include a number of memories including a main random-access memory (RAM) 732 for storage of instructions and data during program execution and a read only memory (ROM) 734 in which fixed instructions are stored.
- a file storage subsystem 736 can provide persistent storage for program and data files, and can include a hard disk drive, a floppy disk drive along with associated removable media, a CD-ROM drive, an optical drive, or removable media cartridges.
- the modules implementing the functionality of certain implementations can be stored by file storage subsystem 736 in the storage subsystem 710 , or in other machines accessible by the processor.
- Bus subsystem 755 provides a mechanism for letting the various components and subsystems of computer system 700 communicate with each other as intended. Although bus subsystem 755 is shown schematically as a single bus, alternative implementations of the bus subsystem can use multiple busses.
- Computer system 700 itself can be of varying types including a personal computer, a portable computer, a workstation, a computer terminal, a network computer, a television, a mainframe, a server farm, a widely distributed set of loosely networked computers, or any other data processing system or user device. Due to the ever-changing nature of computers and networks, the description of computer system 700 depicted in FIG. 7 is intended only as a specific example for purposes of illustrating the preferred embodiments of the present invention. Many other configurations of computer system 700 are possible having more or fewer components than the computer system depicted in FIG. 7 .
- SaaS software as a service
- One implementation discloses a computer-implemented method of initializing an identity management instance using a SaaS model in a project implemented on a cloud-based computing service, including, at a first time, running a SaaS cluster configuration engine that links a service provider for SaaS identity management to set configuration parameters for the project implemented on the cloud-based computing service and initializing the project in which an identity management instance will be built, then removing the authorization of the SaaS cluster configuration engine to access to the project, including removing access to set the configuration parameters.
- the method also includes, at a second time following the first time, running a SaaS identity management infrastructure builder autonomously, without the service provider having access to the builder, to build the identity management instance in the project, and after the identity management instance is built, delivering identity management services.
- the disclosed method further includes at a third time following the second time, running a SaaS maintenance service, under sovereign control of a customer organization, to pull from the service provider and to install in the project, maintenance updates for the identity management instance, without exposing data secured by the customer organization to the service provider.
- Another implementation discloses a computer-implemented method of initializing a secure application instance isolated from malicious code and interacting with a server, the initializing managed using a software as a service (SaaS) model in a project implemented on a cloud-based computing service, including at a first time, running a SaaS cluster configuration engine that links a service provider for SaaS service to set configuration parameters for the project implemented on the cloud-based computing service and initializing the project in which the secure application instance will be built, then removing authorization of the SaaS cluster configuration engine to access to the project, including removing access to set the configuration parameters.
- SaaS software as a service
- the method also includes at a second time following the first time, running a SaaS service infrastructure builder autonomously, without the service provider having access to the builder, to build the secure application instance in the project.
- the disclosed method further includes after the secure application instance is built, delivering secure application services for interacting with the server, and at a third time following the second time, running a SaaS maintenance service, under sovereign control of a customer organization, to pull from the service provider and to install in the project, maintenance updates for the secure application instance, without exposing data secured by the customer organization to the service provider.
- One implementation of the disclosed method further includes the SaaS identity management infrastructure builder locking down and securing the project in which an identity management instance is built.
- the cloud-based computing service is one of Google Cloud Platform (GCP), Amazon Web Services (AWS) or Microsoft Azure Virtual Platform. Another service provider could be utilized as well.
- the disclosed SaaS identity management instance provides authentication and authorization services to customers. Some implementations of the disclosed method further include the identity management instance delivering identity management services to end user apps visiting a customer's web site. Other implementations include the identity management instance delivering identity management services to a customer's web site that is in communication with the identity management instance running in the project.
- Some implementations of the disclosed method further include the service provider for SaaS identity management utilizing a “break glass” scenario for accessing escrowed project access credentials, stored on a different platform than the cloud-based computing service, at a time when the customer organization requests support that requires access to the project and/or configuration parameters of the project, and generating one or more notices to the customer organization and a security administrator for the service provider that the “break glass” scenario has been invoked.
- the service provider for SaaS identity management utilizing a “break glass” scenario for accessing escrowed project access credentials, stored on a different platform than the cloud-based computing service, at a time when the customer organization requests support that requires access to the project and/or configuration parameters of the project, and generating one or more notices to the customer organization and a security administrator for the service provider that the “break glass” scenario has been invoked.
- at least two people must collaborate with the service provider for SaaS identity management to retrieve the credentials for the customer.
- implementations of the disclosed technology described in this section can include a tangible non-transitory computer readable storage media, including program instructions loaded into memory that, when executed on processors, cause the processors to perform any of the methods described above.
- implementations of the disclosed technology described in this section can include a system including memory and one or more processors operable to execute computer instructions, stored in the memory, to perform any of the methods described above.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Description
Claims (25)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/550,916 US11720410B2 (en) | 2019-09-23 | 2021-12-14 | Secure service isolation between instances of cloud products using a SaaS model |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/579,740 US10817346B1 (en) | 2019-09-23 | 2019-09-23 | Secure service isolation between instances of cloud products using a SaaS model |
US17/068,653 US11347560B2 (en) | 2019-09-23 | 2020-10-12 | Secure service isolation between instances of cloud products using a SaaS model |
US17/550,916 US11720410B2 (en) | 2019-09-23 | 2021-12-14 | Secure service isolation between instances of cloud products using a SaaS model |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/068,653 Continuation US11347560B2 (en) | 2019-09-23 | 2020-10-12 | Secure service isolation between instances of cloud products using a SaaS model |
Publications (2)
Publication Number | Publication Date |
---|---|
US20220107846A1 US20220107846A1 (en) | 2022-04-07 |
US11720410B2 true US11720410B2 (en) | 2023-08-08 |
Family
ID=72944650
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/579,740 Active US10817346B1 (en) | 2019-09-23 | 2019-09-23 | Secure service isolation between instances of cloud products using a SaaS model |
US17/068,653 Active US11347560B2 (en) | 2019-09-23 | 2020-10-12 | Secure service isolation between instances of cloud products using a SaaS model |
US17/550,916 Active US11720410B2 (en) | 2019-09-23 | 2021-12-14 | Secure service isolation between instances of cloud products using a SaaS model |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/579,740 Active US10817346B1 (en) | 2019-09-23 | 2019-09-23 | Secure service isolation between instances of cloud products using a SaaS model |
US17/068,653 Active US11347560B2 (en) | 2019-09-23 | 2020-10-12 | Secure service isolation between instances of cloud products using a SaaS model |
Country Status (1)
Country | Link |
---|---|
US (3) | US10817346B1 (en) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11442669B1 (en) | 2018-03-15 | 2022-09-13 | Pure Storage, Inc. | Orchestrating a virtual storage system |
US12066900B2 (en) | 2018-03-15 | 2024-08-20 | Pure Storage, Inc. | Managing disaster recovery to cloud computing environment |
US11943093B1 (en) | 2018-11-20 | 2024-03-26 | Amazon Technologies, Inc. | Network connection recovery after virtual machine transition in an on-demand network code execution system |
US10817346B1 (en) | 2019-09-23 | 2020-10-27 | ForgeRock, Inc. | Secure service isolation between instances of cloud products using a SaaS model |
US11611549B2 (en) * | 2019-10-03 | 2023-03-21 | Fset Inc | System and method of securing access to a secure remote server and database on a mobile device |
US11200081B2 (en) | 2019-10-21 | 2021-12-14 | ForgeRock, Inc. | Systems and methods for tuning containers in a high availability environment |
US11489844B2 (en) * | 2020-04-17 | 2022-11-01 | Twistlock Ltd. | On-the-fly creation of transient least privileged roles for serverless functions |
CA3177396A1 (en) * | 2020-06-29 | 2022-01-06 | Prabhu PALANISAMY | Temporary cloud provider credentials via secure discovery framework |
CA3177385A1 (en) | 2020-06-29 | 2022-01-06 | Prabhu PALANISAMY | Policy-based genomic data sharing for software-as-a-service tenants |
US11768921B2 (en) * | 2020-09-14 | 2023-09-26 | Hewlett Packard Enterprise Development Lp | Monitoring license constraints in a container orchestration system |
US11394661B2 (en) * | 2020-09-23 | 2022-07-19 | Amazon Technologies, Inc. | Compositional reasoning techniques for role reachability analyses in identity systems |
US11595215B1 (en) | 2020-12-17 | 2023-02-28 | ForgeRock, Inc. | Transparently using macaroons with caveats to delegate authorization for access |
US11595389B1 (en) | 2020-12-17 | 2023-02-28 | ForgeRock, Inc. | Secure deployment confirmation of IOT devices via bearer tokens with caveats |
US11606210B1 (en) | 2020-12-17 | 2023-03-14 | ForgeRock, Inc. | Secure activation, service mode access and usage control of IOT devices using bearer tokens |
US11704413B2 (en) * | 2021-04-22 | 2023-07-18 | International Business Machines Corporation | Assessing latent security risks in Kubernetes cluster |
US12079325B2 (en) * | 2021-04-23 | 2024-09-03 | EMC IP Holding Company, LLC | Password resetting system and method |
CN113473205B (en) * | 2021-07-01 | 2023-04-07 | 西安数拓网络科技有限公司 | Application delivery control method, device, equipment and storage medium |
US12032855B2 (en) | 2021-08-06 | 2024-07-09 | Commvault Systems, Inc. | Using an application orchestrator computing environment for automatically scaled deployment of data protection resources needed for data in a production cluster distinct from the application orchestrator or in another application orchestrator computing environment |
US11968280B1 (en) | 2021-11-24 | 2024-04-23 | Amazon Technologies, Inc. | Controlling ingestion of streaming data to serverless function executions |
US11750710B2 (en) | 2021-11-30 | 2023-09-05 | Hewlett Packard Enterprise Development Lp | Management cluster with integration service for deploying and managing a service in tenant clusters |
US12015603B2 (en) * | 2021-12-10 | 2024-06-18 | Amazon Technologies, Inc. | Multi-tenant mode for serverless code execution |
CN114666333B (en) * | 2022-04-02 | 2023-09-22 | 国网江苏省电力有限公司信息通信分公司 | Control method for cloud computing resource scheduling problem based on multi-tenant theory |
US20240012717A1 (en) * | 2022-07-11 | 2024-01-11 | Commvault Systems, Inc. | Protecting configuration data in a clustered container system |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6633898B1 (en) * | 1998-12-08 | 2003-10-14 | Fujitsu Limited | System, apparatus, method and computer program product for processing distributed service modules |
US20150205708A1 (en) | 2008-09-30 | 2015-07-23 | Interactive TKO, Inc | Service modeling and virtualization |
US20170295062A1 (en) | 2014-09-24 | 2017-10-12 | Zte Corporation | Method, device and system for configuring runtime environment |
US10265694B2 (en) * | 2013-06-28 | 2019-04-23 | President And Fellows Of Harvard College | High-surface area functional material coated structures |
US10303576B1 (en) | 2018-05-04 | 2019-05-28 | 6Fusion Usa, Inc. | Systems and methods for IT intelligence and management based on container-level metering |
US10630501B2 (en) | 2006-12-29 | 2020-04-21 | Kip Prod P1 Lp | System and method for providing network support services and premises gateway support infrastructure |
US10686885B2 (en) | 2013-10-28 | 2020-06-16 | Citrix Systems, Inc. | Systems and methods for managing a guest virtual machine executing within a virtualized environment |
US10705808B2 (en) | 2014-08-28 | 2020-07-07 | Atlassian Inc. | Software defined network controller |
US20200280517A1 (en) | 2010-03-31 | 2020-09-03 | Avago Technologies International Sales Pte. Limited | Switch with network services packet processing by service software instances |
US10817346B1 (en) | 2019-09-23 | 2020-10-27 | ForgeRock, Inc. | Secure service isolation between instances of cloud products using a SaaS model |
US20210004253A1 (en) | 2019-07-05 | 2021-01-07 | International Business Machines Corporation | Container-based applications |
US10922284B1 (en) * | 2017-09-25 | 2021-02-16 | Cloudera, Inc. | Extensible framework for managing multiple Hadoop clusters |
US20210072966A1 (en) | 2019-09-05 | 2021-03-11 | International Business Machines Corporation | Method and system for service rolling-updating in a container orchestrator system |
US11075791B2 (en) * | 2012-09-07 | 2021-07-27 | Oracle International Corporation | Failure handling in the execution flow of provisioning operations in a cloud environment |
-
2019
- 2019-09-23 US US16/579,740 patent/US10817346B1/en active Active
-
2020
- 2020-10-12 US US17/068,653 patent/US11347560B2/en active Active
-
2021
- 2021-12-14 US US17/550,916 patent/US11720410B2/en active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6633898B1 (en) * | 1998-12-08 | 2003-10-14 | Fujitsu Limited | System, apparatus, method and computer program product for processing distributed service modules |
US10630501B2 (en) | 2006-12-29 | 2020-04-21 | Kip Prod P1 Lp | System and method for providing network support services and premises gateway support infrastructure |
US20150205708A1 (en) | 2008-09-30 | 2015-07-23 | Interactive TKO, Inc | Service modeling and virtualization |
US20200280517A1 (en) | 2010-03-31 | 2020-09-03 | Avago Technologies International Sales Pte. Limited | Switch with network services packet processing by service software instances |
US11075791B2 (en) * | 2012-09-07 | 2021-07-27 | Oracle International Corporation | Failure handling in the execution flow of provisioning operations in a cloud environment |
US10265694B2 (en) * | 2013-06-28 | 2019-04-23 | President And Fellows Of Harvard College | High-surface area functional material coated structures |
US10686885B2 (en) | 2013-10-28 | 2020-06-16 | Citrix Systems, Inc. | Systems and methods for managing a guest virtual machine executing within a virtualized environment |
US10705808B2 (en) | 2014-08-28 | 2020-07-07 | Atlassian Inc. | Software defined network controller |
US20170295062A1 (en) | 2014-09-24 | 2017-10-12 | Zte Corporation | Method, device and system for configuring runtime environment |
US10922284B1 (en) * | 2017-09-25 | 2021-02-16 | Cloudera, Inc. | Extensible framework for managing multiple Hadoop clusters |
US10303576B1 (en) | 2018-05-04 | 2019-05-28 | 6Fusion Usa, Inc. | Systems and methods for IT intelligence and management based on container-level metering |
US20210004253A1 (en) | 2019-07-05 | 2021-01-07 | International Business Machines Corporation | Container-based applications |
US20210072966A1 (en) | 2019-09-05 | 2021-03-11 | International Business Machines Corporation | Method and system for service rolling-updating in a container orchestrator system |
US10817346B1 (en) | 2019-09-23 | 2020-10-27 | ForgeRock, Inc. | Secure service isolation between instances of cloud products using a SaaS model |
US11347560B2 (en) * | 2019-09-23 | 2022-05-31 | ForgeRock, Inc. | Secure service isolation between instances of cloud products using a SaaS model |
Non-Patent Citations (16)
Title |
---|
"Configuring Vertical Pod Autoscaling", Kubemetes Engine, Google Cloud (https://cloud.google.com/kubernetes-engine/), Aug. 14, 2019, 8 pages. |
"FAQ: IDM/OpenIDM performance and tuning", https://backstage.forgerock.com/knowledge/kb/article/a32504603, Jun. 26, 2019, 7 pages. |
"Hardening your cluster's security", Kubemetes Engine, (https://cloud.google.com/kubernetes-engine/docs/concepts/security-overview), Jul. 2019, 10 pages. |
"Vertical Pod Autoscaling", Kubemetes Engine, https://cloud.google.com/kubernetes-engine/docs/concepts/verticalpodautoscaler), Aug. 29, 2019, 8 pages. |
Amazon, AWS Elastic Beanstalk Developer Guide; Aug. 2019, https://web.archive.org/web/20190805110626/https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/awseb-dg .pdf, dated 2019, 924 pages. |
Amazon; AWS Elastic Beanstalk Developer Guide; Aug. 2019; 924 pgs (https://web.archive.org/web/20190805110626/https:// docs.aws.amazon.com/elasticbeanstalk/latest/dg/awseb-dg.pdf). |
Cichonski et al., "Computer Security Incident Handling Guide", National Institute of Standards and Technology, U.S. Deparlment of Commerce, Special Publication 800-61, Revision 2, http://dx.doi.org/10.6028/NIST.SP.800-61r2, Gaithersburg, MD, 2012, 79 pages. |
Dempsey, et al., "Information Security Continuous Monitoring (ISCM) for Federal Information Systems and Organizations", NIST National Institute of Standards and Technology, U.S. Dept, of Commerce, NIST Special Publication 800-137, 2011, Gaithersburg, MD, 80 pages. |
Jayanandana, "Enable Rolling updates in Kubemetes with Zero downtime", https://medium.com/platformer-blog/enable-rolling-updates-in-kubemetes-with-zero-downtime-31d7ec.388c81, Sep. 27, 2018, 6 pages. |
Sakimura et al, "OpenID Connect Dynamic Client Registration 1.0 incorporating errata set 1", https://openid.net/specs/openid-connect-registration-1_0.html, Oct. 1, 2019, 19 pages. |
U.S. Appl. No. 16/579,740, Notice of Allowance dated Jun. 29, 2020, 18 pages. |
U.S. Appl. No. 16/659,553 Nonfinal Office Action dated Jul. 26, 2021, 29 pages. |
U.S. Appl. No. 16/659,553 Notice of Allowance dated Oct. 22, 2021, 12 pages. |
U.S. Appl. No. 16/659,553 Response to Nonfinal Office Action dated Jul. 26, 2021, filed Aug. 20, 2021, 11 pages. |
U.S. Appl. No. 17/068,653—Nonfinal Office Action dated Aug. 13, 2021. |
Wilkin, "Kubemetes Deployment Dependencies", https://medium.com/google-cloud/kubernetes-deployment-dependencies-ef703e563956, Jul. 2, 2018, 21 pages. |
Also Published As
Publication number | Publication date |
---|---|
US20220107846A1 (en) | 2022-04-07 |
US10817346B1 (en) | 2020-10-27 |
US11347560B2 (en) | 2022-05-31 |
US20210089359A1 (en) | 2021-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11720410B2 (en) | Secure service isolation between instances of cloud products using a SaaS model | |
US11750609B2 (en) | Dynamic computing resource access authorization | |
US10095549B1 (en) | Ownership transfer account service in a virtual computing environment | |
JP6625636B2 (en) | Identity infrastructure as a service | |
EP3488584B1 (en) | Usage tracking in hybrid cloud computing systems | |
US10762193B2 (en) | Dynamically generating and injecting trusted root certificates | |
US11888980B2 (en) | Stateless service-mediated security module | |
US9223807B2 (en) | Role-oriented database record field security model | |
US20190034652A1 (en) | Scrubbing Log Files Using Scrubbing Engines | |
US11354300B2 (en) | Mobile auditable and tamper-resistant digital-system usage tracking and analytics | |
US10542048B2 (en) | Security compliance framework usage | |
US11544415B2 (en) | Context-aware obfuscation and unobfuscation of sensitive content | |
US11526595B2 (en) | Optically scannable representation of a hardware secured artifact | |
CN113574837A (en) | Tracking image senders on client devices | |
US9843605B1 (en) | Security compliance framework deployment | |
US11768692B2 (en) | Systems and methods for automated application launching | |
Pachghare | Cloud computing | |
Wheeler et al. | Securing the loT Cloud | |
Ou | The concept of Cloud Computing and the main security issues in it | |
Chauhan et al. | Implementation of Storage as a Service in Cloud Infrastructure | |
MUHAMMAD | An Investigation into the Security and Privacy Issues of Cloud Computing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: FORGEROCK, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:CULP, SCOTT;CROTEAU, BEAU;WHITE, STEVE;SIGNING DATES FROM 20190924 TO 20190927;REEL/FRAME:058389/0954 |
|
FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT RECEIVED |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
AS | Assignment |
Owner name: BLUE OWL CAPITAL CORPORATION (FORMERLY KNOWN AS OWL ROCK CAPITAL CORPORATION), AS COLLATERAL AGENT, NEW YORK Free format text: GRANT OF SECURITY INTEREST IN PATENT RIGHTS;ASSIGNOR:FORGEROCK, INC.;REEL/FRAME:065335/0890 Effective date: 20231023 |
|
AS | Assignment |
Owner name: PING IDENTITY INTERNATIONAL, INC., COLORADO Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:FORGEROCK, INC.;REEL/FRAME:066358/0483 Effective date: 20240201 |