|
@@ -17,323 +17,324 @@
|
|
|
*/
|
|
|
|
|
|
module.exports = {
|
|
|
- "Versions": {
|
|
|
+ "Artifacts": {
|
|
|
+ "artifact_name": "kerberos_descriptor",
|
|
|
"stack_name": "HDP",
|
|
|
- "stack_version": "2.2",
|
|
|
- "kerberos_descriptor": {
|
|
|
- "properties": {
|
|
|
- "realm": "${cluster-env/kerberos_domain}",
|
|
|
- "keytab_dir": "/etc/security/keytabs"
|
|
|
- },
|
|
|
- "identities": [
|
|
|
- {
|
|
|
- "principal" : {
|
|
|
- "value" : "HTTP/_HOST@${realm}",
|
|
|
- "configuration" : null
|
|
|
+ "stack_version": "2.2"
|
|
|
+ },
|
|
|
+ "artifact_data": {
|
|
|
+ "properties": {
|
|
|
+ "realm": "${cluster-env/kerberos_domain}",
|
|
|
+ "keytab_dir": "/etc/security/keytabs"
|
|
|
+ },
|
|
|
+ "identities": [
|
|
|
+ {
|
|
|
+ "principal": {
|
|
|
+ "value": "HTTP/_HOST@${realm}",
|
|
|
+ "configuration": null
|
|
|
+ },
|
|
|
+ "name": "spnego",
|
|
|
+ "keytab": {
|
|
|
+ "file": "${keytab_dir}/spnego.service.keytab",
|
|
|
+ "owner": {
|
|
|
+ "name": "root",
|
|
|
+ "access": "r"
|
|
|
},
|
|
|
- "name" : "spnego",
|
|
|
- "keytab" : {
|
|
|
- "file" : "${keytab_dir}/spnego.service.keytab",
|
|
|
- "owner" : {
|
|
|
- "name" : "root",
|
|
|
- "access" : "r"
|
|
|
- },
|
|
|
- "configuration" : null,
|
|
|
- "group" : {
|
|
|
- "name" : "${hadoop-env/user_group}",
|
|
|
- "access" : "r"
|
|
|
- }
|
|
|
+ "configuration": null,
|
|
|
+ "group": {
|
|
|
+ "name": "${hadoop-env/user_group}",
|
|
|
+ "access": "r"
|
|
|
}
|
|
|
+ }
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "principal": {
|
|
|
+ "value": "hdfs@${realm}",
|
|
|
+ "configuration": "cluster-env/hdfs_principal_name"
|
|
|
},
|
|
|
- {
|
|
|
- "principal" : {
|
|
|
- "value" : "hdfs@${realm}",
|
|
|
- "configuration" : "cluster-env/hdfs_principal_name"
|
|
|
+ "name": "hdfs",
|
|
|
+ "keytab": {
|
|
|
+ "file": "${keytab_dir}/hdfs.headless.keytab",
|
|
|
+ "owner": {
|
|
|
+ "name": "root",
|
|
|
+ "access": "r"
|
|
|
},
|
|
|
- "name" : "hdfs",
|
|
|
- "keytab" : {
|
|
|
- "file" : "${keytab_dir}/hdfs.headless.keytab",
|
|
|
- "owner" : {
|
|
|
- "name" : "root",
|
|
|
- "access" : "r"
|
|
|
- },
|
|
|
- "configuration" : "hadoop-env/hdfs_user_keytab",
|
|
|
- "group" : {
|
|
|
- "name" : "${cluster-env/user_group}",
|
|
|
- "access" : "r"
|
|
|
- }
|
|
|
+ "configuration": "hadoop-env/hdfs_user_keytab",
|
|
|
+ "group": {
|
|
|
+ "name": "${cluster-env/user_group}",
|
|
|
+ "access": "r"
|
|
|
}
|
|
|
+ }
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "principal": {
|
|
|
+ "value": "hbase@${realm}",
|
|
|
+ "configuration": "hbase-env/hbase_principal_name"
|
|
|
},
|
|
|
- {
|
|
|
- "principal" : {
|
|
|
- "value" : "hbase@${realm}",
|
|
|
- "configuration" : "hbase-env/hbase_principal_name"
|
|
|
+ "name": "hbase",
|
|
|
+ "keytab": {
|
|
|
+ "file": "${keytab_dir}/hbase.headless.keytab",
|
|
|
+ "owner": {
|
|
|
+ "name": "root",
|
|
|
+ "access": "r"
|
|
|
},
|
|
|
- "name" : "hbase",
|
|
|
- "keytab" : {
|
|
|
- "file" : "${keytab_dir}/hbase.headless.keytab",
|
|
|
- "owner" : {
|
|
|
- "name" : "root",
|
|
|
- "access" : "r"
|
|
|
- },
|
|
|
- "configuration" : "hbase-env/hbase_user_keytab",
|
|
|
- "group" : {
|
|
|
- "name" : "${cluster-env/user_group}",
|
|
|
- "access" : "r"
|
|
|
- }
|
|
|
+ "configuration": "hbase-env/hbase_user_keytab",
|
|
|
+ "group": {
|
|
|
+ "name": "${cluster-env/user_group}",
|
|
|
+ "access": "r"
|
|
|
}
|
|
|
+ }
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "principal": {
|
|
|
+ "value": "ambari-qa@${realm}",
|
|
|
+ "configuration": "cluster-env/smokeuser_principal_name"
|
|
|
},
|
|
|
- {
|
|
|
- "principal" : {
|
|
|
- "value" : "ambari-qa@${realm}",
|
|
|
- "configuration" : "cluster-env/smokeuser_principal_name"
|
|
|
+ "name": "smokeuser",
|
|
|
+ "keytab": {
|
|
|
+ "file": "${keytab_dir}/smokeuser.headless.keytab",
|
|
|
+ "owner": {
|
|
|
+ "name": "root",
|
|
|
+ "access": "r"
|
|
|
},
|
|
|
- "name" : "smokeuser",
|
|
|
- "keytab" : {
|
|
|
- "file" : "${keytab_dir}/smokeuser.headless.keytab",
|
|
|
- "owner" : {
|
|
|
- "name" : "root",
|
|
|
- "access" : "r"
|
|
|
- },
|
|
|
- "configuration" : "cluster-env/smokeuser_keytab",
|
|
|
- "group" : {
|
|
|
- "name" : "${cluster-env/user_group}",
|
|
|
- "access" : "r"
|
|
|
- }
|
|
|
+ "configuration": "cluster-env/smokeuser_keytab",
|
|
|
+ "group": {
|
|
|
+ "name": "${cluster-env/user_group}",
|
|
|
+ "access": "r"
|
|
|
}
|
|
|
}
|
|
|
- ],
|
|
|
- "configurations": [
|
|
|
- {
|
|
|
- "core-site": {
|
|
|
- "hadoop.security.authentication": "kerberos",
|
|
|
- "hadoop.rpc.protection": "authentication; integrity; privacy",
|
|
|
- "hadoop.security.authorization": "true"
|
|
|
- }
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "configurations": [
|
|
|
+ {
|
|
|
+ "core-site": {
|
|
|
+ "hadoop.security.authentication": "kerberos",
|
|
|
+ "hadoop.rpc.protection": "authentication; integrity; privacy",
|
|
|
+ "hadoop.security.authorization": "true"
|
|
|
}
|
|
|
- ],
|
|
|
- "services": [
|
|
|
- {
|
|
|
- "name": "HDFS",
|
|
|
- "components": [
|
|
|
- {
|
|
|
- "name": "NAMENODE",
|
|
|
- "identities": [
|
|
|
- {
|
|
|
- "name": "namenode_nn",
|
|
|
- "principal": {
|
|
|
- "value": "nn/_HOST@${realm}",
|
|
|
- "configuration": "hdfs-site/dfs.namenode.kerberos.principal"
|
|
|
- },
|
|
|
- "keytab": {
|
|
|
- "file": "${keytab_dir}/nn.service.keytab",
|
|
|
- "owner": {
|
|
|
- "name": "${hadoop-env/hdfs_user}",
|
|
|
- "access": "r"
|
|
|
- },
|
|
|
- "group": {
|
|
|
- "name": "${cluster-env/user_group}",
|
|
|
- "access": ""
|
|
|
- },
|
|
|
- "configuration": "hdfs-site/dfs.namenode.keytab.file"
|
|
|
- }
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "services": [
|
|
|
+ {
|
|
|
+ "name": "HDFS",
|
|
|
+ "components": [
|
|
|
+ {
|
|
|
+ "name": "NAMENODE",
|
|
|
+ "identities": [
|
|
|
+ {
|
|
|
+ "name": "namenode_nn",
|
|
|
+ "principal": {
|
|
|
+ "value": "nn/_HOST@${realm}",
|
|
|
+ "configuration": "hdfs-site/dfs.namenode.kerberos.principal"
|
|
|
},
|
|
|
- {
|
|
|
- "name": "namenode_host",
|
|
|
- "principal": {
|
|
|
- "value": "host/_HOST@${realm}",
|
|
|
- "configuration": "hdfs-site/dfs.namenode.kerberos.https.principal"
|
|
|
+ "keytab": {
|
|
|
+ "file": "${keytab_dir}/nn.service.keytab",
|
|
|
+ "owner": {
|
|
|
+ "name": "${hadoop-env/hdfs_user}",
|
|
|
+ "access": "r"
|
|
|
},
|
|
|
- "keytab": {
|
|
|
- "file": "${keytab_dir}/host.keytab",
|
|
|
- "owner": {
|
|
|
- "name": "${hadoop-env/hdfs_user}",
|
|
|
- "access": "r"
|
|
|
- },
|
|
|
- "group": {
|
|
|
- "name": "${cluster-env/user_group}",
|
|
|
- "access": ""
|
|
|
- },
|
|
|
- "configuration": "hdfs-site/dfs.namenode.keytab.file"
|
|
|
- }
|
|
|
- },
|
|
|
- {
|
|
|
- "name": "/spnego",
|
|
|
- "principal": {
|
|
|
- "configuration": "hdfs-site/dfs.web.authentication.kerberos.principal"
|
|
|
+ "group": {
|
|
|
+ "name": "${cluster-env/user_group}",
|
|
|
+ "access": ""
|
|
|
},
|
|
|
- "keytab": {
|
|
|
- "configuration": "hdfs/dfs.web.authentication.kerberos.keytab"
|
|
|
- }
|
|
|
+ "configuration": "hdfs-site/dfs.namenode.keytab.file"
|
|
|
}
|
|
|
- ]
|
|
|
- },
|
|
|
- {
|
|
|
- "name": "DATANODE",
|
|
|
- "identities": [
|
|
|
- {
|
|
|
- "name": "datanode_dn",
|
|
|
- "principal": {
|
|
|
- "value": "dn/_HOST@${realm}",
|
|
|
- "configuration": "hdfs-site/dfs.namenode.kerberos.principal"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "name": "namenode_host",
|
|
|
+ "principal": {
|
|
|
+ "value": "host/_HOST@${realm}",
|
|
|
+ "configuration": "hdfs-site/dfs.namenode.kerberos.https.principal"
|
|
|
+ },
|
|
|
+ "keytab": {
|
|
|
+ "file": "${keytab_dir}/host.keytab",
|
|
|
+ "owner": {
|
|
|
+ "name": "${hadoop-env/hdfs_user}",
|
|
|
+ "access": "r"
|
|
|
},
|
|
|
- "keytab": {
|
|
|
- "file": "${keytab_dir}/dn.service.keytab",
|
|
|
- "owner": {
|
|
|
- "name": "${hadoop-env/hdfs_user}",
|
|
|
- "access": "r"
|
|
|
- },
|
|
|
- "group": {
|
|
|
- "name": "${cluster-env/user_group}",
|
|
|
- "access": ""
|
|
|
- },
|
|
|
- "configuration": "hdfs-site/dfs.namenode.keytab.file"
|
|
|
- }
|
|
|
+ "group": {
|
|
|
+ "name": "${cluster-env/user_group}",
|
|
|
+ "access": ""
|
|
|
+ },
|
|
|
+ "configuration": "hdfs-site/dfs.namenode.keytab.file"
|
|
|
+ }
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "name": "/spnego",
|
|
|
+ "principal": {
|
|
|
+ "configuration": "hdfs-site/dfs.web.authentication.kerberos.principal"
|
|
|
},
|
|
|
- {
|
|
|
- "name": "datanode_host",
|
|
|
- "principal": {
|
|
|
- "value": "host/_HOST@${realm}",
|
|
|
- "configuration": "hdfs-site/dfs.datanode.kerberos.https.principal"
|
|
|
+ "keytab": {
|
|
|
+ "configuration": "hdfs/dfs.web.authentication.kerberos.keytab"
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "name": "DATANODE",
|
|
|
+ "identities": [
|
|
|
+ {
|
|
|
+ "name": "datanode_dn",
|
|
|
+ "principal": {
|
|
|
+ "value": "dn/_HOST@${realm}",
|
|
|
+ "configuration": "hdfs-site/dfs.namenode.kerberos.principal"
|
|
|
+ },
|
|
|
+ "keytab": {
|
|
|
+ "file": "${keytab_dir}/dn.service.keytab",
|
|
|
+ "owner": {
|
|
|
+ "name": "${hadoop-env/hdfs_user}",
|
|
|
+ "access": "r"
|
|
|
},
|
|
|
- "keytab": {
|
|
|
- "file": "${keytab_dir}/host.keytab.file",
|
|
|
- "owner": {
|
|
|
- "name": "${hadoop-env/hdfs_user}",
|
|
|
- "access": "r"
|
|
|
- },
|
|
|
- "group": {
|
|
|
- "name": "${cluster-env/user_group}",
|
|
|
- "access": ""
|
|
|
- },
|
|
|
- "configuration": "hdfs-site/dfs.namenode.secondary.keytab.file"
|
|
|
- }
|
|
|
+ "group": {
|
|
|
+ "name": "${cluster-env/user_group}",
|
|
|
+ "access": ""
|
|
|
+ },
|
|
|
+ "configuration": "hdfs-site/dfs.namenode.keytab.file"
|
|
|
}
|
|
|
- ]
|
|
|
- },
|
|
|
- {
|
|
|
- "name": "SECONDARY_NAMENODE",
|
|
|
- "identities": [
|
|
|
- {
|
|
|
- "name": "secondary_namenode_nn",
|
|
|
- "principal": {
|
|
|
- "value": "nn/_HOST@${realm}",
|
|
|
- "configuration": "hdfs-site/dfs.namenode.secondary.kerberos.principal"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "name": "datanode_host",
|
|
|
+ "principal": {
|
|
|
+ "value": "host/_HOST@${realm}",
|
|
|
+ "configuration": "hdfs-site/dfs.datanode.kerberos.https.principal"
|
|
|
+ },
|
|
|
+ "keytab": {
|
|
|
+ "file": "${keytab_dir}/host.keytab.file",
|
|
|
+ "owner": {
|
|
|
+ "name": "${hadoop-env/hdfs_user}",
|
|
|
+ "access": "r"
|
|
|
},
|
|
|
- "keytab": {
|
|
|
- "file": "${keytab_dir}/snn.service.keytab",
|
|
|
- "owner": {
|
|
|
- "name": "${hadoop-env/hdfs_user}",
|
|
|
- "access": "r"
|
|
|
- },
|
|
|
- "group": {
|
|
|
- "name": "${cluster-env/user_group}",
|
|
|
- "access": ""
|
|
|
- },
|
|
|
- "configuration": "hdfs-site/dfs.namenode.secondary.keytab.file"
|
|
|
- }
|
|
|
+ "group": {
|
|
|
+ "name": "${cluster-env/user_group}",
|
|
|
+ "access": ""
|
|
|
+ },
|
|
|
+ "configuration": "hdfs-site/dfs.namenode.secondary.keytab.file"
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "name": "SECONDARY_NAMENODE",
|
|
|
+ "identities": [
|
|
|
+ {
|
|
|
+ "name": "secondary_namenode_nn",
|
|
|
+ "principal": {
|
|
|
+ "value": "nn/_HOST@${realm}",
|
|
|
+ "configuration": "hdfs-site/dfs.namenode.secondary.kerberos.principal"
|
|
|
},
|
|
|
- {
|
|
|
- "name": "secondary_namenode_host",
|
|
|
- "principal": {
|
|
|
- "value": "host/_HOST@${realm}",
|
|
|
- "configuration": "hdfs-site/dfs.namenode.secondary.kerberos.https.principal"
|
|
|
+ "keytab": {
|
|
|
+ "file": "${keytab_dir}/snn.service.keytab",
|
|
|
+ "owner": {
|
|
|
+ "name": "${hadoop-env/hdfs_user}",
|
|
|
+ "access": "r"
|
|
|
},
|
|
|
- "keytab": {
|
|
|
- "file": "${keytab_dir}/host.keytab.file",
|
|
|
- "owner": {
|
|
|
- "name": "${hadoop-env/hdfs_user}",
|
|
|
- "access": "r"
|
|
|
- },
|
|
|
- "group": {
|
|
|
- "name": "${cluster-env/user_group}",
|
|
|
- "access": ""
|
|
|
- },
|
|
|
- "configuration": "hdfs-site/dfs.namenode.secondary.keytab.file"
|
|
|
- }
|
|
|
+ "group": {
|
|
|
+ "name": "${cluster-env/user_group}",
|
|
|
+ "access": ""
|
|
|
+ },
|
|
|
+ "configuration": "hdfs-site/dfs.namenode.secondary.keytab.file"
|
|
|
+ }
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "name": "secondary_namenode_host",
|
|
|
+ "principal": {
|
|
|
+ "value": "host/_HOST@${realm}",
|
|
|
+ "configuration": "hdfs-site/dfs.namenode.secondary.kerberos.https.principal"
|
|
|
},
|
|
|
- {
|
|
|
- "name": "/spnego",
|
|
|
- "principal": {
|
|
|
- "configuration": "hdfs-site/dfs.web.authentication.kerberos.principal"
|
|
|
+ "keytab": {
|
|
|
+ "file": "${keytab_dir}/host.keytab.file",
|
|
|
+ "owner": {
|
|
|
+ "name": "${hadoop-env/hdfs_user}",
|
|
|
+ "access": "r"
|
|
|
},
|
|
|
- "keytab": {
|
|
|
- "configuration": "hdfs/dfs.web.authentication.kerberos.keytab"
|
|
|
- }
|
|
|
+ "group": {
|
|
|
+ "name": "${cluster-env/user_group}",
|
|
|
+ "access": ""
|
|
|
+ },
|
|
|
+ "configuration": "hdfs-site/dfs.namenode.secondary.keytab.file"
|
|
|
+ }
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "name": "/spnego",
|
|
|
+ "principal": {
|
|
|
+ "configuration": "hdfs-site/dfs.web.authentication.kerberos.principal"
|
|
|
+ },
|
|
|
+ "keytab": {
|
|
|
+ "configuration": "hdfs/dfs.web.authentication.kerberos.keytab"
|
|
|
}
|
|
|
- ]
|
|
|
- }
|
|
|
- ]
|
|
|
- },
|
|
|
- {
|
|
|
- "name" : "FALCON",
|
|
|
- "identities" : [
|
|
|
- {
|
|
|
- "name" : "/spnego"
|
|
|
- },
|
|
|
- {
|
|
|
- "name" : "/smokeuser"
|
|
|
- },
|
|
|
- {
|
|
|
- "name" : "/hdfs"
|
|
|
- }
|
|
|
- ],
|
|
|
- "configurations" : [
|
|
|
- {
|
|
|
- "falcon-startup.properties" : {
|
|
|
- "*.falcon.http.authentication.type" : "kerberos",
|
|
|
- "*.falcon.authentication.type" : "kerberos",
|
|
|
- "*.dfs.namenode.kerberos.principal" : "nn/_HOST@${realm}"
|
|
|
}
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "name": "FALCON",
|
|
|
+ "identities": [
|
|
|
+ {
|
|
|
+ "name": "/spnego"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "name": "/smokeuser"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "name": "/hdfs"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "configurations": [
|
|
|
+ {
|
|
|
+ "falcon-startup.properties": {
|
|
|
+ "*.falcon.http.authentication.type": "kerberos",
|
|
|
+ "*.falcon.authentication.type": "kerberos",
|
|
|
+ "*.dfs.namenode.kerberos.principal": "nn/_HOST@${realm}"
|
|
|
}
|
|
|
- ],
|
|
|
- "components" : [
|
|
|
- {
|
|
|
- "name" : "FALCON_SERVER",
|
|
|
- "identities" : [
|
|
|
- {
|
|
|
- "principal" : {
|
|
|
- "value" : "falcon/${host}@${realm}",
|
|
|
- "configuration" : "falcon-startup.properties/*.falcon.service.authentication.kerberos.principal"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "components": [
|
|
|
+ {
|
|
|
+ "name": "FALCON_SERVER",
|
|
|
+ "identities": [
|
|
|
+ {
|
|
|
+ "principal": {
|
|
|
+ "value": "falcon/${host}@${realm}",
|
|
|
+ "configuration": "falcon-startup.properties/*.falcon.service.authentication.kerberos.principal"
|
|
|
+ },
|
|
|
+ "name": "falcon_server",
|
|
|
+ "keytab": {
|
|
|
+ "file": "${keytab_dir}/falcon.service.keytab",
|
|
|
+ "owner": {
|
|
|
+ "name": "${falcon-env/falcon_user}",
|
|
|
+ "access": "r"
|
|
|
},
|
|
|
- "name" : "falcon_server",
|
|
|
- "keytab" : {
|
|
|
- "file" : "${keytab_dir}/falcon.service.keytab",
|
|
|
- "owner" : {
|
|
|
- "name" : "${falcon-env/falcon_user}",
|
|
|
- "access" : "r"
|
|
|
- },
|
|
|
- "configuration" : "falcon-startup.properties/*.falcon.service.authentication.kerberos.keytab",
|
|
|
- "group" : {
|
|
|
- "name" : "${cluster-env/user_group}",
|
|
|
- "access" : ""
|
|
|
- }
|
|
|
+ "configuration": "falcon-startup.properties/*.falcon.service.authentication.kerberos.keytab",
|
|
|
+ "group": {
|
|
|
+ "name": "${cluster-env/user_group}",
|
|
|
+ "access": ""
|
|
|
}
|
|
|
+ }
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "principal": {
|
|
|
+ "value": "HTTP/${host}@${realm}",
|
|
|
+ "configuration": "falcon-startup.properties/oozie.authentication.kerberos.principal"
|
|
|
},
|
|
|
- {
|
|
|
- "principal" : {
|
|
|
- "value" : "HTTP/${host}@${realm}",
|
|
|
- "configuration" : "falcon-startup.properties/oozie.authentication.kerberos.principal"
|
|
|
+ "name": "/spnego",
|
|
|
+ "keytab": {
|
|
|
+ "file": null,
|
|
|
+ "owner": {
|
|
|
+ "name": null,
|
|
|
+ "access": null
|
|
|
},
|
|
|
- "name" : "/spnego",
|
|
|
- "keytab" : {
|
|
|
- "file" : null,
|
|
|
- "owner" : {
|
|
|
- "name" : null,
|
|
|
- "access" : null
|
|
|
- },
|
|
|
- "configuration" : "falcon-startup.properties/oozie.authentication.kerberos.keytab",
|
|
|
- "group" : {
|
|
|
- "name" : null,
|
|
|
- "access" : null
|
|
|
- }
|
|
|
+ "configuration": "falcon-startup.properties/oozie.authentication.kerberos.keytab",
|
|
|
+ "group": {
|
|
|
+ "name": null,
|
|
|
+ "access": null
|
|
|
}
|
|
|
}
|
|
|
- ]
|
|
|
- }
|
|
|
- ]
|
|
|
- }
|
|
|
- ]
|
|
|
- }
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ ]
|
|
|
}
|
|
|
};
|