11.10. Configuração das Restrições

11.10.1. Configuração de Security Constraints (Restrições de Segurança)

Cada Sensitivity Constraint (Restrição de Segurança) define um conjunto de recursos que são considerados "confidenciais". Um recurso confidencial é normalmente um recurso que deve ser secreto, como senhas, ou um que terá impactos sérios no servidor, como rede, configuração JVM ou propriedades de sistema. O próprio sistema de controle é também considerado confidencial. A confidencialidade do recurso limita quais funções estão disponíveis para leitura, gravação ou endereço a um recurso específico.

A configuração de restrição confidencial está no API de Gerenciamento no /core-service=management/access=authorization/constraint=sensitivity-classification.

Cada Sensitivity Constraint (Restrição de Segurança) com o modelo de gerenciamento é identificado como um classification. As classificações são agrupadas em types. Existem 39 classificações que são organizadas em 13 tipos.

Com o objetivo de configurar uma restrição de confidencialidade, use a operação write-attribute para configurar o atributo configured-requires-read, configured-requires-write ou configured-requires-addressable. Com o objetivo de tornar o tipo de operação confidencial, configure o valor para true. Do contrário, para torná-la não confidencial, configure isto para false. Por default, esses atributos não são configurados e os valores de default-requires-read, default-requires-write e default-requires-addressable são usados. Uma vez que o atributo é configurado, o valor será usado ao invés do default. Os valores default não podem ser alterados.

Exemplo 11.5. Tornando as propriedades do sistema de leitura uma operação confidencial

[domain@localhost:9999 /] cd /core-service=management/access=authorization/constraint=sensitivity-classification/type=core/classification=system-property
[domain@localhost:9999 classification=system-property] :write-attribute(name=configured-requires-read, value=true)
{
    "outcome" => "success",
    "result" => undefined,
    "server-groups" => {"main-server-group" => {"host" => {"master" => {
        "server-one" => {"response" => {"outcome" => "success"}},
        "server-two" => {"response" => {"outcome" => "success"}}
    }}}}
}
[domain@localhost:9999 classification=system-property] :read-resource
{
    "outcome" => "success",
    "result" => {
        "configured-requires-addressable" => undefined,
        "configured-requires-read" => true,
        "configured-requires-write" => undefined,
        "default-requires-addressable" => false,
        "default-requires-read" => false,
        "default-requires-write" => true,
        "applies-to" => {
            "/host=master/system-property=*" => undefined,
            "/host=master/core-service=platform-mbean/type=runtime" => undefined,
            "/server-group=*/system-property=*" => undefined,
            "/host=master/server-config=*/system-property=*" => undefined,
            "/host=master" => undefined,
            "/system-property=*" => undefined,
            "/" => undefined
        }
    }
}
[domain@localhost:9999 classification=system-property]

Quais funções estarão aptas a executar determinadas operações dependerá da configuração desses atributos resumidos na Tabela 11.2, “Resultados da Configuração Sensitivity Constraint (Restrição Confidencial)”.

Tabela 11.2. Resultados da Configuração Sensitivity Constraint (Restrição Confidencial)

Valor requires-read requires-write requires-addressable

true

A leitura é confidencial.

Apenas o Auditor, Administrador e Super Usuário podem ler.

A gravação é confidencial.

Apenas o Administrador e Super Usuário podem gravar.

O endereçamento é confidencial.

Apenas o Auditor, Administrador e Super Usuário podem endereçar.

false

A leitura não é confidencial.

Qualquer usuário de gerenciamento pode ler.

A gravação não é confidencial.

Apenas o Mantedor, Administrador e Super Usuário podem gravar. Os implantadores podem também gravar o recurso num recurso do aplicativo.

O endereçamento não é confidencial.

Qualquer usuário de gerenciamento pode endereçar.