Show iam filter for machines
This commit is contained in:
parent
64ad8931f3
commit
0844da594e
@ -89,6 +89,7 @@ class AppResource extends CRUDBase {
|
|||||||
field: 'id',
|
field: 'id',
|
||||||
type: 'text',
|
type: 'text',
|
||||||
readonly: true,
|
readonly: true,
|
||||||
|
hidden: ['insert'],
|
||||||
help: `(LDAP use) Allows restricting users to only those that can access this application. (filter: iamTarget)`,
|
help: `(LDAP use) Allows restricting users to only those that can access this application. (filter: iamTarget)`,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -88,8 +88,17 @@ class MachineResource extends CRUDBase {
|
|||||||
field: 'id',
|
field: 'id',
|
||||||
type: 'text',
|
type: 'text',
|
||||||
readonly: true,
|
readonly: true,
|
||||||
|
hidden: ['insert'],
|
||||||
help: `(LDAP use) Allows restricting users to only those that can access this computer. (filter: iamTarget)`,
|
help: `(LDAP use) Allows restricting users to only those that can access this computer. (filter: iamTarget)`,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
name: 'IAM Filter',
|
||||||
|
field: 'iam_filter',
|
||||||
|
type: 'text',
|
||||||
|
readonly: true,
|
||||||
|
hidden: ['insert'],
|
||||||
|
help: `(LDAP use) Use this filter to restrict access to only users granted IAM access to this computer.`,
|
||||||
|
},
|
||||||
],
|
],
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -76,6 +76,7 @@ class MachineGroupResource extends CRUDBase {
|
|||||||
field: 'id',
|
field: 'id',
|
||||||
type: 'text',
|
type: 'text',
|
||||||
readonly: true,
|
readonly: true,
|
||||||
|
hidden: ['insert'],
|
||||||
help: `(LDAP use) Allows restricting users to only those that can access this computer group. (filter: iamTarget)`,
|
help: `(LDAP use) Allows restricting users to only those that can access this computer group. (filter: iamTarget)`,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -20,6 +20,12 @@ class MachineModel extends Model {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async to_api() {
|
async to_api() {
|
||||||
|
let iam_filter = `(|(iamTarget=${this.id})`
|
||||||
|
for ( const group of (await this.groups()) ) {
|
||||||
|
iam_filter += `(iamTarget=${group.id})`
|
||||||
|
}
|
||||||
|
iam_filter += ')'
|
||||||
|
|
||||||
return {
|
return {
|
||||||
id: this.id,
|
id: this.id,
|
||||||
name: this.name,
|
name: this.name,
|
||||||
@ -27,9 +33,18 @@ class MachineModel extends Model {
|
|||||||
host_name: this.host_name,
|
host_name: this.host_name,
|
||||||
location: this.location,
|
location: this.location,
|
||||||
ldap_visible: this.ldap_visible,
|
ldap_visible: this.ldap_visible,
|
||||||
|
iam_filter,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async groups() {
|
||||||
|
const MachineGroup = this.models.get('ldap:MachineGroup')
|
||||||
|
return MachineGroup.find({
|
||||||
|
machine_ids: this.id,
|
||||||
|
active: true
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
async set_bind_password(password) {
|
async set_bind_password(password) {
|
||||||
this.bind_password = await bcrypt.hash(password, 10)
|
this.bind_password = await bcrypt.hash(password, 10)
|
||||||
return this
|
return this
|
||||||
|
Loading…
Reference in New Issue
Block a user