AI Security Maturity Model·AWS v1.0.0

Arraste para explorar · faça pinça para ampliar

Fundacional Gestão de identidade e acessoCamada de defesa em profundidade: Identidade e dados Capacidade 2 · Personalização de modelosCaso de uso: IA que você constrói 👤 ClienteModelo de Responsabilidade Compartilhada da AWS: quem implementa e opera este controle. Cliente = é seu; AWS = a AWS opera e você o herda; Compartilhada = ambos têm obrigações.

c2.2 Use um papel de serviço de privilégio mínimo para personalização e importação

Crie um papel de serviço de IAM dedicado para a personalização ou importação de modelos que conceda apenas as permissões que o job precisa, seguindo o privilégio mínimo.

Fundacional
Aprimorada
Avançada
Esforço: Baixo Impacto: Alto Scopes de IA generativaDa AWS Generative AI Security Scoping Matrix.: 4 · Modelos ajustados (fine-tuned); 5 · Modelos treinados por você

Guia de implementação

Como implementar na AWS

Crie um papel de serviço de IAM personalizado para o job de personalização ou importação do Bedrock/SageMaker, restrito aos buckets S3 e chaves KMS específicos que usa, sem acesso mais amplo. Separe este papel dos papéis de inferência e administração.

Por que a personalização precisa de sua própria função

A personalização de modelos (fine-tuning, destilação, pré-treinamento contínuo) é executada como um trabalho assíncrono que o Amazon Bedrock realiza em seu nome. O Bedrock assume uma função de serviço do IAM para ler seus dados de treinamento/validação do S3, gravar métricas de saída e — se seus dados estiverem criptografados — usar sua chave do KMS. Como essa função pode ler seus dados de treinamento, ela deve ser dedicada à personalização e restrita exatamente aos buckets e chaves envolvidos, não uma função compartilhada ou ampla.

Confie apenas no Bedrock, e apenas para sua conta

A política de confiança da função deve permitir que o principal de serviço do Bedrock a assuma, restrita com aws:SourceAccount (e idealmente aws:SourceArn) para que um "confused deputy" em outra conta não possa tomá-la emprestada:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": { "Service": "bedrock.amazonaws.com" },
      "Action": "sts:AssumeRole",
      "Condition": {
        "StringEquals": { "aws:SourceAccount": "111122223333" },
        "ArnEquals": {
          "aws:SourceArn": "arn:aws:bedrock:us-east-1:111122223333:model-customization-job/*"
        }
      }
    }
  ]
}

Conceda apenas o acesso ao S3 (e KMS) de que o trabalho precisa

A política de permissões deve listar os buckets específicos de dados de entrada e saída, nada mais amplo:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ReadTrainingData",
      "Effect": "Allow",
      "Action": ["s3:GetObject", "s3:ListBucket"],
      "Resource": [
        "arn:aws:s3:::my-bedrock-training-data",
        "arn:aws:s3:::my-bedrock-training-data/*"
      ]
    },
    {
      "Sid": "WriteJobOutput",
      "Effect": "Allow",
      "Action": "s3:PutObject",
      "Resource": "arn:aws:s3:::my-bedrock-custom-output/*"
    }
  ]
}

Se esses buckets usarem uma chave do KMS gerenciada pelo cliente, adicione kms:Decrypt (e kms:GenerateDataKey para o bucket de saída) sobre esse ARN de chave específico; sem isso, o trabalho falha com um erro de acesso.

Mantenha-a separada da função de invocação

A função de personalização lê dados de treinamento; a função de invocação em runtime chama os modelos (consulte o controle de IAM de privilégio mínimo). Não as combine — uma carga de trabalho que só precisa invocar um modelo nunca deve ter permissões para ler seu corpus de treinamento.

Nota de nomenclatura: substitua o id da conta, a região e os nomes de bucket. Restrinja aws:SourceArn ao padrão de ARN do trabalho de personalização para que a função só seja assumível para esse tipo de trabalho.

Critérios de aceitação

O job de personalização usa um papel de privilégio mínimo dedicado restrito aos seus buckets/chaves; nenhum papel de admin ou inferência compartilhado é reutilizado.

Implementação prática

Como este controle é implementado em cada arquitetura de referência:

Um papel de serviço de personalização dedicado na conta de IA generativa é restrito apenas aos buckets de treinamento e chaves específicos, separado dos papéis de invocação e administração.

  1. Crie um papel de serviço de IAM dedicado para o job de personalização do Bedrock/SageMaker, com acesso apenas aos buckets S3 de treinamento/validação específicos e à chave KMS de personalização.
    Conta de IA generativa IAM Amazon Bedrock Amazon SageMaker
  2. Confirme que este papel não é o papel de invocação de inferência nem um papel de administração; cada função tem seu próprio papel.
    Conta de IA generativa IAM
  3. Adicione um permissions boundary para que o papel de personalização nunca possa escalar além dos seus buckets/chaves.
    Conta de IA generativa IAM

Como validar: O job roda sob um papel dedicado restrito aos seus buckets/chaves; o IAM Access Analyzer não mostra acesso amplo; o papel é distinto dos papéis de invocação/administração.

Evite: Reutilizar um papel de administração ou inferência para executar o job de treinamento porque 'já funciona'. Um pipeline de treinamento comprometido herda então muito mais do que precisa.

OU de IA generativa (multi-conta) →

Um papel de personalização de privilégio mínimo distinto na conta é restrito aos seus buckets e chaves e mantido separado dos papéis em execução e de administração.

  1. Crie um papel de serviço de personalização dedicado restrito aos buckets de treinamento específicos e à chave KMS, sem acesso mais amplo.
    Camada de IA generativa (papel IAM) IAM Amazon Bedrock Amazon SageMaker
  2. Mantenha-o separado do papel de invocação do modelo e de qualquer papel de administração, para que treinamento, inferência e administração tenham cada um sua identidade.
    Camada de IA generativa (papel IAM) IAM
  3. Anexe um permissions boundary para limitar o alcance do papel mesmo se sua política for editada depois.
    Camada de aplicação (papel IAM) IAM

Como validar: O job de personalização usa um papel dedicado restrito aos seus buckets/chaves; não é o papel de invocação nem de administração; há um permissions boundary anexado.

Evite: Um único papel multiuso para treinamento, inferência e administração na conta única. Separe as funções por papel para que um comprometimento de treinamento fique contido.

Conta única (ponto de entrada) →

Ameaças atendidas

  • Um papel de personalização com permissões excessivas alcançando dados ou ações fora do job.
  • Movimento lateral a partir de um pipeline de treinamento comprometido.

Serviços AWS

AWS IAM Amazon Bedrock Amazon SageMaker AI

Preços

Funções e políticas do IAM são gratuitas. Você paga pelo trabalho de personalização (por token processado / por hora conforme o método) e pelo armazenamento dos dados de treinamento e do modelo personalizado resultante; a função em si não adiciona custo. Consulte Create a service role for model customization.

Mapeamentos de frameworks

OWASP GenAI/LLM Top 10 (2026)

  • LLM05 Data and Model Poisoning

NIST AI Risk Management Framework (AI 100-1)

  • MANAGE.1 AI risks are prioritized, responded to and managed

AWS Security Hub — AI Security Best Practices

  • SageMaker.3 Users should not have root access to SageMaker notebook instances

AWS Well-Architected Generative AI Lens (Security)

  • GENSEC01-BP01 Grant least privilege access to foundation model endpoints

Recursos de aprendizado

Referências

  • AWS SRA para IA — Capacidade 2, Gestão de identidade e acesso