Multi-Package ACL Configuration

Introduction

This section will explain how to use Multi-Package Configuration inside the group


Usage

  • One Package: One package is only selected for a product

  • Multiple Packages: Multiple packages selected for a product


One Package

The ACL of this package will be used for this product.


Multi-Package

The ACL of this package will be merged for this product.

  • Case 1: If a route there was a conflict in access right (Public/Private) →  Private will be set 

  • Case 2: If a route has API Permission is set as restricted

    • Only routes who have have API Permission set as restricted will be merged.
    • Other Routes will be neglected


Examples Case 1


Route 1:

{
   "1": {
  	   access: true,
       post: [
  	       {
               group: "Continuous Delivery Deployment",
               apis: {
                   "/cd/deploy": {
                       access: false
    		  	   }
        	   }
  	  	   }
  	   ]
    }
}

Route 2:

{
	"1": {
		access: true,
		post: [
			{
				group: "Continuous Delivery Deployment",
				apis: {
					"/cd/deploy": {
						access: true
					}
				}
			}
		]
	}
}

Merge Result

{
	"1": {
		access: true,
		post: [
			{
				group: "Continuous Delivery Deployment",
				apis: {
					"/cd/deploy": {
						access: true
					}
				}
			}
		]
	}
}

Examples: Case 2



Examples : 1

Route 1:

{
	"1": {
		access: true,
		post: [
			{
				group: "Continuous Delivery Deployment",
				apis: {
					"/list": {
						access: false
					}
				}
			}
		]
	}
}


Route 2:

{
	"1": {
		access: true,
		apisPermission: "restricted",
		post: [
			{
				group: "Continuous Delivery Deployment",
				apis: {
					"/addUser": {
						access: true
					}
				}
			}
		]
	}
}

Merge Result:

{
	"1": {
		access: true,
		apisPermission: "restricted",
		post: [
			{
				group: "Continuous Delivery Deployment",
				apis: {
					"/addUser": {
						access: true
					}
				}
			}
		]
	}
}

Example 2

Route 1:

{
	"1": {
		access: true,
		apisPermission: "restricted",
		post: [
			{
				group: "Continuous Delivery Deployment",
				apis: {
					"/list": {
						access: false
					}
				}
			}
		]
	}
}

Route 2:

{
	"1": {
		access: true,
		apisPermission: "restricted",
		post: [
			{
				group: "Continuous Delivery Deployment",
				apis: {
					"/addUser": {
						access: true
					}
				}
			}
		]
	}
}

Merge Result:

{
	"1": {
		access: true,
		apisPermission: "restricted",
		post: [
			{
				group: "Continuous Delivery Deployment",
				apis: {
					"/addUser": {
						access: true
					},
					"/list": {
						access: false
					}
				}
			}
		]
	}
}