ECS: Restrição de IP do client CAS

Resumo: Este artigo descreve a capacidade de restringir endereços IP do client que podem acessar um bucket do CAS.

Este artigo aplica-se a Este artigo não se aplica a Este artigo não está vinculado a nenhum produto específico. Nem todas as versões do produto estão identificadas neste artigo.

Instruções

Introdução:

  • O recurso pode ser usado quando o cliente quiser restringir o acesso de IPs de client a um bucket do CAS. Somente os IPs definidos na lista de restrições podem ter acesso ao usuário relacionado. 
  • Por padrão, não há restrições definidas para um usuário. 
  • A restrição de IP do usuário do CAS é aplicável ao usuário em todos os VDCs.
  • O limite padrão de IPs para um usuário é 10 e é configurável. 

Nota: Entre em contato com o suporte remoto do Dell ECS para alterar o valor padrão do limite de IP.


Etapas para configurar a restrição de IP do client CAS:

  1. Criar um usuário CAS
  2. Crie um arquivo .xml com a lista de IPs que você deseja fornecer acesso ao usuário, qualquer outro IP que tente acessar o usuário do CAS deverá falhar com FP_AUTHENTICATION_FAILED_ERR
  3. Use o comando PUT para definir uma restrição de IP para um usuário específico
  4. Use o comando GET Comando para obter ou visualizar as restrições definidas para um usuário
  5. Para EDIT uma restrição que foi definida anteriormente para um usuário, edite o arquivo xml com os IPs e execute um PUT
  6. Para DELETE uma restrição que foi definida anteriormente, remova o <ip_restrictions>127.127.127.127</ip_restrictions> a partir do arquivo xml e fazer um PUT

Arquivo xml de exemplo quando a restrição de IP é definida: (somente esses dois IPs têm acesso ao access_user de usuário do CAS)

cat new.xml
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<user_ip_restrictions_param>
<ip_restrictions>127.127.127.127</ip_restrictions>
<ip_restrictions>127.128.128.128 </ip_restrictions>
<user_name>access_user</user_name>
</user_ip_restrictions_param>


Abaixo estão os REST comandos com PUT, GET, LISTDELETE operações, um token de acesso deve ser usado para o usuário root.

Exemplo:

admin@ecsnode1:~> TOK=$(curl -iks https://localhost:4443/login -u root:*** | grep X-SDS-AUTH-TOKEN); echo $TOK
X-SDS-AUTH-TOKEN: BAAcc1pZcEkxK3MyUU4xZy9ocEdnUXp0MHl2aTk0PQMAjAQASHVybjpzdG9yYWdlb3M6VmlydHVhbERhdGFDZW50ZXJEYXRhOjdlNWQ0YzFkLTkzNjEtNDBkNS1iMWE4LTUwNzE5NDEwODRiZQIADTE2ODQ4MjYzOTk5OTIDAC51cm46VG9rZW46ODYzMzEyZDEtYzA3NC00MWFjLThlMjAtZDUzZmQ3Njk2MjVhAgAC0A8=
admin@ecsnode1:~> 

 

Para definir restrições de IP do usuário:

Use o comando abaixo:
PUT /object/user-cas/ip-restrictions/{namespace_name}/{user_name}

Exemplo:

curl -ks -H 'Accept:application/xml' -H 'Content-Type:application/xml' -X PUT -d @new.xml -H "$TOK" https://10.245.xx.xx:4443/object/user-cas/ip-restrictions/cas_access/access_user

Corpo da resposta exemplo 1: (por padrão, quando não há nenhuma restrição de IP definida para o usuário)

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<user_ip_restrictions>
<user_name>access_user</user_name>
</user_ip_restrictions>

Corpo da resposta exemplo 2: (somente o IP do client fornecido abaixo tem acesso ao usuário)

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<user_ip_restrictions_param>
<ip_restrictions>128.128.128.128</ip_restrictions>
<ip_restrictions>127.127.127.127</ip_restrictions>
<user_name>access_user</user_name>
</user_ip_restrictions_param>

 

Para obter restrições de IP do usuário:

Use o comando abaixo:
GET /object/user-cas/ip-restrictions/{namespace_name}/{user_name}

Exemplo:

curl -ks -H "$TOK" -H "Content-Type: application/json" https://10.245.xx.xx:4443/object/user-cas/ip-restrictions/cas_access/access_user | xmllint -format -

Exemplo do corpo da resposta: (somente o IP do client fornecido abaixo tem acesso ao usuário)

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<user_ip_restrictions>
<ip_restrictions>127.127.127.127</ip_restrictions>
<user_name>access_user</user_name>
</user_ip_restrictions>

Corpo da resposta exemplo 2: (GET para um usuário por padrão quando não há nenhuma restrição de IP definida)

curl -ks -H "$TOK" -H "Content-Type: application/json" https://10.245.xx.xx:4443/object/user-cas/ip-restrictions/cas_access/access_user | xmllint -format -
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<user_ip_restrictions>
<user_name>access_user</user_name>


Para listar restrições de IP com usuários:

Use o comando abaixo:
GET /object/user-cas/ip-restrictions/

Exemplo: (lista as restrições de IP para cada usuário)

curl -ks -H "$TOK" -H "Content-Type: application/json" https://10.245.xx.xx:4443/object/user-cas/ip-restrictions | xmllint -format -
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<user_ip_restrictions_list>
<userIpRestriction>
<user_name>tsouser</user_name>
</userIpRestriction>
<userIpRestriction>
<user_name>tsouser2</user_name>
</userIpRestriction>
<userIpRestriction>
<ip_restrictions>10.245.xx.xx</ip_restrictions>
<ip_restrictions>10.247.xx.xx</ip_restrictions>
<ip_restrictions>10.245.xx.xx</ip_restrictions>
<ip_restrictions>10.247.xx.xx</ip_restrictions>
<ip_restrictions>10.243.xx.xx</ip_restrictions>
<user_name>clientuser</user_name>                >>>these are the restrictions set for this user
</userIpRestriction>
<userIpRestriction>
<user_name>gctest</user_name>
</userIpRestriction>
<userIpRestriction>
<user_name>casgcuser2</user_name>
</userIpRestriction>
<userIpRestriction>
<user_name>user2</user_name>
</userIpRestriction>
<userIpRestriction>
<user_name>gcu2</user_name>
</userIpRestriction>
<userIpRestriction>
<user_name>casgcuser1</user_name>               >>>all these users doesn't have any restrictions set 
</userIpRestriction>
</user_ip_restrictions_list>


Para excluir as restrições de IP definidas para um usuário:

Remova as entradas de restrição de IP do .xml e faça um PUT

cat new.xml
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<user_ip_restrictions_param>
<user_name>clientuser</user_name>
</user_ip_restrictions_param>

Comando:

curl -ks -H 'Accept:application/xml' -H 'Content-Type:application/xml' -X PUT -d @new.xml -H "$TOK" https://10.245.130.65:4443/object/user-cas/ip-restrictions/clientns/clientuser

Exemplo do corpo da resposta:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<user_ip_restrictions>
<user_name>clientuser</user_name>
</user_ip_restrictions>


O exemplo abaixo mostra o comportamento do recurso durante PUTGETe acesso a um usuário com e sem restrição:

cat new.xml
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<user_ip_restrictions_param>
<ip_restrictions>127.127.127.127</ip_restrictions>
<user_name>access_user</user_name>
</user_ip_restrictions_param>

PUT:

curl -ks -H 'Accept:application/xml' -H 'Content-Type:application/xml' -X PUT -d @new.xml -H "$TOK" https://10.245.xx.xx:4443/object/user-cas/ip-restrictions/cas_access/access_user

GET:

curl -ks -H "$TOK" -H "Content-Type: application/json" https://10.245.xx.xx:4443/object/user-cas/ip-restrictions/cas_access/access_user | xmllint -format -
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<user_ip_restrictions>
<ip_restrictions>127.127.127.127</ip_restrictions>
<user_name>access_user</user_name>
</user_ip_restrictions>


Usando JCASS, tentei acessar o pool a partir de 127.127.127.127 e consegui acessar:

CASScript>po 10.245.xx.xx?name=access_user,secret=centera@1234

Attempting to connect to: 10.245.xx.xx?name=access_user,secret=centera@1234

Connected to: 10.245.xx.xx?name=access_user,secret=centera@1234

CASPool Properties:
Connection String: 10.245.xx.xx?name=access_user,secret=centera@1234
Cluster Time: 2020.07.07 06:32:24 GMT
Buffer Size: 16384
Prefetch Buffer Size: 32768
Connection Timeout: 120000
Multi-Cluster Failover Enabled: True
Collision Avoidance Enabled: False


Tentativa de acessar o pool a partir de um IP que não está na lista de restrição de IP (que é uma lista permitida). O acesso ao pool deve falhar com o erro abaixo:

CASScript>po 10.245.xx.xx?name=access_user,secret=centera@1234

Attempting to connect to: 10.245.xx.xx?name=access_user,secret=centera@1234

SDK Error Occurred:

     Error Number: -10153
     System Error: 0
     Error:        FP_AUTHENTICATION_FAILED_ERR
     Error Class:  null
     Trace:        HPPAuthCRTransaction.run<FPConnection::authenticate<Cluster.authenticate<Cluster::updateClusterInfo()<ClusterCloud::updateClusterInfo(e9f1a3c9-5cb1-3a76-a589-f639de9ad2e4)<ClusterCloud::getClusterInfo(0,ClusterInformation&,2)<FPPool::Open(10.245.130.64?name=access_user,secret=centera@1234)<_FPPool_Open(10.245.130.64?name=access_user,secret=centera@1234)<FPPool_Open8(10.245.130.64?name=access_user,secret=centera@1234)

Mais informações

Consulte também o Guia de Administração do ECS:
https://dl.dell.com/content/manual52394679-ecs-3-8-administration-guide.pdf?language=en-us

https://www.dell.com/support/manuals/en-us/ecs-appliance-software-with-encryption/ecs_p_adminguide_3_8/restrict-user-ip-addresses-that-can-access-a-cas-bucket?guid=guid-c4e67b45-46f8-46fa-93cf-f63795add0ad⟨=en-us

Produtos afetados

Elastic Cloud Storage

Produtos

ECS, ECS Appliance
Propriedades do artigo
Número do artigo: 000214011
Tipo de artigo: How To
Último modificado: 18 mai. 2026
Versão:  8
Encontre as respostas de outros usuários da Dell para suas perguntas.
Serviços de suporte
Verifique se o dispositivo está coberto pelos serviços de suporte.