Sécurité et contrôle d'accès - Amazon SageMaker

Sécurité et contrôle d'accès

Amazon SageMaker Feature Store vous permet de créer deux types de boutiques : une boutique en ligne ou une boutique hors ligne. La boutique en ligne est utilisée pour les cas d'utilisation d'inférence en temps réel à faible latence, tandis que la boutique hors ligne est utilisée pour les cas d'utilisation d'entraînement et d'inférence par lots. Lorsque vous créez un groupe de fonctions pour une utilisation en ligne ou hors ligne, vous pouvez fournir une clé gérée par le client AWS Key Management Service pour chiffrer toutes vos données au repos. Si vous ne fournissez pas de clé AWS KMS, nous veillons à ce que vos données soient chiffrées côté serveur à l'aide d'une clé AWS KMS détenue par AWS ou d'une clé AWS KMS gérée par AWS. Lors de la création d'un groupe de fonctions, vous pouvez sélectionner un type de stockage et fournir éventuellement une clé AWS KMS pour le chiffrement des données, puis appeler diverses API pour la gestion des données, telles que PutRecord, GetRecord ou DeleteRecord.

Feature Store. vous permet d'accorder ou de refuser l'accès aux personnes au niveau du groupe de fonctions, et permet l'accès inter-compte au Feature Store. Par exemple, vous pouvez configurer des comptes de développeur pour accéder à la boutique hors ligne pour l'entraînement et l'exploration des modèles qui ne disposent pas d'un accès en écriture aux comptes de production. Vous pouvez configurer des comptes de production pour accéder aux boutiques en ligne et hors ligne. Le Feature Store utilise des clés AWS KMS client uniques pour le chiffrement des données au repos des boutiques hors ligne et en ligne. Le contrôle d'accès est activé via des API et l'accès aux clés AWS KMS. Vous pouvez aussi créer un contrôle d'accès au niveau du groupe de fonctions.

Pour plus d'informations sur les clés gérées par le client, veuillez consulter Clés gérées par le client. Pour plus d'informations sur AWS KMS, consultez AWS KMS.

Utilisation d'autorisations AWS KMS pour Amazon SageMaker Feature Store

Le chiffrement au repos protège le Feature Store sous une clé gérée par le client AWS KMS. Par défaut, il utilise une clé gérée par le client détenue par AWS pour OnlineStore et la clé gérée par le client AWS pour OfflineStore. Le Feature Store prend en charge une option pour chiffrer votre boutique en ligne ou hors ligne sous des clés gérées par le client. Vous pouvez sélectionner la clé gérée par le client pour le Feature Store lorsque vous créez votre boutique en ligne ou hors ligne, et elles peuvent être différentes pour chaque boutique.

Feature Store ne prend en charge que les clés gérées par le client symétriques. Vous ne pouvez pas utiliser une clé gérée par le client asymétrique pour chiffrer vos données dans votre boutique en ligne ou hors ligne. Pour savoir si une clé gérée par le client est symétrique ou asymétrique, veuillez consulter Identification de clés gérées par le client symétriques et asymétriques.

L'utilisation d'une clé gérée par le client vous procure les avantages suivants :

Vous ne payez pas de frais mensuels pour les clés gérées par le client détenues par AWS. Les clés gérées par le client entraîneront des frais pour chaque appel d'API et des quotas AWS Key Management Service s'appliquent à chaque clé gérée par le client.

Autoriser l'utilisation d'une clé gérée par le client pour votre boutique en ligne

Si vous utilisez une clé gérée par le client pour protéger votre boutique en ligne, les politiques associées à cette clé gérée par le client doivent autoriser le Feature Store à l'utiliser en votre nom. Vous avez un contrôle total des politiques et des octrois d'autorisation portant sur une clé gérée par le client.

Feature Store n'a pas besoin d'autorisation supplémentaire pour utiliser la clé KMS détenue par AWS par défaut pour protéger vos boutiques en ligne ou hors ligne dans votre compte AWS.

Politique de clé gérée par le client

Lorsque vous sélectionnez une clé gérée par le client pour protéger votre boutique en ligne, Feature Store doit être autorisé à utiliser la clé gérée par le client au nom du mandataire qui effectue la sélection. Ce mandataire, un utilisateur ou un rôle, doit disposer des autorisations requises par Feature Store sur la clé gérée par le client. Vous pouvez fournir ces autorisations dans une stratégie de clé, une stratégie IAM ou un octroi. Au minimum, le Feature Store requiert les autorisations suivantes sur une clé gérée par le client :

  • "kms:Encrypt", "kms:Decrypt", "kms:DescribeKey", "kms:CreateGrant", "kms:RetireGrant", "kms:ReEncryptFrom", "kms:ReEncryptTo", "kms:GenerateDataKey", "kms:ListAliases", "kms:ListGrants", "kms:RevokeGrant"

Par exemple, l'exemple de stratégie de clé suivant fournit uniquement les autorisations requises. La stratégie a les effets suivants :

  • Elle permet au Feature Store d'utiliser la clé gérée par le client dans les opérations de chiffrement et de créer des octrois, mais seulement lorsqu'elle agit au nom des mandataires du compte autorisés à utiliser votre Feature Store. Si les mandataires spécifiés dans l'énoncé de politique ne sont pas autorisés à utiliser votre Feature Store, l'appel échoue, même lorsqu'il provient du service Feature Store.

  • La clé de condition kms:ViaService permet les autorisations uniquement lorsque la demande provient du Feature Store au nom des mandataires répertoriés dans l'énoncé de stratégie. Ces mandataires ne peuvent pas appeler ces opérations directement. kms:ViaService doit avoir pour valeur sagemaker.*.amazonaws.com.

    Note

    La clé de condition kms:ViaService peut être utilisée uniquement pour la clé AWS KMS gérée par le client de la boutique en ligne, mais pas pour la boutique hors ligne. Si vous ajoutez cette condition spéciale à votre clé gérée par le client et que vous utilisez la même clé AWS KMS pour les deux boutiques, en ligne et hors ligne, l'opération d'API CreateFeatureGroup échouera.

  • Elle accorde aux administrateurs de clé gérée par le client un accès en lecture seule à la clé gérée par le client, ainsi que l'autorisation de révoquer les octrois, en particulier ceux utilisés par le Feature Store pour protéger vos données.

Avant d'utiliser un exemple de stratégie de clé, remplacez les exemples de mandataires par des mandataires réels de votre compte AWS.

{"Id": "key-policy-feature-store", "Version":"2012-10-17", "Statement": [ {"Sid" : "Allow access through Amazon SageMaker Feature Store for all principals in the account that are authorized to use Amazon SageMaker 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:ListAliases", "kms:ListGrants" ], "Resource": "*", "Condition": {"StringLike": {"kms:ViaService" : "sagemaker.*.amazonaws.com" } } }, {"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::123456789:root" }, "Action": "kms:*", "Resource": "*" } ] }

Utilisation d'octrois pour autoriser Feature Store

Outre les politiques de clé, Feature Store utilise des octrois pour définir des autorisations sur la clé gérée par le client. Pour visualiser les octrois sur une clé gérée par le client dans votre compte, utilisez l'opération ListGrants. Feature Store n'a pas besoin d'octrois, ni d'autorisations supplémentaires, pour utiliser la clé gérée par le client détenue par AWS afin de protéger votre boutique en ligne.

Feature Store utilise les octrois et les autorisations lorsqu'il effectue des tâches de maintenance système en arrière-plan et de protection des données en continu.

Chaque octroi est spécifique à une boutique en ligne. Si le compte inclut plusieurs boutiques chiffrées avec la même clé gérée par le client, chaque FeatureGroup utilisant la même clé gérée par le client disposera d'octrois uniques.

La politique de clé peut également permettre au compte de révoquer l'octroi sur la clé gérée par le client. Toutefois, si vous révoquez l'octroi sur une boutique en ligne chiffrée active, Feature Store ne pourra pas protéger ni maintenir la boutique.

Surveillance de l'interaction de Feature Store avec AWS KMS

Si vous utilisez une clé gérée par le client pour protéger votre boutique en ligne ou hors ligne, vous pouvez utiliser les journaux AWS CloudTrail pour suivre les demandes envoyées par Feature Store à AWS KMS en votre nom.

Accès aux données dans votre boutique en ligne

L'appelant (utilisateur IAM ou rôle IAM) de TOUTES les opérations de plan de données (Put, Get, DeleteRecord) doit disposer des autorisations suivantes sur la clé gérée par le client :

"kms:Decrypt"

Autoriser l'utilisation d'une clé gérée par le client pour votre boutique hors ligne

Le roleArn qui est transmis en tant que paramètre à createFeatureGroup doit disposer des autorisations ci-dessous sur le OfflineStore KmsKeyId :

"kms:GenerateDataKey"
Note

La stratégie de clé pour la boutique en ligne fonctionne aussi pour la boutique hors ligne, mais uniquement lorsque la condition kms:ViaService n'est pas spécifiée.

Important

Vous pouvez spécifier une clé de chiffrement AWS KMS pour chiffrer l'emplacement Amazon S3 utilisé pour votre Feature Store hors ligne lorsque vous créez un groupe de fonctions. Si la clé de chiffrement AWS KMS n'est pas spécifiée, nous chiffrons par défaut toutes les données au repos à l'aide de la clé AWS KMS. En définissant votre clé au niveau du compartiment pour SSE, vous pouvez réduire les coûts des demandes AWS KMS jusqu'à 99 %.