Я не могу найти информацию о том, как разрешить доступ к конкретному ядру SOLR только для одного пользователя.Я использую SOLR7.Вот что у меня есть:
security.json
{
"authentication": {
"blockUnknown": true,
"class": "solr.BasicAuthPlugin",
"credentials": {
"test_admin": "xxx",
"infographics": "xxx",
"test_user": "xxx"
},
"": {
"v": 0
}
},
"authorization": {
"class": "solr.RuleBasedAuthorizationPlugin",
"permissions": [
{
"name": "all",
"role": "admin",
"index": 1
},
{
"name": "update",
"role": "general",
"index": 2
},
{
"name": "read",
"role": [
"general",
"infographics",
"test_user"
],
"index": 3
},
{
"name": "collection-admin-read",
"role": "general",
"index": 4
},
{
"name": "core-admin-read",
"role": "general",
"index": 5
},
{
"name": "core-specific-permission",
"collection": "test-core",
"role": "test_user",
"before": 3,
"index": 6
}
],
"user-role": {
"test_admin": [
"admin",
"general"
],
"infographics": "infographics",
"test_user": "test_user"
},
"": {
"v": 0
}
}
}
Я добавил разрешение для коллекции "test-core":
{
"name": "core-specific-permission",
"collection": "test-core",
"role": "test_user",
"before": 3,
"index": 6
}
Iаутентифицироваться с test_user
при вызове: /solr/test-core/select?q=*:*
, это прекрасно работает, но также может получить доступ к другим ядрам, например: /solr/other-core/select?q=*:*
.
Если я удалю test_user из разрешения на чтение:
{
"name": "read",
"role": [
"general",
"infographics"
],
"index": 3
},
, то я не смогу запросить ядро.Получение 403. Для test_user
я бы хотел разрешить доступ только к этому ядру /solr/test-core/select?q=*:*
и ничего больше.Есть идеи, как мне этого добиться?