View a markdown version of this page

Segurança e controle de acesso - SageMaker IA da Amazon

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Segurança e controle de acesso

A Amazon SageMaker Feature Store permite que você crie dois tipos de lojas: uma loja online ou uma loja offline. O armazenamento on-line é usado para casos de uso de inferência em tempo real de baixa latência, e o armazenamento offline é usado para casos de uso de treinamento e inferência em lote. Ao criar um grupo de recursos para uso on-line ou off-line, você pode fornecer uma chave gerenciada pelo AWS Key Management Service cliente para criptografar todos os seus dados em repouso. Caso você não forneça uma AWS KMS chave, garantimos que seus dados sejam criptografados no lado do servidor usando uma chave AWS própria ou uma AWS KMS AWS KMS chave AWS gerenciada. Ao criar um grupo de recursos, você pode selecionar o tipo de armazenamento e, opcionalmente, fornecer uma AWS KMS chave para criptografar dados. Em seguida, você pode chamar várias APIs para gerenciamento de dadosPutRecord, como, GetRecordDeleteRecord, e. ListRecords BatchWriteRecord

O Feature Store permite que você conceda ou negue acesso a indivíduos no nível do grupo de atributos e permite o acesso entre contas à Feature Store. Por exemplo, você pode configurar contas de desenvolvedor para acessar o armazenamento offline para treinamento e exploração de modelos que não tenham acesso de gravação às contas de produção. Você pode configurar contas de produção para acessar armazenamentos on-line e offline. A Feature Store usa AWS KMS chaves exclusivas do cliente para criptografia offline e online dos dados da loja virtual em repouso. O controle de acesso é ativado por meio da API e do acesso à AWS KMS chave. Você também pode criar controle de acesso em nível de grupo de atributos.

Para obter mais informações sobre chaves gerenciadas pelo cliente, consulte Chaves gerenciadas pelo cliente. Para obter mais informações sobre AWS KMS, consulte AWS KMS.

Utilizar AWS KMS permissões para a Amazon SageMaker Feature Store

A criptografia em repouso protege o Feature Store sob uma chave gerenciada pelo AWS KMS cliente. Por padrão, ele usa uma chave gerenciada pelo cliente AWS próprio OnlineStore e uma chave AWS gerenciada pelo cliente para OfflineStore. O Feature Store é compatível com a opção de criptografar seu armazenamento on-line ou offline com a chave gerenciada pelo cliente. Você pode selecionar a chave gerenciada pelo cliente para o Feature Store ao criar seu armazenamento on-line ou offline, e elas podem ser diferentes para cada armazenamento.

O Feature Store é compatível somente com as chaves simétricas gerenciadas pelo cliente. Não é possível usar uma chave assimétrica gerenciada pelo cliente para criptografar os dados no armazenamento on-line ou offline. Para obter ajuda para determinar se uma chave gerenciada pelo cliente é simétrica ou assimétrica, consulte Identificar chaves simétricas e assimétricas gerenciadas pelo cliente.

Ao usar uma chave gerenciada pelo cliente, você pode aproveitar os seguintes atributos:

Você não paga uma taxa mensal pelas AWS chaves gerenciadas pelo cliente. As chaves gerenciadas pelo cliente serão cobradas por cada chamada de API e as AWS Key Management Service cotas serão aplicadas a cada chave gerenciada pelo cliente.

Como autorizar o uso de uma chave gerenciada pelo cliente para seu armazenamento on-line

Se você usar uma chave gerenciada pelo cliente para proteger seu armazenamento on-line, as políticas dessa chave deve conceder à Feature Store permissão para usá-la em seu nome. Você tem controle total sobre as políticas e concessões em uma chave gerenciada pelo cliente.

A Feature Store não precisa de autorização adicional para usar a chave KMS padrão de AWS propriedade para proteger suas lojas online ou offline em sua AWS conta.

Política de chaves gerenciada pelo cliente

Ao escolher uma chave gerenciada pelo cliente para proteger seu armazenamento on-line, o Feature Store obtém permissão para usá-la em nome da entidade principal que faz a escolha. Essa entidade principal, um usuário ou um perfil, deve ter as permissões em uma chave gerenciada pelo cliente exigida pelo Feature Store. É possível fornecer essas permissões em uma política de chaves, em uma política do IAM ou em uma concessão. No mínimo, o Feature Store exige as seguintes permissões em uma chave gerenciada pelo cliente:

  • “kms:encrypt”, “kms:decrypt”, “kms: “, “kms: DescribeKey “, “kms: “, “kms: CreateGrant “, “kms: RetireGrant “, “kms: “, ReEncryptFrom “kms: “, “kms: ReEncryptTo “, “kms:GenerateDataKey” ListAliases ListGrants RevokeGrant

Por exemplo, a política de chaves de exemplo a seguir fornece somente as permissões necessárias. A política tem os seguintes efeitos:

  • Permite que o Feature Store use a chave gerenciada pelo cliente em operações criptográficas e cria concessões, mas somente quando está atuando em nome de entidades principais na conta que tem permissão para usar o Feature Store. Se as entidades principais especificadas na declaração de política não tiverem permissão para usar o Feature Store, a chamada falhará, mesmo se vier do Feature Store.

  • A chave de ViaService condição kms: permite as permissões somente quando a solicitação vem FeatureStore em nome dos diretores listados na declaração de política. Essas entidades principais não podem chamar essas operações diretamente. O valor da kms:ViaService deve ser sagemaker.*.amazonaws.com.

    nota

    A chave de kms:ViaService condição só pode ser usada para a AWS KMS chave gerenciada pelo cliente da loja virtual e não pode ser usada para a loja offline. Se você adicionar essa condição especial à sua chave gerenciada pelo cliente e usar a mesma AWS KMS chave para a loja online e offline, a operação da CreateFeatureGroup API falhará.

  • Concede aos administradores da chave gerenciada pelo cliente acesso somente leitura à chave gerenciada pelo cliente e permissão para revogar concessões, incluindo as concessões que o Feature Store usa para proteger seus dados.

Antes de usar um exemplo de política de chaves, substitua os principais de exemplo pelos principais reais da sua AWS conta.

JSON
{"Id": "key-policy-feature-store", "Version":"2012-10-17", "Statement": [ {"Sid" : "Allow access through Amazon SageMaker AI Feature Store for all principals in the account that are authorized to use Amazon SageMaker AI Feature Store ", "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::111122223333:user/featurestore-user"}, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:DescribeKey", "kms:CreateGrant", "kms:RetireGrant", "kms:ReEncryptFrom", "kms:ReEncryptTo", "kms:GenerateDataKey", "kms:ListGrants" ], "Resource": "*", "Condition": {"StringLike": {"kms:ViaService" : "sagemaker.*.amazonaws.com" } } }, {"Sid" : "Allow listing aliases", "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::111122223333:user/featurestore-user"}, "Action": "kms:ListAliases", "Resource": "*" }, {"Sid": "Allow administrators to view the customer managed key and revoke grants", "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::111122223333:role/featurestore-admin" }, "Action": [ "kms:Describe*", "kms:Get*", "kms:List*", "kms:RevokeGrant" ], "Resource": "*" }, {"Sid": "Enable IAM User Permissions", "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::111122223333:root" }, "Action": "kms:*", "Resource": "*" } ] }

Usar concessões para autorizar o Feature Store

Além de políticas de chaves, o Feature Store usa concessões para definir permissões em uma chave gerenciada pelo cliente. Para visualizar as concessões em uma chave gerenciada pelo cliente na sua conta, use a operação ListGrants. O Feature Store não precisa de concessões ou permissões adicionais para usar a chave gerenciada pelo cliente de propriedade da AWS para proteger seu armazenamento on-line.

O Feature Store usa as permissões de concessão ao executar manutenção do sistema e tarefas de proteção de dados contínua em segundo plano.

Cada concessão é específica a um armazenamento on-line. Se a conta incluir vários armazenamentos criptografados sob a mesma chave gerenciada pelo cliente, haverá concessões exclusivas por FeatureGroup usando a mesma chave gerenciada pelo cliente.

A política de chaves também pode permitir que a conta revogue a concessão da chave gerenciada pelo cliente. No entanto, se você revogar a concessão em um armazenamento on-line criptografado ativo, o Feature Store não poderá proteger e manter o armazenamento.

Monitorando a interação da Feature Store com AWS KMS

Se você usa uma chave gerenciada pelo cliente para proteger sua loja online ou offline, pode usar AWS CloudTrail os registros para rastrear as solicitações que a Feature Store envia AWS KMS em seu nome.

Acessar dados em seu armazenamento on-line

O chamador (usuário ou função) DataPlane das operações deve ter as permissões de ação do IAM correspondentes no recurso do grupo de recursos de destino. Além disso, todas as DataPlane operações exigem uma kms:Decrypt chave gerenciada pelo cliente.

  • PutRecord— Requer sagemaker:PutRecord

  • UpdateRecord— Requersagemaker:PutRecord. UpdateRecordnão tem uma ação de IAM separada. Em vez disso, o IAM UpdateRecord autoriza contra a sagemaker:PutRecord ação. Qualquer política que permita ou negue sagemaker:PutRecord também se aplica a. UpdateRecord Você não precisa atualizar suas políticas existentes.

  • GetRecord— Requer sagemaker:GetRecord

  • DeleteRecord— Requer sagemaker:DeleteRecord

  • ListRecords— Requer sagemaker:ListRecords

  • BatchWriteRecord— Requer sagemaker:BatchWriteRecord e sagemaker:PutRecord

  • BatchGetRecord— Requer sagemaker:BatchGetRecord

nota

A BatchWriteRecord API exige que o chamador tenha ambas sagemaker:BatchWriteRecord as sagemaker:PutRecord permissões no grupo de recursos de destino. Uma negação explícita em qualquer uma das ações bloqueia a solicitação.

Teclas de condição para controle de UpdateRecord acesso

O IAM autoriza UpdateRecord contra a sagemaker:PutRecord ação. Com essas chaves de condição, você pode criar políticas mais granulares. As teclas permitem distinguir atualizações parciais de registros de gravações de registros completos:

  • sagemaker:IsUpdateRecord— Defina como true quando a solicitação é uma UpdateRecord chamada e false quando a solicitação é uma PutRecord chamada. Essa chave está ausente para outras DataPlane operações, incluindo a PutRecord verificação que é BatchWriteRecord executada.

  • sagemaker:UpdatableFeatures— A lista de nomes de recursos incluídos em uma UpdateRecord solicitação. O IAM omite essa chave quando a solicitação não especifica nenhum recurso; a chave nunca está presente com uma lista vazia. Isso evita que ForAllValues as condições sejam avaliadas em relação a um conjunto vazio. Essa chave não está presente nas PutRecord solicitações.

Com essas chaves de condição, você pode criar políticas como as seguintes:

  • A política JSON IAM a seguir permite somente UpdateRecord chamadas e bloqueia PutRecord chamadas diretas em um grupo de recursos. Essa política também bloqueiaBatchWriteRecord. A sagemaker:IsUpdateRecord chave não está presente durante a verificação de sagemaker:PutRecord autorização que é BatchWriteRecord executada. Se você precisar permitirBatchWriteRecord, adicione uma declaração separada sem a IsUpdateRecord condição:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "sagemaker:PutRecord", "Resource": "arn:aws:sagemaker:us-east-1:111122223333:feature-group/test-fg", "Condition": { "Bool": { "sagemaker:IsUpdateRecord": "true" } } } ] }
  • A política JSON IAM a seguir permite PutRecord chamadas e bloqueia UpdateRecord chamadas em um grupo de recursos. O operador de BoolIfExists condição garante que a declaração também corresponda à sagemaker:PutRecord verificação BatchWriteRecord executada. PoisBatchWriteRecord, o contexto de autorização não incluisagemaker:IsUpdateRecord:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "sagemaker:PutRecord", "Resource": "arn:aws:sagemaker:us-east-1:111122223333:feature-group/test-fg", "Condition": { "BoolIfExists": { "sagemaker:IsUpdateRecord": "false" } } } ] }
  • A política JSON IAM a seguir nega UpdateRecord chamadas que tentem modificar recursos confidenciais, independentemente de quais outros recursos estejam incluídos na solicitação:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "sagemaker:PutRecord", "Resource": "arn:aws:sagemaker:us-east-1:111122223333:feature-group/test-fg", "Condition": { "Bool": { "sagemaker:IsUpdateRecord": "true" }, "ForAnyValue:StringEquals": { "sagemaker:UpdatableFeatures": ["ssn", "credit_score"] } } } ] }
  • A política JSON IAM a seguir permite UpdateRecord chamadas somente quando todos os recursos solicitados estão em uma lista aprovada e segura para atualização. A Null condição sagemaker:UpdatableFeatures precisa existir, pois, caso contrário, o ForAllValues operador avalia true quando a chave está ausente:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "sagemaker:PutRecord", "Resource": "arn:aws:sagemaker:us-east-1:111122223333:feature-group/test-fg", "Condition": { "Bool": { "sagemaker:IsUpdateRecord": "true" }, "Null": { "sagemaker:UpdatableFeatures": "false" }, "ForAllValues:StringEquals": { "sagemaker:UpdatableFeatures": ["last_login", "click_count"] } } } ] }
nota

As políticas que concedem ou negam sagemaker:PutRecord sem qualquer condição sagemaker:IsUpdateRecord continuam sendo aplicadas tanto às UpdateRecord chamadas PutRecord quanto às chamadas, portanto, você não precisa alterar suas políticas, a menos que queira distinguir entre as duas operações.

Para obter mais informações sobre o uso de chaves de condição do IAM, consulte Elementos da política IAM JSON: operadores de condição no Guia do usuário do IAM.

Autorizar o uso de uma chave gerenciada pelo cliente para seu armazenamento offline

O RolEarN para o qual é passado como parâmetro createFeatureGroup deve ter as permissões abaixo para: OfflineStore KmsKeyId

"kms:GenerateDataKey"
nota

A política de chaves do armazenamento on-line também funciona para o armazenamento offline, somente quando a condição kms:ViaService não é especificada.

Importante

Você pode especificar uma chave de AWS KMS criptografia para criptografar a localização do Amazon S3 usada para sua loja de recursos offline ao criar um grupo de recursos. Se a chave de AWS KMS criptografia não for especificada, por padrão, criptografamos todos os dados em repouso usando AWS KMS a chave. Ao definir sua chave em nível de bucket para SSE, você pode reduzir os custos de AWS KMS solicitações em até 99%.