Fronteira da segurança
O modelo de responsabilidade compartilhada é um modo de cooperação em que tanto provedores quanto clientes assumem responsabilidades de segurança e conformidade dos serviços em nuvem.
Os provedores gerenciam a infraestrutura de nuvem e fornecem hardware e software seguros para garantir a disponibilidade do serviço. Os clientes protegem seus dados e aplicações, ao mesmo tempo em que atendem aos requisitos de conformidade relacionados.
Os prestadores são responsáveis pelos serviços e funções e devem:
- Estabelecer e manter uma infraestrutura segura, incluindo redes, servidores e dispositivos de armazenamento.
- Fornecer plataformas subjacentes confiáveis para garantir a segurança em tempo de execução para o ambiente.
- Fornecer autenticação de identidade e controle de acesso para garantir que apenas usuários autorizados possam acessar os serviços de nuvem e os locatários sejam isolados uns dos outros.
- Fornecer backup e recuperação de desastres confiáveis para evitar a perda de dados devido a falhas de hardware ou desastres naturais.
- Fornecer serviços transparentes de monitoramento e resposta a incidentes, atualizações de segurança e patches de vulnerabilidades.
Os clientes devem:
- Criptografar dados e aplicações para confidencialidade e integridade.
- Certificar-se de que o software da aplicação de IA seja atualizado com segurança e que as vulnerabilidades sejam corrigidas.
- Cumprir os regulamentos relacionados, como GDPR, HIPAA e PCI DSS.
- Controlar o acesso para garantir que somente usuários autorizados possam acessar e gerenciar recursos, como serviços on-line.
- Monitorar e relatar qualquer atividade anormal e tomar medidas em tempo hábil.
Responsabilidades de segurança de implementação de inferência
- Provedores
- Corrija os patches relacionados aos ECSs subjacentes.
- Atualize o K8S e corrija vulnerabilidades.
- Opere a manutenção do ciclo de vida do sistema operacional da VM.
- Garanta a segurança e a conformidade da plataforma de inferência ModelArts.
- Melhore a segurança dos serviços de aplicações de contêiner.
- Atualize o ambiente de tempo de execução do modelo e corrija vulnerabilidades periodicamente.
- Clientes
- Autorize o uso de recursos e controlar o acesso.
- Garanta a segurança de aplicações, sua cadeia de suprimentos e dependências por meio de verificação de segurança, auditoria e verificação de acesso.
- Minimize as permissões e limite a entrega de credenciais.
- Garanta a segurança das aplicações de IA (imagens personalizadas, modelos OBS e dependências) durante o tempo de execução.
- Atualize e corrija vulnerabilidades em tempo hábil.
- Armazene com segurança dados confidenciais, como credenciais.
Melhores práticas para segurança de implementação de inferência
- Autorização de serviço externo
A inferência do ModelArts requer autorização de outros serviços em nuvem. Você pode conceder apenas as permissões necessárias com base em suas necessidades. Por exemplo, você pode conceder permissão de acesso em um bucket do OBS a um locatário para gerenciamento de modelo.
- Autorização de recursos internos
A inferência do ModelArts suporta controle de permissão refinado. Você pode configurar as permissões para os usuários com base nas necessidades reais para restringir as permissões em alguns recursos.
- Gerenciamento de aplicações de IA
Para dissociar modelos de imagens e proteger ativos de modelo, você pode importar dinamicamente aplicações de IA de treinamentos ou OBS. Você precisa atualizar os pacotes de dependência de aplicações de IA e corrigir vulnerabilidades em pacotes de código aberto ou de terceiros. As informações sensíveis relacionadas às aplicações de IA precisam ser desacopladas e configuradas durante a implementação. Selecione o ambiente de tempo de execução recomendado pelo ModelArts. Os ambientes anteriores podem ter vulnerabilidades de segurança.
Você pode selecionar imagens confiáveis abertas ao criar aplicações de IA a partir de uma imagem de contêiner, por exemplo, imagens do OpenEuler, Ubuntu e NVIDIA. Crie usuários não raiz em vez de usuários raiz para executar uma imagem. Somente o pacote de segurança necessário durante o tempo de execução é instalado na imagem. Reduza o tamanho da imagem e atualize o pacote de instalação para a versão mais recente livre de vulnerabilidades. Desacople informações confidenciais de imagens durante a implementação do serviço. Não use diretamente as informações no Dockerfile. Realize varreduras de segurança em imagens periodicamente e instale patches para corrigir vulnerabilidades. Para facilitar o relatório de alarme e a retificação de falhas, adicione a interface de verificação de integridade e certifique-se de que o status do serviço possa ser retornado corretamente. Para garantir a segurança dos dados do serviço, use fluxos de transmissão HTTPS e pacotes de criptografia confiáveis para contêineres.
- Implementação de modelo
Para evitar que os serviços sejam sobrecarregados ou desperdiçados, defina as especificações de nó de computação adequadas durante a implementação. Não ouça outras portas no contêiner. Se outras portas precisarem ser acessadas localmente, ouça-as em localhost. Não transfira diretamente informações confidenciais por meio de variáveis de ambiente. Criptografe informações confidenciais com componente de criptografia antes da transmissão de dados.
A chave de autenticação da aplicação é uma credencial de acesso para serviços em tempo real. Você deve manter a chave da aplicação corretamente.