Protegendo recursos do Secrets Manager com restrições baseadas em contexto

Depois de configurar sua instância de serviço IBM Cloud® Secrets Manager, você pode gerenciar o acesso usando restrições baseadas em contexto(CBR).

Gerenciando as configurações de CBR

Com as restrições baseadas em contexto, é possível definir e aplicar restrições de acesso de usuários e serviços aos recursos do Secrets Manager com base em critérios especificados.

É possível controlar recursos do Secrets Manager com restrições baseadas em contexto e políticas de gerenciamento de identidade e acesso (IAM). Esses recursos incluem referências de Virtual Private Cloud (VPC) e endereços de Internet Protocol (IP) que estão vinculados à instância do Secrets Manager.

Essas restrições funcionam com as políticas tradicionais de IAM, que são baseadas em identidade, para fornecer outra camada de proteção. Ao contrário das políticas do IAM, as restrições baseadas no contexto não atribuem acesso. As restrições baseadas no contexto verificam se uma solicitação de acesso vem de um contexto permitido que você configura. Uma vez que o acesso do IAM e as restrições baseadas no contexto impõem o acesso, as restrições baseadas no contexto oferecem proteção mesmo em face de credenciais comprometidas ou mal gerenciadas. Para obter mais informações, consulte Quais são as restrições baseadas em contexto.

Um usuário deve ter a função Administrator no serviço Secrets Manager para criar, atualizar ou excluir regras. Um usuário também deve ter a função Editor ou Administrator no serviço de restrições baseadas no contexto para criar, atualizar, ou excluir zonas de rede Um usuário com a função Viewer no serviço de restrições baseadas em contexto pode incluir apenas zonas de rede em uma regra..

Qualquer IBM Cloud Activity Tracker ou eventos de log de auditoria que são gerados vêm do serviço de restrição baseado em contexto, não Secrets Manager. Para obter mais informações, consulte Monitorando restrições baseadas em contexto.

Para começar a proteger seus recursos do Secrets Manager com restrições baseadas em contexto, consulte o tutorial para Aproveitando restrições baseadas em contexto para proteger seus recursos.

Como Secrets Manager se integra com restrições baseadas em contexto

Para restringir o acesso, é necessário criar zonas e regras.

Primeiro, crie uma zona com os detalhes apropriados para definições de rede ou recursos. Em seguida, anexe essa zona ao recurso especificado para restringir o acesso. Você pode criar zonas e regras usando uma RESTful API ou com restrições baseadas em contexto. Depois de criar ou atualizar uma zona ou uma regra, pode levar alguns minutos para que a mudança seja efetivada.

As regras de CBR não se aplicam ao fornecimento ou desprovimento de processos.

Limitações

Quando um usuário tem acesso do IAM no nível da instância, as regras do CBR que são aplicadas a grupos de segredos específicos não entram em vigor Como solução alternativa para essa limitação, configure as políticas de acesso do IAM do usuário para apenas grupos de segredos.

As restrições baseadas em contexto protegem apenas as ações que estão associadas à Secrets Manager API. As ações associadas às APIs de plataforma a seguir não são protegidas por restrições baseadas em contexto. Consulte os documentos da API para os IDs de ação específicos.

Criando zonas de rede

Ao criar zonas de rede, é possível definir uma lista de permissões de locais de rede em que as solicitações de acesso se originam para determinar quando uma regra pode ser aplicada A lista de locais de rede pode ser especificada pelos seguintes atributos:

  • Endereços IP, que incluem endereços individuais, intervalos ou sub-redes.
  • VPCs
  • Referências de serviço, que permitem acesso de outros serviços da IBM Cloud.

Certifique-se de adicionar Secrets Manager às zonas de rede para regras que visam outros recursos IBM Cloud, ou algumas operações em seu fluxo de trabalho poderão falhar.

Se você criou um servidor virtual IBM Cloud na infraestrutura clássica da sua nuvem privada virtual, o endereço IP privado que você deve usar para a regra CBR é um IP de gateway da nuvem privada virtual. Não use o endereço IP interno para o servidor virtual na infraestrutura clássica. Para encontrar o endereço IP do gateway, selecione o endereço IP de origem do ponto de extremidade do serviço IBM Cloud relevante em sua infraestrutura de nuvem privada virtual.

Criação de zonas de rede usando a API

É possível criar zonas de rede usando o comando create-zone Para obter mais informações, consulte Documentos da API. É possível incluir Secrets Manager em zonas de rede como uma referência de serviço para permitir que o Secrets Manager acesse recursos e serviços em sua conta que são objeto de uma regra.

O atributo serviceRef para Secrets Manager é secrets-manager.

Para determinar quais serviços estão disponíveis, verifique os destinos de referência.

Carga útil de exemplo para incluir Secrets Manager em uma zona de rede.

{
  "name": "Example zone 1",
  "description": "",
  "addresses": [
    {
      "type": "serviceRef",
      "ref": {
        "service_name": "secrets-manager",
        "account_id": "ACCOUNT-ID"
      }
    }
  ]
}

Carga útil de exemplo para incluir diversos serviços, endereços IP e VPCs em uma zona de rede

{
  "name": "zone",
  "description": "",
  "addresses": [
    {
      "type": "ipAddress",
      "value": "192.168.0.0"
    },
    {
      "type": "vpc",
      "value": "crn:v1:bluemix:public:is:us-east:a/CRN"
    },
    {
      "type": "vpc",
      "value": "crn:v1:bluemix:public:is:us-south:a/CRN"
    },
    {
      "type": "serviceRef",
      "ref": {
        "service_name": "cloud-object-storage",
        "account_id": "ACCOUNT-ID"
      }
    },
    {
      "type": "serviceRef",
      "ref": {
        "service_name": "codeengine",
        "account_id": "ACCOUNT-ID"
      }
    },
    {
      "type": "serviceRef",
      "ref": {
        "service_name": "containers-kubernetes",
        "account_id": "ACCOUNT-ID"
      }
    },
    {
      "type": "serviceRef",
      "ref": {
        "service_type": "platform_service",
        "account_id": "ACCOUNT-ID"
      }
    },
    {
      "type": "serviceRef",
      "ref": {
        "service_name": "iam-groups",
        "account_id": "ACCOUNT-ID"
      }
    }
  ],
  "excluded": []
}

Depois de criar zonas, você pode atualizá-las ou removê-las.

Criação de zonas de rede usando a interface do usuário

Depois de configurar os pré-requisitos e requisitos, é possível criar zonas na UI. Para obter mais informações, consulte Criando restrições baseadas em contextos

  1. Determine os recursos que você deseja incluir em sua lista de permissões
  2. Siga as etapas para criar as restrições baseadas em contexto no console Inclua o serviço Secrets Manager em suas zonas de rede para permitir que o IBM Cloud® Secrets Manager acesse serviços e recursos em sua conta.

Depois de criar zonas, você também pode atualizá-las ou removê-las.

Criação de zonas de rede usando a CLI

É possível usar o comando cbr-zone-create para incluir locais de rede, VPC e referências de serviço em zonas de rede. Para obter mais informações, consulte o CBR CLI reference. Inclua Secrets Manager nas zonas de rede como uma referência de serviço para permitir que o Secrets Manager acesse recursos e serviços em sua conta que são sujeitos a uma regra.

  1. Para criar zonas de rede da CLI, instale o plug-in da CLI do CBR.
  2. Use o comando cbr-zone-create para incluir recursos em zonas de rede Para obter mais informações, consulte o CBR CLI reference. Observe que o service_name para Secrets Manager é secrets-manager.

Para localizar uma lista de referências de serviço disponíveis, execute o comando ibmcloud cbr service-ref-targets

Exemplo de comando para incluir o serviço do secrets-manager em uma zona de rede

ibmcloud cbr zone-create --name example-zone-1 --description "Example zone 1" --service-ref service_name=secrets-manager

Entendendo Regras

Depois de criar suas zonas, você pode anexar as zonas aos recursos da rede criando regras. Ao adicionar recursos em uma regra, você pode escolher a partir dos tipos de terminais disponíveis que são específicos para a sua topologia de rede.

Criar regras usando a API

É possível definir regras com a API usando as informações coletadas da criação de zonas de rede.

Revise o exemplo a seguir para saber como criar regras para Secrets Manager. Para obter mais informações, consulte Documentos da API.

A carga útil de exemplo a seguir cria uma regra que protege o cluster do CLUSTER-ID Somente os recursos na zona do NETWORK-ZONE-ID podem acessar o cluster Dado que nenhum operations é especificado, os recursos na zona NETWORK-ZONE-ID podem acessar as APIs cluster e management

{
  "description": "Example rule 1",
  "resources": [
    {
      "attributes": [
        {
          "name": "accountId",
          "value": "ACCOUNT-ID"
        },
        {
          "name": "serviceName",
          "value": "secrets-manager"
        },
        {
          "name": "serviceInstance",
          "value": "CLUSTER-ID"
        }
      ]
    }
  ],
  "contexts": [
    {
      "attributes": [
        {
          "name": "networkZoneId",
          "value": "NETWORK-ZONE-ID"
        },
        {
          "name": "endpointType",
          "value": "private"
        }
      ]
    }
  ]
}

Depois de criar regras, você pode atualizar e excluir eles.

Criação de regras usando a interface do usuário

Depois de configurar os pré-requisitos e requisitos, é possível criar regras na UI.

  1. Determine os recursos que você deseja incluir em sua lista de permissões
  2. Siga as etapas para criar as restrições baseadas em contexto no console Inclua o serviço Secrets Manager em suas zonas de rede para permitir que o IBM Cloud® Secrets Manager acesse serviços e recursos em sua conta.

Depois de criar regras, você pode atualizar e excluir eles.

Criar regras usando a CLI

Revise os exemplos a seguir para saber como criar regras para Secrets Manager. Para obter mais informações, consulte o CBR CLI reference.

  1. Para criar regras a partir da CLI, instale o plug-in da CLI do CBR
  2. É possível usar o comando ibmcloud cbr rule-create para criar regras do CBR Para obter mais informações, consulte o CBR CLI reference. Observe que o service_name para Secrets Manager é secrets-manager. Para localizar uma lista de nomes de serviço, execute o comando ibmcloud cbr service-ref-targets Para localizar uma lista de tipos de API para um serviço, execute o comando ibmcloud cbr api-types --service-name SERVICE

Exemplo de comando para criar uma regra que usa a chave addresses e o tipo de API cluster, e o tipo ipAddress

ibmcloud cbr rule-create my-rule-1 --service-name secrets-manager --api-type crn:v1:bluemix:public:secrets-manager::::api-type:cluster --zone-id ZONE-ID

O comando a seguir cria uma regra que protege o cluster do CLUSTER-ID Somente os recursos na zona de rede do NETWORK-ZONE-ID podem acessar o cluster Essa regra inclui os tipos de API cluster e management.

ibmcloud cbr rule-create my-rule-2 --service-name secrets-manager --service-instance CLUSTER-ID --zone-id NETWORK-ZONE-ID

Próximas etapas

Você deve acompanhar a criação ou modificação de zonas ou regras com testes adequados para garantir o acesso e a disponibilidade.

Os usuários que tentam acessar seus recursos fora das zonas definidas recebem HTTP error 401 quando as regras apropriadas não são estabelecidas.