WO2023160632A1 - 针对飞地实例的云服务访问权限设置方法和云管理平台 - Google Patents

针对飞地实例的云服务访问权限设置方法和云管理平台 Download PDF

Info

Publication number
WO2023160632A1
WO2023160632A1 PCT/CN2023/077968 CN2023077968W WO2023160632A1 WO 2023160632 A1 WO2023160632 A1 WO 2023160632A1 CN 2023077968 W CN2023077968 W CN 2023077968W WO 2023160632 A1 WO2023160632 A1 WO 2023160632A1
Authority
WO
WIPO (PCT)
Prior art keywords
tenant
service
cloud
token
enclave instance
Prior art date
Application number
PCT/CN2023/077968
Other languages
English (en)
French (fr)
Inventor
李俊
孙智喜
章奇
Original Assignee
华为云计算技术有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from CN202210605661.1A external-priority patent/CN116707849A/zh
Application filed by 华为云计算技术有限公司 filed Critical 华为云计算技术有限公司
Publication of WO2023160632A1 publication Critical patent/WO2023160632A1/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols

Definitions

  • the attribute based access control (ABAC) model is a policy-based access control method commonly used in the industry. By using policies that combine attributes together, access rights are granted to users to implement more precise access control. Access control decisions.
  • ABAC attribute based access control
  • the ABAC model relies on the collection, transfer and use of attribute information, and how to collect, transfer and use various attribute information safely and effectively is still an important problem that needs to be solved urgently.
  • the embodiment of the present application provides a cloud service access permission setting method and a cloud management platform for enclave instances, which help to collect, transmit and use various attribute information safely and effectively, so as to ensure that different types of tenants realize the cloud resources. Centralized, secure access management.
  • the embodiment of the present application provides a method for setting cloud service access rights for an enclave instance in an enclave.
  • the method can be executed by a cloud service system, and the cloud service system can include a cloud management platform, a target cloud service, and an enclave instance.
  • An application program wherein the cloud management platform may be a cloud server, and the application program in the enclave instance may be deployed on a user device.
  • the cloud management platform supports the first tenant to customize the security management service configuration information
  • the security management service configuration information includes the enclave instance type input or selected by the first tenant and the conversion rule input or selected by the first tenant , used to describe the security management requirements of at least one cloud service subscribed by the first tenant, so that the STS can issue tokens related to the security management requirements of the first tenant to the applications in the enclave instance according to the received token acquisition request
  • the security management service configuration information includes the enclave instance type input or selected by the first tenant and the conversion rule input or selected by the first tenant , used to describe the security management requirements of at least one cloud service subscribed by the first tenant, so that the STS can issue tokens related to the security management requirements of the first tenant to the applications in the enclave instance according to the received token acquisition request
  • the IAM service is further configured to confirm the authorization policy input or selected by the first tenant or the second tenant, and the STS, if the authorization policy is satisfied, converting the certification document into the tenant-defined attribute according to the conversion rule, and returning a token carrying the tenant-defined attribute to the application program.
  • the role of the first tenant is a security administrator
  • the role of the second tenant is an authority administrator.
  • the method may further include: before the application program in the enclave instance sends the token acquisition request, obtain the enclave instance from the Trusted Computing Base TCB supporting documents.
  • the method may further include: the application program in the enclave instance sends a service invocation request to the target cloud service, and the service invocation request carries the order card; the target cloud service receives the service invocation request, and confirms the legitimacy of the token to the STS, and on the premise that the STS confirms that the token is legal, the target cloud service allows the The application accesses said target cloud service.
  • the embodiment of the present application provides a cloud service system, including a cloud management platform and a target cloud service, wherein the cloud management platform provides an identity management and access control IAM service, and the IAM service is used to confirm the first The enclave instance type input or selected by the tenant and the conversion rule input or selected by the first tenant, wherein the conversion rule is used to provide the enclave instance certification document for the enclave instance corresponding to the enclave instance type converted into tenant-defined attributes; the cloud management platform provides a security token service STS, and the STS is used to receive a token acquisition request sent by an application in the enclave instance, wherein the token acquisition request carries The certification document of the enclave instance, the STS is also used to convert the certification document into the tenant-defined attribute according to the conversion rule, and return the order carrying the tenant-defined attribute to the application program The token is used to indicate that the application program in the enclave instance has permission to access the target cloud service.
  • the cloud management platform provides an identity management and access control I
  • the IAM service is further configured to confirm the authorization policy input or selected by the first tenant or the second tenant, and the STS, if the authorization policy is satisfied, converting the certification document into the tenant-defined attribute according to the conversion rule, and returning a token carrying the tenant-defined attribute to the application program.
  • the authorization policy includes allowing the application program to access the target cloud service in the enclave instance corresponding to the enclave instance type.
  • the application program in the enclave instance obtains the certification document of the enclave instance from a trusted computing base TCB before sending the token acquisition request.
  • the application program in the enclave instance sends a service call request to the target cloud service, and the service call request carries the token; the target cloud service receiving the service invocation request, and confirming the legitimacy of the token to the STS, and on the premise that the STS confirms that the token is legal, the target cloud service allows the application program to access the target cloud Serve.
  • the embodiment of the present application provides a cloud management platform, including: a first service providing module, configured to provide an identity management and access control IAM service, and the IAM service is used to confirm the cloud input or selection of the first tenant.
  • the second service providing module is used to provide a security token service STS, and the STS is used to receive a token acquisition request sent by an application in the enclave instance, wherein the token acquisition request carries the enclave
  • the proof document of the instance, the STS is also used to convert the proof document into the tenant-defined attribute according to the conversion rule, and return the token carrying the tenant-defined attribute to the application, so
  • the above token is used to indicate that the application in the enclave instance has the permission to access the target cloud service
  • the IAM service is further configured to confirm the authorization policy input or selected by the first tenant or the second tenant, and the STS, if the authorization policy is satisfied, converting the certification document into the tenant-defined attribute according to the conversion rule, and returning a token carrying the tenant-defined attribute to the application program.
  • the role of the first tenant is a security administrator
  • the role of the second tenant is a rights administrator
  • the authorization policy includes allowing the application program to access the target cloud service in the enclave instance corresponding to the enclave instance type.
  • an embodiment of the present application provides a cloud management platform, including a processor and a memory, the memory stores program instructions, and the processor executes the program instructions to execute the above-mentioned cloud management platform in the first aspect. any of the methods.
  • the embodiment of the present application provides a computer-readable storage medium, the computer-readable storage medium is used to store a computer program, and when the computer program is run on a computing device, the computing device executes the following: The above first aspect and the method described in any possible implementation manner of the first aspect.
  • FIG. 1 shows a schematic diagram of the cloud service system architecture applicable to the embodiment of the present application
  • Fig. 2 shows a schematic diagram of some cloud technology-based service provision solutions
  • FIG. 4 shows a schematic flow diagram of a method for setting cloud service access rights according to an embodiment of the present application
  • Internet Internet
  • REST API representational state transfer application programming interface
  • the cloud service provider may be referred to as a cloud provider for short.
  • cloud computing resources provided by the cloud management platform to tenants refers to the integration of cloud computing-related resources, including cloud services and cloud instances.
  • Cloud services may include, but are not limited to, services provided by a private network (virtual private cloud, VPC), services provided by a gateway, firewall services, NAT services, cloud disks, elastic public IP addresses (EIP), cloud monitoring services, and others Cloud services provided by various cloud vendors.
  • cloud instances may include but not precede virtual machines, containers, or bare metal servers, among which, virtual machines, containers, or bare metal servers are all virtual instances provided by cloud vendors to tenants in the cloud vendor's data center.
  • cloud instances may include enclave instances.
  • the owner of cloud resources is the subject that has management authority over cloud resources.
  • tenants can order or rent cloud resources from cloud vendors through payment methods according to business needs.
  • the tenant's management rights to the purchased cloud resources may include but not limited to security management rights, access control rights, etc.
  • the tenants can be divided into first tenants and second tenants according to their roles. Used to implement access control permissions for purchased resources.
  • the management authority of the tenant to the cloud resource may be implemented through the tenant's electronic device (including physical device and/or virtual device).
  • a tenant's electronic device may be referred to as a tenant node.
  • first tenant and The second tenant may be a different role of the same tenant, or may be a partial role of a different tenant, which is not limited in this embodiment of the present application.
  • Operators of cloud resources can only operate cloud resources after being authorized by the cloud resource owner.
  • the user's operation on cloud resources may be implemented through the user's electronic equipment (including physical equipment and/or virtual equipment).
  • a user's electronic device may be referred to as a user node.
  • the user can include applications in the enclave instance.
  • IAM Identity and access management
  • the tenant can implement access control management for users through the IAM service, and grant different permissions to different users for different cloud resources.
  • a temporary access rights management service used to obtain temporary access credentials that can customize the time limit and access rights, that is, security tokens (STS Token).
  • a tenant purchases cloud resources from a cloud vendor
  • he can register with the cloud vendor to obtain the tenant's entity identity (tenant identity) and access credentials (such as identity key, login password, etc.) wait).
  • Tenants can create corresponding identities (user identity) and credentials (such as identity keys, etc.) for users, and authorize users; after users obtain credentials and authorization, they can obtain STS Token from STS based on user access credentials to use STS Token accesses cloud resources purchased by tenants, such as target cloud services.
  • attributes are characteristics of subjects, objects or environmental conditions. Attribute information can be defined in the form of "name-value" pairs.
  • the subject is a person or a non-executive entity (Non-Practicing Entities, NPE) (such as a device that initiates an access request to an object).
  • NPE Non-Practicing Entities
  • a principal can be assigned one or more attributes.
  • a policy is an expression of a rule or relationship, which enables the cloud management platform to determine whether to allow the access requested by the subject according to the attribute values of the given subject, object and possible environmental conditions.
  • Environmental conditions are detectable environmental characteristics, independent of subject or object, that can include the current time, day of the week, user location or current threat level, security level, etc.
  • ABAC is a logical access control method, the purpose of which is to protect objects (whether data, services, applications, network devices or other types of IT resources) from Subject to unauthorized operations, which may include discovering, reading, creating, editing, deleting, and executing objects.
  • the protected object is owned by an individual or organization (such as the tenant of the embodiment of this application) and has some intrinsic value, which motivates this Some owners protect them.
  • the tenant As the owner of the object, the tenant is responsible for establishing a policy that describes what operations can be performed on the object, by whom, and in what context the subject can perform these operations. If the subject satisfies the access control policy established by the object owner, the subject is authorized to perform required operations on the object, that is, the subject is granted access to the object. If the subject does not satisfy the policy, access to the object is denied.
  • TEE Trusted execution environment
  • a hardware-enhanced operating environment isolation mechanism (such as ARM Trust Zone), which is isolated from other modules of the System-on-a-chip (System-on-a-chip) and can execute a trusted application (trusted application, TA) security area, It can ensure that sensitive data is stored, processed and protected in an isolated and trusted environment, and achieve end-to-end security by providing isolated and securely executed authorized software.
  • ARM Trust Zone ARM Trust Zone
  • TEE can define the characteristics of the operating environment through the measurement of hardware, firmware, system software, and application programs, and can provide proof documents for the characteristics of the operating environment.
  • TLB Trusted computing base
  • each mechanism can appear in the form of hardware, firmware and software. Once a program error or security risk occurs in a component of the trusted computing base, it will cause harm to the security of the entire system. On the contrary, if there is a problem with other parts of the system except the trusted computing base, it will only leak the relevant permissions granted to them by the system security policy. These permissions are generally relatively low and cause less harm to system security. Small.
  • the TCB may include a security module and a public key infrastructure (public key infrastructure, PKI), wherein the security module may provide user nodes with information related to business security, such as trusted hardware information, trusted software information, Trusted firmware information, etc.; the security module also provides the startup measurement of the user node's operating environment, and provides proof documents for the operating environment.
  • PKI is the infrastructure of security modules, it can issue digital certificates for security modules, and PKI provides trust root certificates. STS will use the PKI root certificate to verify the legitimacy of the proof documents provided by the security module.
  • Intel SGX provides a hardware-secure trusted execution environment called an enclave.
  • the enclave can provide a strong guarantee of confidentiality and integrity for user programs, and protect the security of user outsourced data with minimal trust in cloud vendors.
  • the functional modules of the cloud management platform are used to implement management services, so as to help tenants securely control the user's access control management to cloud resources.
  • the management service may include but not limited to the above-mentioned IAM service, STS and so on. Among them, some services can be used together.
  • the IAM service provides long-term permission configuration for users (authorization without validity period), and STS can issue a short validity period according to a user's single business session (session), and perform on-demand Security access tokens with narrowed permissions to provide finer-grained access control management.
  • the management service may also include a security management service, which may be provided by the security management service providing module of the cloud management platform, and supports tenant nodes to provide services to the cloud management platform according to their own application scenario requirements and business requirements, etc.
  • a security management service which may be provided by the security management service providing module of the cloud management platform, and supports tenant nodes to provide services to the cloud management platform according to their own application scenario requirements and business requirements, etc.
  • tenant-defined security management service configuration information including the enclave instance type input or selected by the tenant and the conversion rules input or selected by the first tenant
  • the security management service providing module can be an independent service providing module of the cloud management platform, and the security management service providing module can cooperate with other service providing modules of the cloud management platform (such as IAM service provider module and/or STS provider module) have a trust relationship, so that other service provider modules
  • the block can combine the security management service configuration information customized by the tenant to implement centralized and secure access control management for cloud resources.
  • the security management service providing module can be a submodule of a certain service providing module of the cloud management platform (for example, an IAM service providing module or an STS providing module), so that the service providing module can be combined with the tenant's own
  • the defined security management service configuration information implements centralized and secure access control management for cloud resources.
  • the embodiment of the present application does not limit the deployment mode or product form of the security management service providing module.
  • a series of parameters sent by tenants or applications to the cloud management platform or cloud service module (used to provide at least one cloud service to tenants or applications), used to request management and configuration of cloud resources purchased by tenant nodes or implementation of access operations .
  • the tenant or the application program can transfer corresponding request parameters to the cloud management platform or the cloud service module respectively by calling the application program interface (application program interface, API) provided by the cloud management platform or the cloud service module.
  • the request parameter can be organized or constructed according to the format prescribed by the communication protocol supported by the cloud management platform or the cloud service module.
  • the request parameter may be carried in an API request message, and the API request message may include an API request header (request header) and an API request body (request body).
  • the API request header can be used to carry parameters indicating the communication protocol, request method (such as SET method, GET method or DELETE method, etc.), signature on the API request body, etc., and the API request body is used to carry the API requester Parameters such as the identity of the user node and the attribute document of the user node.
  • request method such as SET method, GET method or DELETE method, etc.
  • signature on the API request body etc.
  • the API request body is used to carry the API requester Parameters such as the identity of the user node and the attribute document of the user node.
  • the embodiment of the present application does not limit the specific content and organization of the request parameters.
  • the at least one involved in the embodiments of the present application includes one or more; wherein, a plurality means greater than or equal to two.
  • words such as “first” and “second” are only used to distinguish and describe objects, and cannot be understood as indicating or implying relative importance, nor can they be understood as indicating or implying order.
  • Fig. 1 shows a schematic diagram of the architecture of a cloud service system applicable to the embodiment of the present application.
  • a cloud resource such as a virtual machine
  • the tenant can select the specifications of the virtual machine (such as memory, processor and disk, etc.) on the cloud management platform, and the cloud management platform 110 will notify the cloud service module 120 to create A virtual machine with this specification.
  • the tenant can configure the user's access rights to the virtual machine (such as logging in to the virtual machine, shutting down the virtual machine, deleting operations, etc.), and after the configuration is successful, the user can perform corresponding authorization operations on the virtual machine.
  • Tenants can also grant users permission to purchase or create virtual machines.
  • the cloud resources may also be, for example, various cloud services such as containers, bare metal servers, and Elastic IP Address (EIP), and the embodiment of the present application does not limit the type of cloud service.
  • EIP Elastic IP Address
  • the cloud management platform 110 may include at least one service providing module, and the at least one service providing module may be used to provide tenants and users with corresponding services, so as to help tenants securely implement access control management to purchased cloud resources, and provide different cloud resources to Different users are granted different access rights, and user authentication and authorization are controlled, so that users can safely access or use cloud resources.
  • the at least one service providing module may include an IAM service providing module 111 and an STS providing module 112 .
  • the IAM service providing module 111 provides the aforementioned IAM service for tenants and users
  • the STS providing module 112 provides the aforementioned STS service for tenants and users.
  • the tenant uses the IAM service provided by the IAM service providing module 111 on the side of the cloud management platform 110 to set (set) an authorization policy (authorization policy), that is, an access control policy, for the user.
  • an authorization policy that is, an access control policy
  • the authorized user can use the corresponding authority to access the cloud resources purchased by the tenant. If the setting fails, the user is not authorized and cannot access the cloud resources purchased by the tenant.
  • the user can obtain correct access credentials (such as access keys (Access Keys)).
  • the user can send a request parameter to the STS providing module 112 on the cloud management platform 110 side based on the obtained access credential, the request parameter can include the user's access credential, and the request parameter is used to request to obtain the STS token,
  • the STS token is used by the user to access the cloud resources purchased by the tenant.
  • S26 The target cloud service on the cloud service module 120 side, through the trust relationship with the STS providing module 112, executes the corresponding access processing operation after verifying the user identity and authority based on the target STS token from the application program, and sends The application returns an access reply.
  • the cloud management platform 110 will also enable the ABAC model mentioned above in the IAM service providing module 111 to configure authorization policies for users.
  • tenants can adapt to the requirements of the ABAC model and set authorization policies according to user attributes, resource attributes, and request parameter attributes.
  • the target cloud service on the cloud service module 120 side will implement attribute-based access control checks according to the request parameters carried in the access request from the user. , and after passing the check, provide the target cloud service to the user.
  • the cloud management platform 110 can provide an API, so that the tenant can configure the relevant attribute information required by the ABAC model through the API provided by the cloud management platform 110.
  • the format of the authorization document used to implement the configuration is, for example, As follows:
  • the authorization semantics are as follows: "Allow user "Zhang San” to execute the specified KMS operation only after initiating a request through the specified security operating environment with a trust level of 2; the security operating environment with a trust level of 2 is defined as Taking a pre-known reliable software metric value PCR0 and a pre-known reliable digital signature certificate digest value PCR8" as an example, the authorization document can be as follows:
  • the embodiment of the present application provides a cloud service access authority setting method and a cloud management platform for enclave enclave instances, which help to collect, transmit and use various attribute information safely and effectively, so as to ensure different types of Tenant nodes implement centralized and secure access management to cloud resources, meeting the management demands of different types of tenants on cloud resources and the demands of different users on the use of cloud resources.
  • cloud service n where n is an integer greater than or equal to 1.
  • the cloud resources may be various cloud services such as containers, bare metal servers, and Elastic IP Addresses (EIPs), and the embodiments of the present application do not limit the types of cloud services.
  • EIPs Elastic IP Addresses
  • the cloud management platform 310 may include at least one service providing module, for example including but not limited to a security management service providing module 311 , an IAM service providing module 312 , and an STS providing module 313 .
  • any service providing module in the at least one service providing module may also include sub-functional units, for example, the security management service providing module 311 may include an object management unit, and the STS providing module 313 includes a verification unit, an attribute conversion unit and Generate unit.
  • At least one service providing module and its sub-functional units of the cloud management platform 310 can help collect and transmit various attribute information, so as to ensure that different types of tenants realize centralized and secure access management of the cloud resources they purchase, and satisfy different requirements.
  • the management requirements of the type tenants for cloud resources and the requirements of different users for the use of cloud resources implement the method in the embodiment of the present application.
  • FIG. 3 only exemplarily shows the functional modules that the system 300 may include, and does not limit the number and functions of each functional module.
  • the system 300 may include multiple types of cloud service modules, any A cloud service module may also include respective cloud service submodules to provide different types of cloud services for different types of tenants.
  • the service providing module of the cloud management platform 310 in the embodiment of the present application is not limited to the service providing module shown in FIG. 3 , The sub-functional units of the service providing module are also not limited, and will not be repeated here.
  • Security management service provision module 311
  • the security management service providing module 311 is used to provide security management services to tenants, users, and cloud resources purchased by tenants, including but not limited to creating, describing, and implementing security management services based on security management service configuration information. Upgrade (update) or delete (delete) and other functions, so that the security management service providing module 311 can support tenant-defined attributes, and help securely and effectively collect, transfer, and use tenant-defined related attributes for implementing security management services .
  • the security management service providing module 311 may include an object management unit, and the object management unit may receive security management service configuration information input or selected by a first tenant (such as a security administrator), the security management service configuration information For example, it may include metadata and conversion rules for describing attribute objects, and the object management unit may create at least one attribute object according to the security management service configuration information, and each attribute object may include at least one attribute metadata (metadata) and conversion rules (rule), the metadata is used to describe the type and operation method of the at least one attribute, and the conversion rule is a conversion rule of the at least one attribute.
  • a first tenant such as a security administrator
  • the security management service configuration information For example, it may include metadata and conversion rules for describing attribute objects, and the object management unit may create at least one attribute object according to the security management service configuration information, and each attribute object may include at least one attribute metadata (metadata) and conversion rules (rule), the metadata is used to describe the type and operation method of the at least one attribute, and the conversion rule is a conversion rule of the at least
  • the cloud management platform 310 may determine the security management service configuration information input or selected by the first tenant on the console interface, where the security management service configuration information includes multiple attribute configuration items provided by the console interface and the first A parameter input or selected by a tenant for each property configuration item.
  • the embodiment of the present application does not limit the specific implementation manner of this configuration process.
  • the document format used to implement the security management service configuration may include a metadata field and a conversion rule field, for example as follows Show:
  • the cloud management platform 310 can display the above document format on a webpage provided by the Internet, and indicate the usage of the corresponding fields, such as the relevant prompts behind the above //.
  • the tenant sees the above document format, fill in the corresponding parameters according to the above document format, for example, fill in the following information after "Metadata": (only an example is provided here):
  • the first tenant can fill in one or more conversion rules after "Rules”:.
  • An example of the implementation of Rules is as follows:
  • the conversion rules may exist in the form of key-value pairs and be described in machine language. Use a semicolon “;” to separate different conversion rules.
  • the first tenant can send the above-mentioned multiple fields with input parameters and corresponding input parameters to the cloud management platform 310 through the Internet in the form of a template, and the cloud management platform 310 detects the parameters corresponding to different fields in the configuration document, thereby obtaining the first A tenant has corresponding requirements for different fields. Therefore, in this embodiment of the application, the security management service configuration information may include security management service configuration fields and parameters input by the first tenant. Further, the cloud management platform 310 may store the security management service configuration information from the first tenant in a memory associated with the security management service providing module 311 . The object management unit in the security management service providing module 311 can use the saved security management service configuration information to manage attribute objects, such as creating attribute objects, providing attribute object-based security management services, and so on.
  • the attribute object to be created may correspond to the instance type of the attribute object one by one, and the instance type of the attribute object may be provided by the cloud vendor and the cloud management platform 310 .
  • the security management service configuration information input or selected by the first tenant on the cloud management platform 310 may indicate at least one attribute object, and the object management unit may base on the attribute in the security management service configuration information
  • Object description information is used to create at least one attribute object, and each attribute object may include metadata and attribute conversion rules for describing at least one attribute of the attribute object.
  • the metadata involved in each attribute object can define in detail the instance type and value range customized by the first tenant for implementing security management, and the conversion rules involved in each attribute object can be used to specify the calculation rules for attribute conversion.
  • the assigned attributes of instances corresponding to the instance type, the assigned attributes of cloud resources, environmental conditions, and a set of policies (such as authorization policies) related to these attributes and conditions The requested action.
  • Other service providing modules of the cloud management platform 310 except the security management service providing module 311 may use the metadata and attribute conversion rules of the at least one attribute object based on the trust relationship with the security management service providing module 311 to Implement corresponding services to improve security.
  • the IAM service providing module 312 can utilize the metadata and transformation rules (including a valid output attribute set) of at least one attribute object, and use the attributes in its output attribute set to help the second tenant more effectively implement access control to cloud resources manage.
  • the STS providing module 313 can use the metadata of at least one attribute object and attribute conversion rules (including a valid output attribute set), and use the attributes in its output attribute set to help the second tenant implement token management services for cloud resources.
  • the conversion rules in the attribute object description information can be used to describe the specified input attribute set, specify the conditions that should be satisfied when the input attribute set is converted into the corresponding output attribute set, and the corresponding output attribute set.
  • the conversion rule in the attribute object description information can use the relevant attribute from the user as the input attribute set of the conversion rule.
  • the input The attribute set can get the corresponding output attribute set according to the corresponding conversion rules.
  • the embodiment of the present application does not limit the format and content of the configuration information.
  • the IAM service providing module 312 and the STS providing module 313 can use the output attribute set to implement corresponding services.
  • the embodiment of the present application does not limit the format and content of the output attribute set.
  • the security management service providing module 311 can be an independent service providing module of the cloud management platform 310, and the security management service providing module 311 can communicate with the cloud management platform 310
  • Other service providing modules for example, IAM service providing module 312 and/or STS providing module 313) have a trust relationship, so that other service providing modules can implement centralized and secure access to cloud resources in combination with tenant-defined security management service configuration information control management.
  • the security management service providing module 311 can be a submodule of a certain service providing module (for example, the IAM service providing module 312) of the cloud management platform 310, so that the service providing module can be combined with tenants to customize Centralized and secure access control management for cloud resources.
  • the embodiment of the present application does not limit the deployment mode or product form of the security management service providing module 311 .
  • the IAM service providing module 312 can help tenants securely control access to cloud resources, control users to perform authentication (login) and authorization (with authority) to use cloud resources, with single sign-on, powerful authentication management, policy-based Centralized authorization and auditing, dynamic authorization, enterprise manageability, and more.
  • the configurations of different service providing modules of the cloud management platform 310 by the tenants may be interoperable.
  • the cloud management platform 310 can provide an IAM service configuration API or a console interface to the first tenant or a second tenant (such as an authority administrator), and the first tenant or the second tenant can use the API or control provided by the cloud management platform 310
  • the station interface provides the IAM service configuration information, such as authorization policy, to the IAM service providing module 312.
  • the IAM service providing module 312 may store authorization policies from either the first tenant or the second tenant. Further, the IAM service providing module 312 can utilize at least one attribute object's metadata, attribute conversion rules (including valid output attribute sets), and authorization policies to implement access control management for users.
  • the authorization document can be as follows (the authorization The documentation uses the DeviceTrustLevel property key, which is an output property set from the transformation rule example above):
  • the first tenant or the second tenant can send the above-mentioned multiple fields with input parameters and corresponding input parameters to the cloud management platform 310 through the Internet in the form of a template, and the cloud management platform 310 detects the parameters corresponding to different fields in the authorization document , so as to obtain the requirements corresponding to different fields of the first tenant or the second tenant. Therefore, in this embodiment of the present application, the IAM service configuration information may include an IAM service configuration field, and parameters input by the first tenant or the second tenant. Further, the cloud management platform 310 may store the IAM service configuration information from the first tenant or the second tenant in a memory associated with the IAM service providing module 312 . The IAM service providing module 312 can use the stored IAM service configuration information to help the first tenant or the second tenant centrally and securely implement access control management on cloud resources.
  • the security management service providing module 311 is a sub-module of a certain service providing module (such as the IAM service providing module 312) of the cloud management platform 310, correspondingly, the IAM service providing module can be 312 performs function expansion or expands functional components, so that the IAM service providing module 312 after function expansion can realize the functions realized by the security management service providing module 311.
  • the security management service providing module 311, here No longer please refer to the above-mentioned related description in combination with the security management service providing module 311, here No longer.
  • the STS providing module 313 is used to provide the user with a temporary access credential for custom timeliness and access rights, that is, a security token (STS Token).
  • STS Token a security token
  • the cloud management platform 310 can extend the function of the STS providing module 313, for example, extending the STS token issuing function API, so that the STS providing module 313 can use the input attributes specified by the token issuing function API and the first tenant A custom conversion rule that returns a token with tenant-defined attributes to the user (such as an application in the enclave instance), and the token is used to indicate that the application in the enclave instance has permission to access the target cloud service.
  • the request parameters can also include the to-be-verified required by the first tenant's custom input attributes during security management service configuration. Attribute information, such as the certification document of the enclave instance provided by the first tenant input or the enclave instance corresponding to the enclave instance type of the selected enclave.
  • the verification unit of the STS providing module 313 can first perform legality verification on the request parameters based on the trust relationship between the STS providing module 313, the security management service providing module 311, and the IAM service providing module 312, including but not limited to verifying the identity of the user or Permissions, verify whether the specified input attributes are included in the request parameters, and verify the legitimacy of the input attributes (including verification of the digital signature and expiration time of the input attributes). If the verification fails, the cloud management platform 310 returns an error reminder to the user node. Validation passes if validation succeeds.
  • the attribute conversion unit of the STS providing module 313 can perform a conditional judgment on the input attribute set in the request parameter according to the conversion rule in at least one attribute object, and perform attribute conversion after the input attribute set meets the conditions specified by the conversion rule. Transformation that determines the corresponding set of output attributes, which are tenant custom attributes.
  • the generating unit of the STS providing module 313 can generate a target access token according to the output attribute set, that is, a token carrying tenant-defined attributes.
  • the cloud management platform 310 can send the token to the application in the enclave instance.
  • the application program in the enclave instance can use the obtained target access token to send a service call request to the target cloud service provided by the cloud service module 320 .
  • the target cloud service in the cloud service module 320 confirms the legitimacy of the token to the STS, and on the premise that the STS confirms that the token is legal, the target cloud service can run an application program to access the target cloud service.
  • the target cloud service may send the target access token from the application program to the cloud management platform 310 through the internal network.
  • the STS providing module 313 of the cloud management platform 310 can perform legality verification on the target access token, for example, determine whether the target access token is issued by the STS providing module 313, and whether the attribute set associated with the target access token is security management
  • the IAM service providing module 312 may perform an access control check on the target access token, for example, whether the attribute set associated with the target access token satisfies the permissions granted to the application by the authorization policy.
  • the target cloud service can obtain the required information for legality verification and access control inspection from the relevant service providing modules based on the trust relationship with each service providing module of the cloud management platform 310.
  • information including but not limited to the verification key or certificate of the STS token generated by the STS providing module 313
  • this embodiment of the present application does not limit the implementation.
  • the security management service providing module 311 is a sub-module of a certain service providing module (such as the STS providing module 313) of the cloud management platform 310, correspondingly, the STS providing module 313 can be Function extension or extension of functional components, so that the STS providing module 313 after function expansion can realize the functions realized by the security management service providing module 311.
  • the security management service providing module 3131 is a sub-module of a certain service providing module (such as the STS providing module 313) of the cloud management platform 310
  • the STS providing module 313 can be Function extension or extension of functional components, so that the STS providing module 313 after function expansion can realize the functions realized by the security management service providing module 311.
  • the cloud management platform 310 may provide a custom channel for the security management service information desired by the tenant, so that the tenant can customize and configure the security management service information.
  • the cloud management platform 310 will expand the functions of other associated services, such as IAM services, STS services, etc., according to the security management service configuration information customized by the tenants, so that the cloud management platform 310 According to the security management service configuration information customized by the tenant, the access control management of the cloud resources purchased by the tenant can be realized in a centralized and safe manner.
  • This solution can decouple the upgrade and transformation of the functions of the cloud management platform 310 from the cloud service module, so that the service provision solution of the embodiment of the present application can be supported at a relatively low transformation cost without the need to modify the cloud service module.
  • tenants such as security administrators or authority administrators
  • they do not need to be aware of the underlying feature semantics of the hardware or software operating environment of the application in the enclave instance and the differences in hardware features corresponding to different applications, making it easier to write authorization policies Realization, greatly reducing the cost of policy writing and management.
  • this scheme enables the application program to directly use the STS token within the validity period of the STS token, which can greatly reduce the performance overhead of the device where the application program is located.
  • the cloud management platform can also provide tenants and users with other services, which can also be implemented in combination with security management services customized by tenants, so as to centrally and securely implement rights management of cloud resources purchased by tenants.
  • the attribute information is carried in the request parameter passed by the application program to the cloud management platform, which is only an illustration of the implementation of the service providing method in the embodiment of the present application and not a limitation.
  • the request parameter may not include the attribute information to be verified required by the input attribute customized by the tenant when configuring the security management service.
  • the cloud management platform can store in its associated (or accessible) storage the attribute information to be verified required by the input attribute customized by the tenant when configuring the security management service.
  • the request parameters can contain the user's identity information and the basic information required to issue STS tokens (such as qualification certificates, digital signatures, etc.).
  • the STS providing module of the cloud management platform can use the locally stored (or obtainable) attribute information associated with the user as the input attribute set associated with the request parameter to perform conditional judgment after passing the verification of the user's identity and authority. After the attribute set satisfies the conditions specified in the attribute conversion rules, attribute conversion is performed to determine the corresponding output attribute set, so that the generation unit of the STS providing module can generate the target access token according to the output attribute set.
  • the attribute information associated with the user may include, but not limited to, attribute information obtained based on the user's identity, network IP, etc., which is not limited in this application.
  • FIG. 4 shows a schematic flowchart of a method for setting cloud service access rights for an enclave instance in an enclave according to an embodiment of the present application.
  • this method can be used by the first tenant, the second tenant, the application program in the enclave instance, and as shown in Figure 3 Realization of cloud management platform and its functional modules.
  • the method may include the following steps:
  • S410 The IAM service of the cloud management platform confirms the enclave instance type input or selected by the first tenant and the conversion rule input or selected by the first tenant.
  • the enclave instance type and the conversion rule can be obtained by custom configuration of the first tenant, and the conversion rule is used to convert the certification document of the enclave instance provided by the enclave instance corresponding to the enclave instance type
  • Tenant-defined attributes can be used to help the cloud management platform implement centralized and secure access control management of cloud resources purchased by the first tenant.
  • the enclave instance type and conversion rules may be configured by the first tenant in real time.
  • the IAM service providing module of the cloud management platform may receive in real time the enclave instance type input or selected by the first tenant and the conversion rule input or selected by the first tenant.
  • the confirmation method of the conversion rule is not limited. For detailed configuration details, refer to the relevant description of the API and the console interface introduced above in conjunction with FIG. 3 , and will not be repeated here.
  • the STS of the cloud management platform receives the token acquisition request sent by the application in the enclave instance, converts the certification document of the enclave instance carried in the token acquisition request into a tenant-defined attribute according to the conversion rule, and sends the request to the
  • the application program returns a token carrying the tenant's custom attribute, and the token is used to indicate that the application program in the enclave instance has permission to access the target cloud service.
  • the STS providing module of the cloud management platform can provide APIs to the application programs in the enclave instance. After the application obtains the correct access credentials (such as access keys, etc.), it can send a token acquisition request to the STS providing module based on the security management service provided by the cloud management platform and the API provided by the STS providing module, so as to send the request to the STS parameter, which is used to request the access token of the API of the target cloud service subscribed by the tenant node.
  • the application obtains the correct access credentials (such as access keys, etc.)
  • it can send a token acquisition request to the STS providing module based on the security management service provided by the cloud management platform and the API provided by the STS providing module, so as to send the request to the STS parameter, which is used to request the access token of the API of the target cloud service subscribed by the tenant node.
  • the request parameters may include, but not limited to, input parameters such as certification documents of the enclave instance, API requester identity, and digital signature of the API request body.
  • the function of issuing the access token can be provided by the STS providing module, and after function expansion, the STS providing module can include a verification unit, an attribute conversion unit and a generation unit.
  • the verification unit can first verify the validity of the request parameters according to the metadata in at least one attribute object, such as verifying the identity of the requester, the digital signature of the request body, and the legality of the security attribute certification document (for example, whether it contains the specified attribute, whether the digital signature of the attribute certificate document is legal, whether the expiration time is legal), etc. If the verification fails, that is, the verification fails, an error reminder is returned to the application program.
  • the cloud management platform can also provide IAM services, and the cloud management platform can also obtain the first An authorization policy input or selected by a tenant or a second tenant on the cloud management platform, the authorization policy is used to indicate the access control conditions that the first tenant or the second tenant should satisfy when authorizing the application program to access the target cloud service.
  • the STS providing module of the cloud management platform may perform legality verification and access control check on the request parameters according to the authorization policy. If the legality verification fails or the access control check fails, the STS providing module may return an error reminder to the application and reject the application's token acquisition request.
  • each method step shown in FIG. 4 will be introduced in detail below.
  • the security management module can send security management service configuration information to the security management service provider module of the cloud management platform according to the API provided by the cloud management platform, and the security management service configuration information can be received and saved by the security management service provider module for verification from The legitimacy of APP request parameters, and the implementation of security access control management for cloud resources purchased by tenants.
  • At least one attribute object of the tenant's custom configuration including a security attestation object includes a security attribute
  • the security attribute can be used by the cloud management platform for the attestation document from the APP Verification is performed in order to implement more precise access control decisions based on the APP's trusted computing environment or confidential computing environment (such as Enclave), and to centralize and securely manage cloud resources.
  • the creation time attribute is used to indicate the creation time, indicating that the certification document from the APP must include the creation time to be valid, otherwise, the legality verification will fail.
  • Program metric-related attributes are used to indicate metric-related attributes of executable programs, such as trusted metric algorithms, credible metric values, etc., indicating that certification documents from user nodes need to include credible metric-related information to be valid, and vice versa Then the legality verification fails.
  • the relevant attributes of the digital signature certificate indicate the digital signature certificate, certificate chain and other attributes of the security attribute certification document, indicating that the certification document from the APP needs to include information such as the digital signature certificate and certificate chain to be valid, otherwise the legality verification fails.
  • tenant The customized business security attributes include any business security attributes customized by the tenant, which will not be repeated here.
  • the verification unit of the STS provisioning module of the cloud management platform can verify the legitimacy and authority of the request parameters carried in the token acquisition request according to the authorization policy configured on the side of the IAM service provisioning module and the metadata configured on the side of the security management service provisioning module wait.
  • the attribute conversion unit of the STS providing module can convert the relevant attributes in the certification document as input attribute sets according to the conversion rules related to the enclave attributes of the security management service providing module.
  • the tenant-defined attribute is the output attribute set, and the generation unit can use the output attribute set to generate a valid target access token, that is, a token carrying the tenant-defined attribute.
  • the STS provisioning module can return a valid target access token to the APP.
  • At least one cloud service of the cloud service module does not need to be upgraded (including API transformation or SDK transformation), that is It enables the cloud management platform to support access control policies based on APP-based device operating environment attributes, is not intrusive to cloud service APIs, and is friendly to both the application ecology and the developer ecology. For tenants, it is easier for tenants to write authorization policies without the need to perceive the underlying semantic characteristics of the device operating environment attributes where the APP is located. It can support different types of user device characteristics, and can shield the underlying semantic characteristics of different types of user devices, with minimal effort. Design and implementation costs expand application scenarios.
  • the enclave instance and the certification document of the enclave instance are used as an example to explain the cloud service access permission setting method in the embodiment of the present application, and it does not limit the attribute object targeted by the method to be an enclave instance , the enclave instance can be replaced with other types of instances, and the service configuration information or request parameters related to the enclave instance can be replaced with other attributes, which will not be repeated here.
  • the cloud management platform 600 may include: a first service providing module 610, configured to provide an identity management and access control IAM service, and the IAM service is used to confirm the enclave enclave instance input or selected by the first tenant type and the conversion rule input or selected by the first tenant, wherein the conversion rule is used to convert the proof document of the enclave instance provided by the enclave instance corresponding to the enclave instance type of the enclave into a tenant-defined attribute; the second The service providing module 620 is configured to provide a security token service STS, and the STS is configured to receive a token acquisition request sent by an application in the enclave instance, wherein the token acquisition request carries the enclave instance's Proof document, the STS is also used to convert the proof document into the tenant-defined attribute according to the conversion rule, and return the token carrying the tenant-defined attribute to the application program, the command The sign is used to indicate that the application in the enclave instance has permission to access the target cloud service.
  • each functional unit in the embodiment of the present application may be integrated into one processing unit, each unit may exist separately physically, or two or more units may be integrated into one unit.
  • the above-mentioned integrated units can be implemented in the form of hardware or in the form of software functional units.
  • the integrated unit is realized in the form of a software function unit and sold or used as an independent product, it can be stored in a computer-readable storage medium.
  • the technical solution of the present application is essentially or part of the contribution to the prior art or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium , including several instructions to make a computer device (which may be a personal computer, a server, or a network device, etc.) or a processor (processor) execute all or part of the steps of the methods described in the various embodiments of the present application.
  • the aforementioned storage media include: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), magnetic disk or optical disc, etc., which can store program codes. .
  • the communication device 700 shown in FIG. 7 includes at least one processor 710 and a memory 720 , and optionally, may further include a communication interface 730 .
  • the memory 720 can be a volatile memory, such as a random access memory; the memory can also be a nonvolatile memory, such as a read-only memory, a flash memory, a hard disk (hard disk drive, HDD) or a solid-state drive (solid-state drive, SSD), or memory 720 is any other medium that can be used to carry or store desired program code in the form of instructions or data structures and can be accessed by a computer, but is not limited thereto.
  • the memory 720 may be a combination of the above-mentioned memories.
  • connection medium between the processor 710 and the memory 720 is not limited in this embodiment of the present application.
  • a communication interface 730 is also included.
  • the processor 710 communicates with other devices, data transmission can be performed through the communication interface 730 .
  • the processor 710 in FIG. 7 can call the computer stored in the memory 720 to execute instructions, so that the device 700 can execute the tenant or user in any of the above method embodiments. The method executed.
  • the processor is coupled to the memory through an interface.
  • the chip system further includes a memory, where computer programs or computer instructions are stored.
  • the embodiment of the present application also relates to a processor, the processor is used to call the computer program or computer instruction stored in the memory, so that the processor executes the above method embodiment.
  • the processor mentioned in any of the above can be a general-purpose central processing unit, a microprocessor, a specific application integrated circuit (application-specific integrated circuit, ASIC), or one or more for controlling the above-mentioned Figure 7 An integrated circuit for program execution of the method in the illustrated embodiment.
  • the memory mentioned in any of the above can be read-only memory (read-only memory, ROM) or other types of static storage devices that can store static information and instructions, random access memory (random access memory, RAM), etc.
  • These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing apparatus to operate in a specific manner, such that the instructions stored in the computer-readable memory produce an article of manufacture comprising instruction means, the instructions
  • the device realizes the function specified in one or more procedures of the flowchart and/or one or more blocks of the block diagram.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

一种针对飞地实例的云服务访问权限设置方法和云管理平台。该云管理平台提供IAM服务和STS,IAM服务用于确认第一租户输入或选择的飞地enclave实例类型以及第一租户输入或选择的转换规则,转换规则用于将飞地enclave实例类型对应的enclave实例提供的enclave实例的证明文档转换成租户自定义属性;STS用于接收enclave实例中的应用程序发送的令牌获取请求,令牌获取请求携带有enclave实例的证明文档,STS还用于根据转换规则将证明文档转换为租户自定义属性,并向应用程序返回携带有租户自定义属性的令牌,令牌用于指示enclave实例中的应用程序具有访问目标云服务的权限。

Description

针对飞地实例的云服务访问权限设置方法和云管理平台
相关申请的交叉引用
本申请要求在2022年02月25日提交中华人民共和国知识产权局、申请号为202210176632.8、申请名称为“基于云技术的服务提供方法和云管理平台”的中国专利申请的优先权,其全部内容通过引用结合在本申请中;本申请要求在2022年05月30日提交中华人民共和国知识产权局、申请号为202210605661.1、申请名称为“针对飞地实例的云服务访问权限设置方法和云管理平台”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及云技术领域,特别涉及一种针对飞地实例的云服务访问权限设置方法和云管理平台。
背景技术
云技术(cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。随着云计算的发展,越来越多的租户将业务迁移到云上,由此也对云资源提出了更高的访问要求和安全要求。
其中,基于属性的访问控制(attribute based access control,ABAC)模型是业内常用的一种基于策略的访问控制方式,通过使用将属性组合在一起的策略,将访问权限授予用户,来实施较为精确的访问控制决策。
然而,该ABAC模型依赖于属性信息的收集、传递和使用,而如何安全有效地收集、传递和使用各类属性信息,仍为亟需解决的重要问题。
发明内容
本申请实施例提供一种针对飞地实例的云服务访问权限设置方法和云管理平台,有助于安全有效地收集、传递和使用各类属性信息,以保障不同类型的租户实现对云资源的集中、安全的访问管理。
第一方面,本申请实施例提供了一种针对飞地enclave实例的云服务访问权限设置方法,该方法可由云服务系统执行,该云服务系统可以包括云管理平台、目标云服务和enclave实例中的应用程序,其中,该云管理平台可以为云端服务器,enclave实例中的应用程序可以部署在用户设备上。
该方法可以包括:云管理平台提供身份管理与访问控制IAM服务,所述IAM服务用于确认第一租户输入或选择的飞地enclave实例类型以及所述第一租户输入或选择的转换规则,其中,所述转换规则用于将所述飞地enclave实例类型对应的enclave实例提供的enclave实例的证明文档转换成租户自定义属性;所述云管理平台提供安全令牌服务STS,所述STS用于接收所述enclave实例中的应用程序发送的令牌获取请求,其中,所述令牌 获取请求携带有所述enclave实例的证明文档,所述STS还用于根据所述转换规则将所述证明文档转换为所述租户自定义属性,并向所述应用程序返回携带有所述租户自定义属性的令牌,所述令牌用于指示enclave实例中的应用程序具有访问目标云服务的权限。
通过上述方法,云管理平台支持第一租户自定义安全管理服务配置信息,该安全管理服务配置信息包括第一租户输入或选择的飞地enclave实例类型以及所述第一租户输入或选择的转换规则,用于描述第一租户对自身订购的至少一个云服务的安全管理需求,以便STS根据接收到的令牌获取请求,向enclave实例中的应用程序发放关联于第一租户的安全管理需求的令牌,从而保障不同类型的租户实现对云资源的集中、安全的访问管理。
结合第一方面,在一种可能的实现方式中,所述IAM服务还用于确认所述第一租户或者第二租户输入或选择的授权策略,所述STS在满足所述授权策略的条件下根据所述转换规则将所述证明文档转换为所述租户自定义属性,并向所述应用程序返回携带有所述租户自定义属性的令牌。可选地,所述第一租户的角色为安全管理员,所述第二租户的角色为权限管理员。
通过上述方法,IAM服务和STS可以根据证明文档,在满足授权策略的情况下,集中地向enclave实例中的应用程序发放访问目标云服务的个性化令牌,从而实现对不同类型的租户的云资源的集中、安全的访问管理。应理解的是,本申请实施例中,第一租户和第二租户是对用于实现不同管理功能的租户角色的划分,并不限定该租户为不同用户,在实际应用中,第一租户和第二租户可以为同一租户的不同角色,也可以为不同租户的不同角色,在此不再赘述。
结合第一方面,在一种可能的实现方式中,所述授权策略包括允许所述应用程序在所述飞地enclave实例类型对应的enclave实例中访问所述目标云服务。
结合第一方面,在一种可能的实现方式中,所述方法还可以包括:所述enclave实例中的应用程序在发送所述令牌获取请求之前,从可信计算基TCB获取所述enclave实例的证明文档。
结合第一方面,在一种可能的实现方式中,所述方法还可以包括:所述enclave实例中的应用程序向所述目标云服务发送服务调用请求,所述服务调用请求携带有所述令牌;所述目标云服务接收所述服务调用请求,并向所述STS确认所述令牌的合法性,在所述STS确认所述令牌合法的前提下,所述目标云服务允许所述应用程序访问所述目标云服务。
结合第一方面,在一种可能的实现方式中,所述证明文档包括至少一个平台配置寄存器PCR度量值。
第二方面,本申请实施例提供了一种云服务系统,包括云管理平台和目标云服务,其中,所述云管理平台提供身份管理与访问控制IAM服务,所述IAM服务用于确认第一租户输入或选择的飞地enclave实例类型以及所述第一租户输入或选择的转换规则,其中,所述转换规则用于将所述飞地enclave实例类型对应的enclave实例提供的enclave实例的证明文档转换成租户自定义属性;所述云管理平台提供安全令牌服务STS,所述STS用于接收所述enclave实例中的应用程序发送的令牌获取请求,其中,所述令牌获取请求携带有所述enclave实例的证明文档,所述STS还用于根据所述转换规则将所述证明文档转换为所述租户自定义属性,并向所述应用程序返回携带有所述租户自定义属性的令牌,所述令牌用于指示enclave实例中的应用程序具有访问所述目标云服务的权限。
结合第二方面,在一种可能的实现方式中,所述IAM服务还用于确认所述第一租户或者第二租户输入或选择的授权策略,所述STS在满足所述授权策略的条件下根据所述转换规则将所述证明文档转换为所述租户自定义属性,并向所述应用程序返回携带有所述租户自定义属性的令牌。
结合第二方面,在一种可能的实现方式中,所述第一租户的角色为安全管理员,所述第二租户的角色为权限管理员。
结合第二方面,在一种可能的实现方式中,所述授权策略包括允许所述应用程序在所述飞地enclave实例类型对应的enclave实例中访问所述目标云服务。
结合第二方面,在一种可能的实现方式中,所述enclave实例中的应用程序在发送所述令牌获取请求之前,从可信计算基TCB获取所述enclave实例的证明文档。
结合第二方面,在一种可能的实现方式中,所述enclave实例中的应用程序向所述目标云服务发送服务调用请求,所述服务调用请求携带有所述令牌;所述目标云服务接收所述服务调用请求,并向所述STS确认所述令牌的合法性,在所述STS确认所述令牌合法的前提下,所述目标云服务允许所述应用程序访问所述目标云服务。
结合第二方面,在一种可能的实现方式中,所述证明文档包括至少一个平台配置寄存器PCR度量值。
第三方面,本申请实施例提供了一种云管理平台,包括:第一服务提供模块,用于提供身份管理与访问控制IAM服务,所述IAM服务用于确认第一租户输入或选择的飞地enclave实例类型以及所述第一租户输入或选择的转换规则,其中,所述转换规则用于将所述飞地enclave实例类型对应的enclave实例提供的enclave实例的证明文档转换成租户自定义属性;第二服务提供模块,用于提供安全令牌服务STS,所述STS用于接收所述enclave实例中的应用程序发送的令牌获取请求,其中,所述令牌获取请求携带有所述enclave实例的证明文档,所述STS还用于根据所述转换规则将所述证明文档转换为所述租户自定义属性,并向所述应用程序返回携带有所述租户自定义属性的令牌,所述令牌用于指示enclave实例中的应用程序具有访问目标云服务的权限。
结合第三方面,在一种可能的实现方式中,所述IAM服务还用于确认所述第一租户或者第二租户输入或选择的授权策略,所述STS在满足所述授权策略的条件下根据所述转换规则将所述证明文档转换为所述租户自定义属性,并向所述应用程序返回携带有所述租户自定义属性的令牌。
结合第三方面,在一种可能的实现方式中,所述第一租户的角色为安全管理员,所述第二租户的角色为权限管理员。
结合第三方面,在一种可能的实现方式中,所述授权策略包括允许所述应用程序在所述飞地enclave实例类型对应的enclave实例中访问所述目标云服务。
第四方面,本申请实施例提供了一种云管理平台,包括处理器和存储器,所述存储器存储有程序指令,所述处理器执行所述程序指令以执行上述第一方面中云管理平台执行的任一项方法。
第五方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,当所述计算机程序在计算装置上运行时,使得所述计算装置执行如上述第一方面以及第一方面任一可能实现方式所述的方法。
本申请实施例在上述各方面提供的实现的基础上,还可以进行进一步组合以提供更多 实现。
上述第二方面至第五方面中任一方面中的任一可能实现方式可以达到的技术效果,可以相应参照上述第一方面中任一方面中的任一可能实现方式可以达到的技术效果描述,重复之处不予论述。
附图说明
图l示出了本申请实施例适用的云服务系统架构示意图;
图2示出了一些基于云技术的服务提供方案的示意图;
图3示出了本申请实施例的云服务系统架构的示意图;
图4示出了本申请实施例的云服务访问权限设置方法的流程示意图;
图5示出了本申请实施例的云服务访问权限设置方法的流程示意图;
图6示出了本申请实施例的云管理平台的结构示意图;
图7示出了本申请实施例的通信装置的结构示意图。
具体实施方式
以下,对本申请实施例中的部分用语进行解释说明,以便于本领域技术人员理解。
l、云服务:
基于因特网(Internet)、以表现层状态转移应用程序接口(representational state transfer application programming interface,REST API)形式提供的、满足企业互联网技术(internet technology,IT)所需的弹性计算、虚拟网络、数据存储、数据库等服务。
本申请实施例中,可以将云服务的提供商简称为云厂商。
2、云资源:
云管理平台为租户提供的云计算资源的简称,是指云计算相关的资源的整合,包括云服务和云实例。
云服务例如可以包括但不限于私有网络(virtual private cloud,VPC)提供服务、网关提供服务、防火墙服务、NAT服务、云盘、弹性公网IP(elastic IP address,EIP)、云监控服务以及其他各种云厂商提供的云服务。云实例例如可以包括但不先于虚拟机、容器或裸金属服务器等,其中,虚拟机、容器或裸金属服务器均为云厂商在云厂商的数据中心提供给租户使用的虚拟实例。示例地,云实例可以包括飞地enclave实例。
3、租户:
云资源的属主,是对云资源拥有管理权限的主体。
其中,租户可以按照业务需求,通过付费方式,向云厂商订购或租用云资源。租户对购买的云资源的管理权限可以包括但不限于安全管理权限、访问控制权限等。其中,可以按照租户所实现的不同管理功能,将租户按角色划分为第一租户和第二租户,该第一租户例如可以用于实现对购买的云资源的安全管理权限,该第二租户可以用于实现对购买的资源的访问控制权限。
本申请实施例中,租户对云资源的管理权限可以通过租户的电子设备(包括实体设备和/或虚拟装置)实现。在一些实施例中,租户的电子设备可以称为租户节点。第一租户和 第二租户可以为同一租户的不同角色,也可以为不同租户的部分角色,本申请实施例对此不作限定。
4、用户:
云资源的操作人员,被云资源属主授权后才能操作云资源。
本申请实施例中,用户对云资源的操作可以通过用户的电子设备(包括实体设备和/或虚拟装置)实现。在一些实施例中,用户的电子设备可以称为用户节点。
本申请实施例中,用户可以包括enclave实例中的应用程序。
5、身份管理与访问控制(identity and access management,IAM)服务:
一种Web服务,可以帮助租户安全地控制对资源的访问,控制用户(例如enclave实例中的应用程序)进行身份验证(登录)和授权(具有权限)以使用资源,具有单点登录、强大的认证管理、基于策略的集中式授权和审计、动态授权、企业可管理性等功能。
在本申请实施例的云服务场景中,租户可以通过IAM服务来对用户实施访问控制管理,针对不同云资源向不同用户授予不同权限。
6、安全令牌服务(security token service,STS):
一种临时访问权限管理服务,用于获取可以自定义时效和访问权限的临时访问凭证,即安全令牌(STS Token)。
在本申请实施例的云服务场景中,租户在向云厂商购买云资源时,可以在云厂商进行注册,获得租户的实体身份标识(tenant identity)以及访问凭证(例如包括身份密钥、登录密码等)。租户可以给用户创建对应的身份(user identity)及凭证(例如身份密钥等),并对用户授权;用户在获得凭证及授权后,可以基于用户的访问凭证从STS获取STS Token,从而使用STS Token访问租户购买的云资源,例如目标云服务。
7、基于属性的访问控制(attribute based access control,ABAC):
一种访问控制方法,根据主体的指派属性、客体的指派属性、环境条件和与这些属性和条件相关的一组策略,允许或拒绝主体对客体所请求的操作。
其中,属性是主体、客体或环境条件的特征。属性信息可以以“名称-值”对的形式定义。
主体是人或非执行实体(Non-Practicing Entities,NPE)(如对客体发起访问请求的设备)。主体可以被指派一个或多个属性。
由ABAC模型管理其访问机制的系统资源,例如包含或接收信息的设备、文件、记录、表、进程、程序、网络或域。它可以是资源或被请求访问的实体,也可以是任何可被主体操作的对象,包括数据、应用程序、服务、设备和网络等。
操作是应主体对客体的请求而需要被执行的功能,可以包括但不限于读、写、编辑、删除、复制、执行和修改等。
策略是规则或关系的表达,该策略使云管理平台能够根据给定的主体、客体和可能的环境条件的属性值来确定是否允许主体所请求的访问。
环境条件:访问请求所处的环境/态势上下文。环境条件是可检测的环境特征,独立于主体或客体,可以包括当前时间、星期几、用户位置或当前威胁级别、安全级别等。
需要说明的是,本申请实施例中,ABAC是一种逻辑访问控制方法,该逻辑访问控制的目的是保护客体(无论是数据、服务、应用程序、网络设备或是其他类型的IT资源)不受未授权操作的影响,这些操作可能包括发现、读取、创建、编辑、删除和执行客体。受保护客体归个人或组织(例如本申请实施例的租户)所有,并具有某种内在价值,激励这 些所有者保护它们。作为客体的所有者,租户有责任建立一个策略,来描述可以对客体执行哪些操作、由谁执行,以及主体在什么上下文中可以执行这些操作。如果主体满足客体属主所建立的访问控制策略,则该主体被授权可以对客体执行所需的操作,即该主体被授予对该客体的访问权限。如果主体不满足策略,则拒绝对该客体的访问。
8、可信运行环境(trusted execution environment,TEE):
一种基于硬件增强的运行环境隔离机制(例如ARM Trust Zone),与片上系统(System-on-a-chip)的其他模块隔离并能够执行可信应用程序(trusted application,TA)的安全区域,能够确保敏感数据在隔离、可信环境中存储、处理和保护,通过提供隔离的、安全执行的授权软件,实现端到端安全。
其中,TEE可以通过对硬件、固件、系统软件和应用程序等的度量来定义运行环境的特征,并可以提供运行环境特征的证明文档。
9、可信计算基(trusted computing base,TCB):
指为实现计算机系统安全保护的所有安全保护机制的集合,各机制可以以硬件、固件和软件的形式出现。一旦可信计算基的某个构件出现程序错误或者安全隐患,就会对整个系统的安全造成危害。与之相反,如果除可信计算基之外的系统的其他部分出现问题,也只是泄漏了系统安全策略赋予它们的相关权限而已,这些权限一般都是比较低的,对系统的安全造成危害较小。
本申请实施例中,TCB可以包括安全模块和公钥基础设施(public key infrastructure,PKI),其中,安全模块可以为用户节点提供业务安全相关的信息,例如可信硬件信息、可信软件信息、可信固件信息等;安全模块还提供对用户节点运行环境的启动度量,并提供对运行环境的证明文档。PKI是安全模块的基础设施,它可为安全模块颁发数字证书,PKI提供信任根证书。STS会使用PKI的根证书来验证安全模块所提供的证明文档的合法性。
10、飞地enclave:
在硬件安全扩展中,英特尔SGX提供的称为enclave的硬件安全的受信任执行环境。飞地可以为用户程序提供机密性和完整性的有力保证,以对云厂商的最小信任来保护用户外包数据的安全性。
11、服务提供模块:
云管理平台的用于实现管理服务的功能模块,以便帮助租户安全地控制用户对云资源的访问控制管理。该管理服务可以包括但不限于上述IAM服务、STS等。其中,一些服务可以配合使用,例如IAM服务提供对用户的长期权限配置(不带有效期限的授权),而STS可以按用户的单次业务会话(session)来颁发一个较短有效期、按需进行权限收缩的安全访问令牌,以提供更为精细的访问控制管理。
本申请实施例中,该管理服务还可以包括安全管理服务,该安全管理服务可由云管理平台的安全管理服务提供模块提供,支持租户节点根据自身的应用场景需求、业务需求等,向云管理平台提供租户自定义的安全管理服务配置信息(包括租户输入或选择的飞地enclave实例类型以及所述第一租户输入或选择的转换规则),以便云管理平台集中、安全地对租户购买的云服务实施访问控制管理。
其中,在具体应用中,一个可能的实现方式是,该安全管理服务提供模块可以为云管理平台的独立服务提供模块,该安全管理服务提供模块可以与云管理平台的其它服务提供模块(例如IAM服务提供模块和/或STS提供模块)具有信任关系,使得其它服务提供模 块能够结合租户自定义的安全管理服务配置信息,对云资源实施集中、安全的访问控制管理。另一种可能的实现方式是,该安全管理服务提供模块可以为云管理平台的某个服务提供模块(例如IAM服务提供模块或STS提供模块)的子模块,使得该服务提供模块能够结合租户自定义的安全管理服务配置信息,对云资源实施集中、安全的访问控制管理。本申请实施例对该安全管理服务提供模块的部署方式或者产品形态不做限定。
12、请求参数(request params):
租户或者应用程序向云管理平台或云服务模块(用于向租户或应用程序提供至少一种云服务)发送的一系列参数,用于请求对租户节点购买的云资源进行管理配置或者实施访问操作。
本申请实施例中,租户或者应用程序可以通过调用云管理平台或云服务模块提供的应用程序接口(application program interface,API),分别向云管理平台或云服务模块传入相应的请求参数。该请求参数可以按照云管理平台或云服务模块支持的通信协议规定的格式进行组织或构建。例如,该请求参数可以承载在API请求报文中,该API请求报文可以包括API请求头(request header)和API请求体(request body)。该API请求头可以用于承载用于指示通信协议、请求方法(例如SET方法、GET方法或DELETE方法等)、对API请求体的签名等的参数,该API请求体中用于承载API请求者的身份标识、用户节点的属性文档等参数。本申请实施例对该请求参数的具体内容以及组织方式不做限定。
本申请实施例涉及的至少一个,包括一个或者多个;其中,多个是指大于或者等于两个。另外,在本申请的描述中,“第一”、“第二”等词汇,仅用于区分描述对象的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。
下面结合附图及实施例详细介绍本申请。
图1示出了本申请实施例适用的云服务系统的架构示意图。
如图1所示,该云服务系统100可以包括云厂商提供的云管理平台110、以及云服务模块120。
云管理平台110对外可通过互联网与租户(例如权限管理员)操作的电子设备、或者用户(例如运维人员、应用程序等)操作的电子设备连接。云管理平台110在系统100内可通过内部网络与云服务模块120连接。租户可以在云管理平台110注册账号,该账号具有购买(包括订购或租用等不同付费形式)云资源的资格。在购买云资源成功后,云管理平台110可以通知云服务模块120创建云资源,并向租户以及租户授权的用户(例如其他租户)提供合适的访问方式,以便租户远程管理云资源,以及控制用户远程访问或使用云资源,来为租户和用户提供至少一种云服务,表示为云服务1、云服务2、......、云服务n,n为大于等于1的整数。
举例而言,云资源例如为一个虚拟机,租户可以在云管理平台选择虚拟机的规格(例如内存、处理器和磁盘等),云管理平台110在租户付费成功后,通知云服务模块120创建具有该规格的虚拟机。租户可以配置用户对该虚拟机的访问权限(如登录到虚拟机,对虚拟机的停机操作、删除操作等),配置成功后,该用户就可以对该虚拟机执行相应的授权操作。租户也可以将购买或创建虚拟机权限授予给用户。应理解,本申请实施例中,云资源也可以例如为容器、裸金属服务器、弹性公网IP(Elastic IP Address,EIP)等各种云服务,本申请实施例对云服务类型不作限定。
云管理平台110可以包括至少一个服务提供模块,该至少一个服务提供模块可用于为租户和用户提供相应的服务,以便帮助租户安全地实现对购买的云资源的访问控制管理,针对不同云资源向不同用户授予不同的访问权限,以及控制用户进行身份验证和授权等,以便用户安全地访问或使用云资源。
示例地,该至少一个服务提供模块可以包括IAM服务提供模块111和STS提供模块112。该IAM服务提供模块111为租户和用户提供前文述及的IAM服务,该STS提供模块112为租户和用户提供前文述及的STS服务。
目前,在一些基于云技术的服务提供方案中,租户会使用前文述及的IAM服务、STS服务,来配置应用程序的访问控制策略,以及实施用户对云资源的访问控制管理。该方案可以包括如图2所示的方法步骤:
S21:租户通过云管理平台110侧的IAM服务提供模块111提供的IAM服务,为用户设置(set)授权策略(authorization policy),也即访问控制策略。
S22:设置完成后,IAM服务提供模块111会向租户反馈授权应答结果。
如果设置成功,则被授权的用户可以使用相应的权限,可以对租户购买的云资源进行访问操作。如果设置失败,则用户未获得授权,该用户将无法对租户购买的云资源进行访问操作。
S23:用户在获得授权后,可以获得正确的访问凭证(例如访问密钥(Access Keys))。该情形下,用户可以基于所获得的访问凭证,向云管理平台110侧的STS提供模块112发送请求参数,该请求参数中可以包含用户的访问凭证,该请求参数用于请求获取STS令牌,该STS令牌用于用户对租户购买的云资源进行访问操作。
S24:STS提供模块112接收到来自应用程序的请求参数后,通过与IAM服务提供模块111之间的信任关系,在基于来自用户的访问凭证验证身份以及权限成功后,向用户发放目标STS令牌。
S25:用户基于从STS提供模块112获得的目标STS令牌,向云服务模块120发起访问请求,以请求访问目标云服务,例如云服务1。
S26:云服务模块120侧的目标云服务通过与STS提供模块112之间的信任关系,在基于来自应用程序的目标STS令牌验证用户身份以及权限成功后,执行相应的访问处理操作,并向应用程序反馈访问应答。
其中,为了更精细地控制应用程序对云资源的安全访问,在一些设计中,云管理平台110还会在IAM服务提供模块111启用前文述及的ABAC模型,来为用户配置授权策略。
在这些设计中,在上述图2所示的S21,租户可以适配于ABAC模型的使用要求,根据用户属性、资源属性、请求参数属性等来设置授权策略。在上述图2所示的S25,当用户发起针对云资源的访问请求时,云服务模块120侧的目标云服务会根据来自用户的访问请求中携带的请求参数,来实施基于属性的访问控制检查,并在检查通过后,为用户提供目标云服务。
示例地,在启用ABAC模型时,云管理平台110可以提供API,使得租户可以通过云管理平台110提供的API,配置ABAC模型所需的相关属性信息,用于实现该配置的授权文档的格式例如如下所示:

其中,以授权语义为:“允许用户“张三”必须通过指定的信任级为2级的安全运行环境发起请求才可以执行指定的KMS操作;其中信任级为2级的安全运行环境被定义为预先知晓的一个可信赖的软件度量值PCR0,以及预先知晓的一个可信赖的数字签名证书摘要值PCR8”为例,该授权文档可以如下所示:
在上述启用IAM服务、STS服务以及ABAC模型的服务提供方案中,授权策略支持的控制维度属性越多,访问控制的安全强度就会越高,虽然可以在一定程度上更精细地帮 助实现对租户购买的云资源的安全访问控制,但该方案设计对租户授权管理的专业水平要求较高,例如它要求授权管理人员能理解每个访问控制属性的精确语义及其正确的取值,这个在实践中非常困难,一般的授权管理人员并不理解用户的可信度量方法及可信度量值的测定,在授权策略中存储度量值是非常容易导致出错而且难以发现错误,这个会导致极大的管理成本。随之而来的新的设计挑战是,每个云服务如何安全有效地收集和传递各类属性,以保障不同类型的租户实现对云资源的集中、安全的访问管理,这个也导致每个云服务极大的技术设计和改造实施成本。
针对上述问题,本申请实施例提供了一种针对飞地enclave实例的云服务访问权限设置方法和云管理平台,有助于安全有效地收集、传递和使用各类属性信息,以保障不同类型的租户节点实现对云资源的集中、安全的访问管理,满足不同类型的租户对云资源的管理诉求、以及不同用户对云资源的使用诉求。
为了便于理解,下面在图1所示的系统架构的基础上,介绍本申请实施例的云服务系统、云管理平台、以及针对飞地enclave实例的云服务访问权限设置方法的实现原理。
如图3所示,本申请实施例适用的云服务系统300可以包括云管理平台310和云服务模块320。
与图1相似地,云管理平台310对外可通过互联网与租户或者用户的电子设备连接。云管理平台310在系统300内可通过内部网络与云服务模块320连接。租户可以在云管理平台310注册账号以购买(包括订购或租用等不同付费形式)云资源。在购买资源成功后,云管理平台310可以通知云服务模块320创建云资源,并向租户以及租户节点授权的用户提供合适的访问方式,以便租户远程管理云资源,以及控制用户远程访问或使用云资源,来为用户提供基于该云资源对应的云服务,例如,可以表示为云服务1、云服务2、......、云服务n,n为大于等于1的整数。该云资源可以为容器、裸金属服务器、弹性公网IP(Elastic IPAddress,EIP)等各种云服务,本申请实施例对云服务类型不作限定。
其中,云管理平台310可以包括至少一个服务提供模块,例如包括但不限于安全管理服务提供模块311、IAM服务提供模块312以及STS提供模块313等。可选地,该至少一个服务提供模块中的任一服务提供模块还可以包括子功能单元,例如,安全管理服务提供模块311可以包括对象管理单元,STS提供模块313包括验证单元、属性转换单元和生成单元。该云管理平台310的至少一个服务提供模块及其子功能单元,可以帮助收集和传递各类属性信息,以保障不同类型的租户实现对其购买的云资源的集中、安全的访问管理,满足不同类型租户对云资源的管理诉求、以及不同用户对云资源的使用诉求,实现本申请实施例的方法。
可以理解的是,图3中仅示例性地表示该系统300可以包括的功能模块,并不限定各功能模块的数量以及功能,例如,该系统300中可以包括多种类型的云服务模块,任一云服务模块也可以包括各自的云服务子模块,来为不同类型租户提供不同类型的云服务,本申请实施例的云管理平台310的服务提供模块不限于图3所示的服务提供模块,对服务提供模块的子功能单元也不做限定,在此不再赘述。
下面以云实例为飞地enclave实例为例,结合附图及实施例,对图3所示的系统300以及该系统300所包含的功能模块及其子功能单元的功能进行介绍。
1、安全管理服务提供模块311:
该安全管理服务提供模块311用于对租户、用户以及租户购买的云资源提供安全管理服务,包括但不限于基于安全管理服务配置信息实现对安全管理服务的生成(create)、描述(describe)、升级(update)或者删除(delete)等功能,以使得该安全管理服务提供模块311可以支持租户自定义属性,帮助安全有效地收集、传递以及使用租户自定义的用于实现安全管理服务的相关属性。
如图3所示,该安全管理服务提供模块311可以包括对象管理单元,该对象管理单元可以接收第一租户(例如安全管理员)输入或选择的安全管理服务配置信息,该安全管理服务配置信息例如可以包括用于描述属性对象的元数据以及转换规则,对象管理单元可以根据该安全管理服务配置信息创建至少一个属性对象,每个属性对象可以包括至少一个属性的元数据(metadata)和转换规则(rule),该元数据用于描述所述至少一个属性的类型和操作方法,该转换规则为所述至少一个属性的转换规则。IAM服务提供模块312和STS提供模块313基于与该安全管理服务提供模块311之间的信任关系,可以利用该安全管理服务提供模块311的至少一个属性对象的元数据和转换规则,来集中、安全地实现对租户购买的云资源的访问控制管理。
具体而言,在具体配置时,在一个示例中,云管理平台310可以向第一租户提供安全管理服务配置API,该安全管理服务配置API用于指示表示所述安全管理服务配置信息的不同属性对象的多个字段。第一租户可以在其电子设备上对每个字段输入相应的参数。云管理平台310可以接收第一租户的电子设备发送的安全管理服务配置信息,该安全管理服务配置信息可以包括该多个字段和所述租户节点针对每个字段输入的参数。在另一个示例中,云管理平台310可以向第一租户的电子设备提供控制台界面,该控制台界面可以提供多个属性配置项。第一租户可以在控制台界面的多个属性配置项输入或选择相应的参数。云管理平台310可以确定所述第一租户在所述控制台界面输入或选择的所述安全管理服务配置信息,该安全管理服务配置信息包括控制台界面提供的多个属性配置项及所述第一租户针对每个属性配置项输入或选择的参数。本申请实施例对此配置过程的具体实现方式不做限定。
第一租户在云管理平台310对安全管理服务提供模块311的功能配置完成后,安全管理服务提供模块311可以保存获取到的安全管理服务配置信息。该对象管理单元可以根据保存的安全管理服务配置信息中的属性对象描述信息创建至少一个属性对象,以便对购买的云资源实施访问控制管理。
其中,以云管理平台310提供API的方式来对安全管理服务提供模块311的功能配置为例,用于实现该安全管理服务配置的文档格式中可以包括元数据字段以及转换规则字段,例如如下所示:

具体地,云管理平台310可以在互联网提供的网页上显示以上文档格式,并注明相应字段的用法,例如上述//后面的相关提示。租户在看到上述文档格式之后,根据上述文档格式填入相应的参数,例如在″Metadata″:后面填入以下信息(这里仅提供一个举例):
表示某个属性对象的元数据格式,它可以包含多个不同的属性名称与属性值,并指明了属性值的取值类型。其中,“uint.size 8”表示类型为无符号整数,共8个字节。“text”表示文本类型。[*text]表示列表,其中包含一个或多个text值。″;″表示对指定类型的语义解释。
进一步,第一租户可以在″Rules″:后面填入一条或多条转换规则。一条转换规则的一种描述方法是:(输入属性集需满足的条件表达式)=>(输出属性集)。一个Rules的实施举例如下所示:
其中,转换规则可以以键值对的形式存在并采用机器语言描述。以分号“;”隔开不同的转换规则,每条属性转换规则中,“=>”表示输出,“=>”之前的键值对表示转换规则指定的输入属性集以及取值所需满足的条件,“=>”之后的键值对表示转换规则指定的输出属性集以及取值,符号“&&”表示“并且”,或者称为“和”、“以及”等逻辑运算符,仅当输入的属性集及其取值满足指定条件时,才会输出指定的输出属性集。
例如,“[key==“security_version_number”,value>=10]”中,key==“security_version_number”表示输入属性的键为security_version_number,value>=10表示输入属性键security_version_number的取值条件为大于或等于10。若待验证的相关属性信息满足key==“security_version_number”以及value>=10,则满足相应的转换规则指定的条件,经过属性转换,能够得到输出属性集:[key=“DeviceUpdated”,value=“OK”]。
相似地,在[key==“pcrs[0]”,value==“0xaef...a1ef2”]&&[key==“pcrs[8]”,value==“0x1af2...abcde”]中,key==“pcrs[0]”以及key==“pcrs[8]”表示输入属性的键,value==“0xaef...a1ef2”以及value==“0x1af2...abcde”分别表示输入属性的相应取值条件。若待验证的相关属性信息既满足key==“pcrs[0]”,value==“0xaef...a1ef2”又满足key==“pcrs[8]”,value==“0x1af2...abcde”,则满足相应的转换规则指定的条件,经过属性转换能够得到输出属性集:[key=“DeviceTrustLevel”,value=“2”],这个输出属性集中只有一个输出属性键DeviceTrustLevel,该属性键的取值为2。
应理解的是,上述的转换规则的描述语法只是一个举例,我们并不限制其它实施例也必须采用这种规则描述方法。在其它实施例中,可以采用完全不同的语法或符号语言来描述这些转换规则,在此不再赘述。
第一租户可以将上述输入了参数的多个字段以及相应的输入参数,以模板方式,通过互联网发送至云管理平台310,云管理平台310检测该配置文档中不同字段对应的参数,从而获取第一租户针对不同字段对应的要求。因此,在本申请实施例中,安全管理服务配置信息可以包括安全管理服务配置字段和第一租户输入的参数。进一步,云管理平台310可以将来自第一租户的安全管理服务配置信息存储至安全管理服务提供模块311关联的存储器。安全管理服务提供模块311中的对象管理单元可以利用保存的安全管理服务配置信息来对属性对象实施管理,例如创建属性对象、提供基于属性对象的安全管理服务等。
本申请实施例中,待创建的属性对象可以与属性对象实例类型一一对应,属性对象实例类型可由云厂商和云管理平台310提供。根据云管理平台310支持的属性对象实例类型,第一租户在云管理平台310输入或选择的安全管理服务配置信息可以指示至少一个属性对象,对象管理单元可以根据该安全管理服务配置信息中的属性对象描述信息来创建至少一个属性对象,每个属性对象可以包括用于描述该属性对象的至少一个属性的元数据以及属性转换规则。
其中,每个属性对象涉及的元数据可以详细定义第一租户自定义的用于实施安全管理的实例类型以及取值范围,每个属性对象涉及的转换规则可以用于指定属性转换的计算规则,以便通过计算或逻辑判断,将实例类型对应的实例的指派属性、云资源的指派属性、环境条件和与这些属性和条件相关的一组策略(例如授权策略),判定允许或拒绝用户对云资源所请求的操作。云管理平台310的除安全管理服务提供模块311以外的其它服务提供模块可以基于与该安全管理服务提供模块311之间的信任关系,利用所述至少一个属性对象的元数据和属性转换规则,来实现相应的服务,从而提升安全性。例如,IAM服务提供模块312可以利用至少一个属性对象的元数据和转换规则(包含有效的输出属性集),使用其输出属性集中的属性来帮助第二租户更有效地实施对云资源的访问控制管理。STS提供模块313可以利用至少一个属性对象的元数据和属性转换规则(包含有效的输出属性集),使用其输出属性集中的属性来帮助第二租户实施对云资源的令牌管理服务。
需要说明的是,本申请实施例中,第一租户在属性对象描述信息中提供的元数据可以 是在属性对象实例提供商提供的元数据中选择的,也可以是第一租户自定义输入的。第一租户在属性对象描述信息中提供的转换规则可以是在属性对象实例提供商提供的属性转换规则中选择的,也可以是第一租户自定义输入的。属性对象描述信息中的元数据可以用于验证来自用户的相关信息的合法性,例如是否有配置信息指定的子属性、是否是配置信息指定的类型、是否符合配置信息指定的相关条件等。属性对象描述信息中的转换规则可以用于描述指定的输入属性集、指定该输入属性集转换为相应的输出属性集应满足的条件、以及相应的输出属性集。在来自用户的相关信息合法的情况下,属性对象描述信息中的转换规则,可以将来自用户的相关属性作为转换规则的输入属性集,在这些属性满足转换规则指定的条件的情况下,该输入属性集根据相应的转换规则可以得到相应的输出属性集。本申请实施例对配置信息的格式以及内容不做限定。IAM服务提供模块312和STS提供模块313可以利用该输出属性集实施相应的服务。本申请实施例对该输出属性集的格式以及内容等也不做限定。
需要说明的,本申请实施例中,一种可能的实现方式是,该安全管理服务提供模块311可以为云管理平台310的独立服务提供模块,该安全管理服务提供模块311可以与云管理平台310的其它服务提供模块(例如IAM服务提供模块312和/或STS提供模块313)具有信任关系,使得其它服务提供模块能够结合租户自定义的安全管理服务配置信息,对云资源实施集中、安全的访问控制管理。另一种可能的实现方式是,该安全管理服务提供模块311可以为云管理平台310的某个服务提供模块(例如IAM服务提供模块312)的子模块,使得该服务提供模块能够结合租户自定义的安全管理服务配置信息,对云资源实施集中、安全的访问控制管理。本申请实施例对该安全管理服务提供模块311的部署方式或者产品形态不做限定。
2、IAM服务提供模块312:
该IAM服务提供模块312可以帮助租户安全地控制对云资源的访问,控制用户进行身份验证(登录)和授权(具有权限)以使用云资源,具有单点登录、强大的认证管理、基于策略的集中式授权和审计、动态授权、企业可管理性等功能。
其中,租户对云管理平台310的不同服务提供模块的配置可以是互通的。相似地,云管理平台310可以向第一租户或者第二租户(例如权限管理员)提供IAM服务配置API或者控制台界面,第一租户或者第二租户可以通过云管理平台310提供的API或者控制台界面,向IAM服务提供模块312提供IAM服务配置信息,例如授权策略。IAM服务提供模块312可以保存来自第一租户或者第二租户的授权策略。进一步,IAM服务提供模块312可以利用至少一个属性对象的元数据和属性转换规则(包含有效的输出属性集)、以及授权策略,来对用户实施访问控制管理。
以第一租户或者第二租户通过API在云管理平台310输入或选择授权策略为例,该授权策略可以通过采用如下格式的授权文档实现配置:

其中,以授权语义为:“允许用户“张三”必须通过指定的信任级为2级的安全运行环境发起请求才可以执行指定的KMS操作”为例,该授权文档可以如下所示(该授权文档使用了DeviceTrustLevel属性键,这一属性键是来自前文的转换规则举例中的一个输出属性集):
第一租户或者第二租户可以将上述输入了参数的多个字段以及相应的输入参数,以模板方式,通过互联网发送至云管理平台310,云管理平台310检测该授权文档中不同字段对应的参数,从而获取第一租户或者第二租户针对不同字段对应的要求。因此,在本申请实施例中,IAM服务配置信息可以包括IAM服务配置字段、第一租户或者第二租户输入的参数。进一步,云管理平台310可以将来自第一租户或者第二租户的IAM服务配置信息存储至IAM服务提供模块312关联的存储器。IAM服务提供模块312可以利用保存的IAM服务配置信息,来帮助第一租户或第二租户集中、安全地对云资源实施访问控制管理。
需要说明的是,在实际应用中,若安全管理服务提供模块311为云管理平台310的某个服务提供模块(例如IAM服务提供模块312)的子模块,相应地,可以通过对IAM服务提供模块312进行功能扩展或扩展功能组件,使得功能扩展后的该IAM服务提供模块312可以实现安全管理服务提供模块311所实现的功能,详细可参见上述结合安全管理服务提供模块311的相关描述,在此不再赘述。
3、STS提供模块313:
该STS提供模块313用于为用户提供自定义时效和访问权限的临时访问凭证,即安全令牌(STS Token)。
本申请实施例中,云管理平台310可以对STS提供模块313进行功能扩展,例如扩展STS令牌发放功能API,使得STS提供模块313可以根据令牌发放功能API指定的输入属性,以及第一租户自定义的转换规则,向用户(例如enclave实例中的应用程序)返回带有租户自定义属性的令牌,该令牌用于指示enclave实例中的应用程序具有访问目标云服务的权限。
其中,用户可以通过任意方式获取第一租户赋予用户的访问凭证。该用户可以从可信计算基TCB获取enclave实例的证明文档,并利用该访问凭证以及该证明文档请求调用云管理平台310提供的API,以向云管理平台310的STS提供模块313发送令牌获取请求,该令牌获取请求中携带有请求参数,该请求参数用于请求获取对目标云服务的API的访问令牌。
该请求参数中除了包含用于发放STS令牌所需的基本信息(例如资格证书、数字签名等)以外,还可以包含第一租户在安全管理服务配置时自定义的输入属性所要求的待验证的属性信息,例如第一租户输入或选择的飞地enclave实例类型对应的enclave实例提供的enclave实例的证明文档。STS提供模块313的验证单元可以基于STS提供模块313与安全管理服务提供模块311、IAM服务提供模块312之间的信任关系,先对请求参数进行合法性验证,包括但不限于验证用户的身份或权限、验证该请求参数中是否包含指定的输入属性、验证输入属性的合法性(包括对输入属性的数字签名及过期时间等的验证)。如果验证失败,云管理平台310向用户节点返回错误提醒。如果验证成功则验证通过。
在合法性验证通过后,STS提供模块313的属性转换单元可以根据至少一个属性对象中的转换规则对请求参数中的输入属性集进行条件判断,输入属性集满足转换规则所指定的条件后进行属性转换,确定相应的输出属性集,即租户自定义属性。STS提供模块313的生成单元可以根据该输出属性集生成目标访问令牌,即携带有租户自定义属性的令牌。云管理平台310可以向enclave实例中的应用程序发送该令牌。
enclave实例中的应用程序可以利用所获得的目标访问令牌,向云服务模块320提供的目标云服务发送服务调用请求。云服务模块320中的目标云服务接收该服务调用请求后,向STS确认该令牌的合法性,在STS确认该令牌合法的前提下,目标云服务可以运行应用程序访问目标云服务。
其中,一个可选的实施方式中,目标云服务可以将来自应用程序的目标访问令牌,通过内部网络发送给云管理平台310。云管理平台310的STS提供模块313可以对该目标访问令牌进行合法性验证,例如确定该目标访问令牌是否为STS提供模块313发放的、该目标访问令牌关联的属性集是否为安全管理服务提供模块311的转换规则转换得到的输出属性集。IAM服务提供模块312可以对该目标访问令牌进行访问控制检查,例如该目标访问令牌关联的属性集是否满足授权策略授予应用程序的权限。另一个可选的实施方式中,目标云服务可以基于与云管理平台310的各个服务提供模块之间的信任关系,从相关的服务提供模块获取用于进行合法性验证以及访问控制检查等所需的信息(包括但不限于STS提供模块313所生成的STS令牌的验证密钥或证书),并利用所获得的信息,在云服务模块320本地对来自应用程序的目标访问令牌进行合法性验证以及访问控制检查,本申请实施例对此实现方式不做限定。
需要说明的是,在实际应用中,若安全管理服务提供模块311为云管理平台310的某个服务提供模块(例如STS提供模块313)的子模块,相应地,可以通过对STS提供模块313进行功能扩展或扩展功能组件,使得功能扩展后的该STS提供模块313可以实现安全管理服务提供模块311所实现的功能,详细可参见上述结合安全管理服务提供模块311的相关描述,在此不再赘述。
至此,已经结合附图及实施例介绍了本申请实施例的云服务系统300及其功能模块。其中,云管理平台310可以提供租户期望的安全管理服务信息的自定义通道,以供租户自定义配置安全管理服务信息。对于通过API设置安全管理服务信息的租户,该云管理平台310会按照租户自定义的安全管理服务配置信息对关联的其它服务,例如IAM服务、STS服务等进行功能扩展,使得该云管理平台310可以根据租户自定义的安全管理服务配置信息,集中、安全地实现对租户购买的云资源的访问控制管理。该方案能够将对云管理平台310的功能的升级改造与云服务模块解耦,使得无需对云服务模块进行改造,以较低的改造成本即可支持本申请实施例的服务提供方案。对于租户(例如安全管理员或权限管理员)而言,无需感知enclave实例中的应用程序的硬件或软件运行环境的底层特征语义以及不同应用程序对应的硬件特性的差异,编写授权策略更加简单易实现,极大地降低策略的编写和管理成本。同时,该方案使得应用程序在STS令牌的有效期内可以直接使用该STS令牌,能够极大地降低应用程序所在设备的性能开销。
需要说明的是,本申请上述实施例中,仅以云管理平台提供的IAM服务以及STS服务为例,对基于租户自定义配置的安全管理服务实现的权限管理功能的示例说明而非任何限定。在其它实施例中,云管理平台还可以向租户和用户提供其它服务,该其它服务也可以结合租户自定义配置的安全管理服务实现,以集中、安全地实施对租户购买的云资源的权限管理,相似实现可参见上文结合安全管理服务提供模块311的相关介绍,在此不再赘述。
需要说明的是,本申请实施例中,应用程序向云管理平台传入的请求参数中携带属性信息,仅是本申请实施例的服务提供方法的实现方式的示例说明而非限定。在另一个示例中,请求参数中可以不包含租户在安全管理服务配置时自定义的输入属性所要求的待验证的属性信息。例如,根据应用场景或业务需求,云管理平台可以在自身关联的(或者能够访问的)存储器中存储租户在安全管理服务配置时自定义的输入属性所要求的待验证的属性信息,来自用户的请求参数可以包含用户的身份信息以及发放STS令牌所需的基本信息(例如资格证书、数字签名等)。云管理平台的STS提供模块可以对用户的身份和权限的验证通过后,利用本地存储的(或者能够获得的)、与用户关联的属性信息,作为请求参数关联的输入属性集进行条件判断,输入属性集满足属性转换规则所指定的条件后进行属性转换,确定相应的输出属性集,以便STS提供模块的生成单元可以根据该输出属性集生成目标访问令牌。示例地,与用户关联的属性信息,例如可以包括但不限于基于用户的身份标识、网络IP等获得的属性信息,本申请对此不做限定。
下面结合附图及实施例介绍本申请实施例的针对飞地enclave实例的云服务访问权限设置方法。
图4示出了本申请实施例的针对飞地enclave实例的云服务访问权限设置方法的流程示意图。其中,该方法可由第一租户、第二租户、enclave实例中的应用程序以及图3所示 的云管理平台及其功能模块实现。如图4所示,该方法可以包括以下步骤:
S410:云管理平台的IAM服务确认第一租户输入或选择的飞地enclave实例类型以及所述第一租户输入或选择的转换规则。
本申请实施例中,飞地enclave实例类型以及转换规则可以是由第一租户自定义配置得到的,转换规则用于将所述飞地enclave实例类型对应的enclave实例提供的enclave实例的证明文档转换成租户自定义属性,以帮助云管理平台实施对第一租户购买的云资源的集中、安全的访问控制管理。
一种可选的实现方式中,该飞地enclave实例类型以及转换规则可以是租户预先自定义配置,并持久化地存储在云管理平台的安全管理服务提供模块关联的存储器中的。实施S410时,云管理平台的IAM服务提供模块可以在该存储器确认飞地enclave实例类型以及转换规则。例如,IAM服务可以根据第一租户的唯一标识,在该存储器中获取租户的安全管理服务配置信息。
另一种可选的实现方式中,该飞地enclave实例类型以及转换规则可以是第一租户实时配置的。实施S410时,云管理平台的IAM服务提供模块可以实时地接收第一租户输入或选择的飞地enclave实例类型以及所述第一租户输入或选择的转换规则,本申请实施例对该实例类型以及转换规则的确认方式不做限定。详细配置细节可参见上文中结合图3介绍的API和控制台界面的相关描述,在此不再赘述。
S420:云管理平台的STS接收enclave实例中的应用程序发送的令牌获取请求,根据转换规则将令牌获取请求中携带的所述enclave实例的证明文档转换为租户自定义属性,并向所述应用程序返回携带有所述租户自定义属性的令牌,所述令牌用于指示enclave实例中的应用程序具有访问目标云服务的权限。
本申请实施例中,云管理平台的STS提供模块可以向enclave实例中的应用程序提供API。应用程序获得正确的访问凭证(例如访问密钥等)后,可以基于云管理平台提供的安全管理服务以及STS提供模块提供的API,向STS提供模块发送令牌获取请求,以向STS传入请求参数,该请求参数用于请求获取租户节点订购的目标云服务的API的访问令牌。
示例地,该请求参数可以包括但不限于enclave实例的证明文档、API请求者身份标识、API请求体的数字签名等输入参数。
发放访问令牌的功能可由STS提供模块来提供,该STS提供模块经过功能扩展后,可以包括验证单元、属性转换单元和生成单元。实施S420时,该验证单元可以先根据至少一个属性对象中的元数据对请求参数进行合法性验证,例如验证请求者身份、请求体的数字签名、安全属性证明文档的合法性(例如是否包含指定的属性、属性证明文档的数字签名是否合法、过期时间是否合法)等。如果验证未通过即验证失败,则向用应用程序返回错误提醒。如果验证通过即验证成功,则该请求参数中携带的证明文档的相关属性信息可以作为属性转换单元的输入属性集,该属性转换单元可以利用至少一个属性对象中的转换规则,将该证明文档转换成租户自定义属性,即输出属性集。如果转换失败则向应用程序返回错误提醒。如果转换成功,生成单元可以根据该输出属性集以及预设的算法生成目标访问令牌,该目标访问令牌为携带有租户自定义属性的令牌。进一步,STS提供模块可以向应用程序发送该目标访问令牌。
一种可选的实现方式中,云管理平台还可以提供IAM服务,云管理平台还可以获取第 一租户或者第二租户在云管理平台输入或选择的授权策略,该授权策略用于指示所述第一租户或者第二租户授权所述应用程序访问目标云服务应满足的访问控制条件,在上述实施S420的过程中,云管理平台的STS提供模块可以根据所述授权策略,对所述请求参数进行合法性验证以及访问控制检查。如果合法性验证失败或访问控制检查失败,则STS提供模块可以向应用程序返回错误提醒,并拒绝应用程序的令牌获取请求。详细实施细节可参见上文中结合图3的相关介绍,在此不再赘述。
在S420之后,一个可选的步骤包括:应用程序可以根据从云管理平台获得的目标访问令牌向云服务模块发起服务调用请求,该服务调用请求可以用于请求访问云服务模块的目标云服务。目标云服务可以在本地或者利用与STS提供模块、IAM服务提供模块等之间的信任关系,对该目标访问令牌进行合法性验证以及访问控制检查通过后,云服务模块向应用程序提供目标云服务。详细实施细节可参见上文中结合图3的相关介绍,在此不再赘述。
下面基于图3所示的系统架构,结合图5所示的方法,对图4示出的各个方法步骤进行详细介绍。
如图5所示,第一租户或者第二租户可以实现为与云管理平台的服务提供模块对应的管理模块,例如,安全管理模块和访问控制权限管理模块。
该安全管理模块可以根据云管理平台提供的API向云管理平台的安全管理服务提供模块发送安全管理服务配置信息,该安全管理服务配置信息可以被安全管理服务提供模块接收和保存,用于验证来自APP的请求参数的合法性,以及实施对租户购买的云资源的安全访问控制管理。
该访问控制权限管理模块可以根据云管理平台提供的API向云管理平台的IAM服务提供模块发送授权策略,该授权策略可以被IAM服务提供模块接收和保存,用于验证APP对租户所购买的云服务的操作权限,以及确定APP的访问控制策略。
其中,以租户自定义配置的至少一个属性对象包括安全证明对象为例,该安全证明对象的至少一个属性包括安全属性,该安全属性可以用于云管理平台对来自APP的证明文档(attestation document)进行验证,以便根据APP的可信计算环境或机密计算环境(比如Enclave)来实施更精确的访问控制决策,集中、安全地实现对云资源的管理。
示例地,该安全属性可以包括以下至少一项:硬件标识属性、安全固件版本属性、创建时间属性、程序度量相关属性、数字签名证书相关属性、或者租户自定义的业务安全属性。各个安全属性用于验证来自APP的证明文档的合法性(或称为有效性、可信性等)。其中,硬件标识属性用于指示硬件标识,表示来自用户节点的证明文档需要包括硬件标识属性才有可能是有效的,反之则合法性验证不通过。安全固件版本属性用于指示安全固件版本,表示来自APP的证明文档需要包括安全固件版本才有可能是有效的,反之则合法性验证不通过。创建时间属性用于指示创建时间,表示来自APP的证明文档需要包括创建时间才有可能是有效的,反之则合法性验证不通过。程序度量相关属性用于指示可执行程序的度量相关的属性、例如可信度量算法、可信度量值等,表示来自用户节点的证明文档需要包括可信度量相关信息才有可能是有效的,反之则合法性验证不通过。数字签名证书相关属性表示安全属性证明文档的数字签名证书、证书链等属性,表示来自APP的证明文档需要包括数字签名证书、证书链等信息才有可能是有效的,反之合法性验证不通过。租户 自定义的业务安全属性包括租户自定义的任意业务安全属性,在此不再赘述。
安全管理服务提供模块可以根据来自安全管理模块的安全管理服务配置信息中属性对象描述信息创建相应的属性对象,该属性对象可以包括至少一个属性的元数据和属性转换规则。
IAM服务提供模块可以根据来自访问控制权限管理模块的授权策略,以及利用IAM服务提供模块与安全管理服务提供模块之间的信任关系,确定租户授予不同用户的针对不同云资源的不同访问权限。
用户侧的飞地enclave APP(运行在机密计算环境中的客户应用程序)作为发起方,可以通过TEE操作系统(operating system,OS)接口,调用TCB的安全模块,以获取enclave机密计算环境的安全属性的证明文档。请求成功后,安全模块会向Enclave APP返回有效的证明文档。enclave APP可以基于该证明文档,调用STS Get Token API,向云管理平台的STS提供模块发送令牌获取请求,以向STS提供模块传入请求参数,该请求参数包括enclave实例的证明文档、请求者身份标识信息、请求体的数字签名信息等信息,该请求参数用于请求获取STS令牌。
云管理平台的STS提供模块的验证单元可以根据IAM服务提供模块侧配置的授权策略、安全管理服务提供模块侧配置的元数据,对令牌获取请求中携带的请求参数进行合法性验证和权限验证等。在该请求参数的合法性验证以及权限验证通过后,STS提供模块的属性转换单元可以根据在安全管理服务提供模块的Enclave属性相关的转换规则,将证明文档中的相关属性作为输入属性集转换为租户自定义属性,即输出属性集,生成单元可以利用该输出属性集生成有效的目标访问令牌,即携带有租户自定义属性的令牌。之后,STS提供模块可以向APP返回有效的目标访问令牌。
进一步,APP可以利用从云管理平台获得的目标访问令牌,向云服务模块的目标云服务发送服务调用请求,以请求访问目标云服务。该目标云服务可以利用云管理平台提供的相关服务,对来自APP的目标访问令牌进行合法性验证和访问控制检查通过后,允许APP访问目标云服务,并向APP返回对目标云服务的访问结果。
由此,通过图5所示的方法,在对云管理平台的至少一个服务提供模块进行功能扩展后,云服务模块的至少一个云服务无需做任何改造升级(包括API改造或SDK改造),即可使得云管理平台能够支持基于APP的设备运行环境属性的访问控制策略,对云服务API没有侵入性,对应用程序生态以及开发者生态均友好。对租户而言,租户编写授权策略更加简单,而无需感知APP所在设备运行环境属性的底层语义特征,可以支持不同类型的用户设备特性,可以屏蔽不同类型用户设备的底层语义特征,以极小的设计和实施成本扩大应用场景。
需要说明的是,图5中仅是以enclave实例和enclave实例的证明文档为例,对本申请实施例的云服务访问权限设置方法进行解释说明,并不限定该方法所面向的属性对象为enclave实例,该enclave实例可以替换为其它类型实例,与enclave实例相关的服务配置信息或请求参数可以替换为其它属性,在此不再赘述。
结合上述方法实施例,本申请实施例还提供了一种云管理平台,该云管理平台具体结构可以参照上述图3所示,可用于执行上述方法实施例中云管理平台及其各个服务提供模块所执行的方法。
如图6所示,该云管理平台600可以包括:第一服务提供模块610,用于提供身份管理与访问控制IAM服务,所述IAM服务用于确认第一租户输入或选择的飞地enclave实例类型以及所述第一租户输入或选择的转换规则,其中,所述转换规则用于将所述飞地enclave实例类型对应的enclave实例提供的enclave实例的证明文档转换成租户自定义属性;第二服务提供模块620,用于提供安全令牌服务STS,所述STS用于接收所述enclave实例中的应用程序发送的令牌获取请求,其中,所述令牌获取请求携带有所述enclave实例的证明文档,所述STS还用于根据所述转换规则将所述证明文档转换为所述租户自定义属性,并向所述应用程序返回携带有所述租户自定义属性的令牌,所述令牌用于指示enclave实例中的应用程序具有访问目标云服务的权限。详细实现细节可参见上述方法实施例的相关介绍,在此不再赘述。
需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。在本申请的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在一个简单的实施例中,本领域的技术人员可以想到上述实施例中的云管理平台或电子端设备均可采用图7所示的形式。如图7所示的通信装置700,包括至少一个处理器710、存储器720,可选的,还可以包括通信接口730。
存储器720可以是易失性存储器,例如随机存取存储器;存储器也可以是非易失性存储器,例如只读存储器,快闪存储器,硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD)、或者存储器720是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器720可以是上述存储器的组合。
本申请实施例中不限定上述处理器710以及存储器720之间的具体连接介质。
在如图7的装置中,还包括通信接口730,处理器710在与其他设备进行通信时,可以通过通信接口730进行数据传输。
当云管理平台采用图7所示的形式时,图7中的处理器710可以通过调用存储器720中存储的计算机执行指令,使得装置700可以执行上述任一方法实施例中云管理平台所执行的方法。
当租户或用户侧电子设备采用图7所示的形式时,图7中的处理器710可以通过调用存储器720中存储的计算机执行指令,使得装置700可以执行上述任一方法实施例中租户或用户所执行的方法。
本申请实施例还涉及一种芯片系统,该芯片系统包括处理器,用于调用存储器中存储 的计算机程序或计算机指令,以使得该处理器执行上述方法实施例。
在一种可能的实现方式中,该处理器通过接口与存储器耦合。
在一种可能的实现方式中,该芯片系统还包括存储器,该存储器中存储有计算机程序或计算机指令。
本申请实施例还涉及一种处理器,该处理器用于调用存储器中存储的计算机程序或计算机指令,以使得该处理器执行上述方法实施例。
其中,上述任一处提到的处理器,可以是一个通用中央处理器,微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制上述图7所示的实施例中的方法的程序执行的集成电路。上述任一处提到的存储器可以为只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)等。
应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请实施例范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (20)

  1. 一种针对飞地enclave实例的云服务访问权限设置方法,其特征在于,包括:
    云管理平台提供身份管理与访问控制IAM服务,所述IAM服务用于确认第一租户输入或选择的飞地enclave实例类型以及所述第一租户输入或选择的转换规则,其中,所述转换规则用于将所述飞地enclave实例类型对应的enclave实例提供的enclave实例的证明文档转换成租户自定义属性;
    所述云管理平台提供安全令牌服务STS,所述STS用于接收所述enclave实例中的应用程序发送的令牌获取请求,其中,所述令牌获取请求携带有所述enclave实例的证明文档,所述STS还用于根据所述转换规则将所述证明文档转换为所述租户自定义属性,并向所述应用程序返回携带有所述租户自定义属性的令牌,所述令牌用于指示enclave实例中的应用程序具有访问目标云服务的权限。
  2. 根据权利要求1所述的方法,其特征在于,所述IAM服务还用于确认所述第一租户或者第二租户输入或选择的授权策略,所述STS在满足所述授权策略的条件下根据所述转换规则将所述证明文档转换为所述租户自定义属性,并向所述应用程序返回携带有所述租户自定义属性的令牌。
  3. 根据权利要求2所述的方法,其特征在于,所述第一租户的角色为安全管理员,所述第二租户的角色为权限管理员。
  4. 根据权利要求2或3所述的方法,其特征在于,所述授权策略包括允许所述应用程序在所述飞地enclave实例类型对应的enclave实例中访问所述目标云服务。
  5. 根据权利要求1至4任一项所述的方法,其特征在于,所述方法还包括:
    所述enclave实例中的应用程序在发送所述令牌获取请求之前,从可信计算基TCB获取所述enclave实例的证明文档。
  6. 根据权利要求1至5任一项所述的方法,其特征在于,所述方法还包括:
    所述enclave实例中的应用程序向所述目标云服务发送服务调用请求,所述服务调用请求携带有所述令牌;
    所述目标云服务接收所述服务调用请求,并向所述STS确认所述令牌的合法性,在所述STS确认所述令牌合法的前提下,所述目标云服务允许所述应用程序访问所述目标云服务。
  7. 根据权利要求1至6任一项所述的方法,其特征在于,所述证明文档包括至少一个平台配置寄存器PCR度量值。
  8. 一种云服务系统,其特征在于,包括云管理平台和目标云服务,其中,
    所述云管理平台提供身份管理与访问控制IAM服务,所述IAM服务用于确认第一租户输入或选择的飞地enclave实例类型以及所述第一租户输入或选择的转换规则,其中,所述转换规则用于将所述飞地enclave实例类型对应的enclave实例提供的enclave实例的证明文档转换成租户自定义属性;
    所述云管理平台提供安全令牌服务STS,所述STS用于接收所述enclave实例中的应用程序发送的令牌获取请求,其中,所述令牌获取请求携带有所述enclave实例的证明文档,所述STS还用于根据所述转换规则将所述证明文档转换为所述租户自定义属性,并向 所述应用程序返回携带有所述租户自定义属性的令牌,所述令牌用于指示enclave实例中的应用程序具有访问所述目标云服务的权限。
  9. 根据权利要求8所述的系统,其特征在于,所述IAM服务还用于确认所述第一租户或者第二租户输入或选择的授权策略,所述STS在满足所述授权策略的条件下根据所述转换规则将所述证明文档转换为所述租户自定义属性,并向所述应用程序返回携带有所述租户自定义属性的令牌。
  10. 根据权利要求9所述的系统,其特征在于,所述第一租户的角色为安全管理员,所述第二租户的角色为权限管理员。
  11. 根据权利要求8或9所述的系统,其特征在于,所述授权策略包括允许所述应用程序在所述飞地enclave实例类型对应的enclave实例中访问所述目标云服务。
  12. 根据权利要求8至11任一项所述的系统,其特征在于,所述enclave实例中的应用程序在发送所述令牌获取请求之前,从可信计算基TCB获取所述enclave实例的证明文档。
  13. 根据权利要求8至12任一项所述的系统,其特征在于,所述enclave实例中的应用程序向所述目标云服务发送服务调用请求,所述服务调用请求携带有所述令牌;所述目标云服务接收所述服务调用请求,并向所述STS确认所述令牌的合法性,在所述STS确认所述令牌合法的前提下,所述目标云服务允许所述应用程序访问所述目标云服务。
  14. 根据权利要求8至13任一项所述的系统,其特征在于,所述证明文档包括至少一个平台配置寄存器PCR度量值。
  15. 一种云管理平台,其特征在于,包括:
    第一服务提供模块,用于提供身份管理与访问控制IAM服务,所述IAM服务用于确认第一租户输入或选择的飞地enclave实例类型以及所述第一租户输入或选择的转换规则,其中,所述转换规则用于将所述飞地enclave实例类型对应的enclave实例提供的enclave实例的证明文档转换成租户自定义属性;
    第二服务提供模块,用于提供安全令牌服务STS,所述STS用于接收所述enclave实例中的应用程序发送的令牌获取请求,其中,所述令牌获取请求携带有所述enclave实例的证明文档,所述STS还用于根据所述转换规则将所述证明文档转换为所述租户自定义属性,并向所述应用程序返回携带有所述租户自定义属性的令牌,所述令牌用于指示enclave实例中的应用程序具有访问目标云服务的权限。
  16. 根据权利要求15所述的云管理平台,其特征在于,所述IAM服务还用于确认所述第一租户或者第二租户输入或选择的授权策略,所述STS在满足所述授权策略的条件下根据所述转换规则将所述证明文档转换为所述租户自定义属性,并向所述应用程序返回携带有所述租户自定义属性的令牌。
  17. 根据权利要求16所述的云管理平台,其特征在于,所述第一租户的角色为安全管理员,所述第二租户的角色为权限管理员。
  18. 根据权利要求16或17所述的云管理平台,其特征在于,所述授权策略包括允许所述应用程序在所述飞地enclave实例类型对应的enclave实例中访问所述目标云服务。
  19. 一种云管理平台,其特征在于,包括处理器和存储器,所述存储器存储有程序指令,所述处理器执行所述程序指令以执行权利要求1至7任一项所述的方法。
  20. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机程序,当所述计算机程序在计算装置上运行时,使得所述计算装置执行如权利要求1-7中任一所述的方法。
PCT/CN2023/077968 2022-02-25 2023-02-23 针对飞地实例的云服务访问权限设置方法和云管理平台 WO2023160632A1 (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN202210176632 2022-02-25
CN202210176632.8 2022-02-25
CN202210605661.1 2022-05-30
CN202210605661.1A CN116707849A (zh) 2022-02-25 2022-05-30 针对飞地实例的云服务访问权限设置方法和云管理平台

Publications (1)

Publication Number Publication Date
WO2023160632A1 true WO2023160632A1 (zh) 2023-08-31

Family

ID=87764852

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/077968 WO2023160632A1 (zh) 2022-02-25 2023-02-23 针对飞地实例的云服务访问权限设置方法和云管理平台

Country Status (1)

Country Link
WO (1) WO2023160632A1 (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170329957A1 (en) * 2016-05-11 2017-11-16 Oracle International Corporation Identity cloud service authorization model with dynamic roles and scopes
US20190098056A1 (en) * 2017-09-28 2019-03-28 Oracle International Corporation Rest-based declarative policy management
CN111949974A (zh) * 2020-08-04 2020-11-17 北京字节跳动网络技术有限公司 一种认证的方法、装置、计算机设备及存储介质
CN111953708A (zh) * 2020-08-24 2020-11-17 北京金山云网络技术有限公司 基于云平台的跨账号登录方法、装置及服务器
CN112637214A (zh) * 2020-12-24 2021-04-09 北京金山云网络技术有限公司 资源访问方法、装置及电子设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170329957A1 (en) * 2016-05-11 2017-11-16 Oracle International Corporation Identity cloud service authorization model with dynamic roles and scopes
US20190098056A1 (en) * 2017-09-28 2019-03-28 Oracle International Corporation Rest-based declarative policy management
CN111949974A (zh) * 2020-08-04 2020-11-17 北京字节跳动网络技术有限公司 一种认证的方法、装置、计算机设备及存储介质
CN111953708A (zh) * 2020-08-24 2020-11-17 北京金山云网络技术有限公司 基于云平台的跨账号登录方法、装置及服务器
CN112637214A (zh) * 2020-12-24 2021-04-09 北京金山云网络技术有限公司 资源访问方法、装置及电子设备

Similar Documents

Publication Publication Date Title
JP7457173B2 (ja) モノのインターネット(iot)デバイスの管理
US11695757B2 (en) Fast smart card login
US10122703B2 (en) Federated full domain logon
US9038138B2 (en) Device token protocol for authorization and persistent authentication shared across applications
EP2973166B1 (en) Systems and methods for identifying a secure application when connecting to a network
US8387136B2 (en) Role-based access control utilizing token profiles
US8387137B2 (en) Role-based access control utilizing token profiles having predefined roles
JP2020502616A (ja) フェデレーテッド・シングル・サインオン(sso)のための非侵入型セキュリティの実施
AU2019449420B2 (en) Centralized authentication and authorization with certificate management
US10681023B2 (en) Self-service portal for provisioning passwordless access
JP2016526201A (ja) 企業システムにおけるユーザおよびデバイスの認証
Sharma et al. Identity and access management-a comprehensive study
Singh et al. Identity management in cloud computing through claim-based solution
CN116707849A (zh) 针对飞地实例的云服务访问权限设置方法和云管理平台
WO2022144024A1 (en) Attribute-based encryption keys as key material for key-hash message authentication code user authentication and authorization
WO2023160632A1 (zh) 针对飞地实例的云服务访问权限设置方法和云管理平台
AU2019370092B2 (en) Centralized authentication and authorization
US11977620B2 (en) Attestation of application identity for inter-app communications
US20220311777A1 (en) Hardening remote administrator access
EP3766221B1 (en) Relying party certificate validation when client uses relying party's ip address
KR20240048518A (ko) 외부 id 관리 서비스를 사용한 유연한 구성 관리를 위한 방법 및 장치
Thakore et al. Scalable and Privacy-preserving Access Mechanism for Dynamic Clouds
Sharma OpenStack cloud federation with single sign-on via an Identity Management System
Dočár Bezpečnostní řešení pro cloudové technologie

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23759254

Country of ref document: EP

Kind code of ref document: A1