

Nous ne mettons plus à jour le service Amazon Machine Learning et n'acceptons plus de nouveaux utilisateurs pour celui-ci. Cette documentation est disponible pour les utilisateurs existants, mais nous ne la mettons plus à jour. Pour plus d'informations, consultez [Qu'est-ce qu'Amazon Machine Learning](https://docs.aws.amazon.com/machine-learning/latest/dg/what-is-amazon-machine-learning.html) ?

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Référence Amazon Machine Learning
<a name="amazon-machine-learning-reference"></a>

**Topics**
+ [Octroi à Amazon ML des autorisations nécessaires pour lire vos données depuis Amazon S3](granting-amazon-ml-permissions-to-read-your-data-from-amazon-s3.md)
+ [Octroi d'autorisations à Amazon ML pour fournir en sortie des prédictions dans Amazon S3](granting-amazon-ml-permissions-to-output-predictions-to-amazon-s3.md)
+ [Contrôle de l'accès aux ressources Amazon ML à l'aide d'IAM](controlling-access-to-amazon-ml-resources-by-using-iam.md)
+ [Prévention du cas de figure de l’adjoint désorienté entre services](cross-service-confused-deputy-prevention.md)
+ [Gestion des dépendances des opérations asynchrones](dependency-management-of-asynchronous-operations.md)
+ [Vérification de l'état d'une demande](operation-request-status.md)
+ [Limites du système](system-limits.md)
+ [Noms et IDs pour tous les objets](names-and-ids-for-all-objects.md)
+ [Durées de vie des objets](object-lifetimes.md)

# Octroi à Amazon ML des autorisations nécessaires pour lire vos données depuis Amazon S3
<a name="granting-amazon-ml-permissions-to-read-your-data-from-amazon-s3"></a>

 Pour créer un objet source de données à partir de vos données d'entrée dans Amazon S3, vous devez accorder à Amazon ML les autorisations suivantes sur l'emplacement S3 où vos données d'entrée sont stockées : 
+  **GetObject**autorisation sur le compartiment et le préfixe S3. 
+  **ListBucket**autorisation sur le compartiment S3. Contrairement aux autres actions, des autorisations **ListBucket**doivent être accordées à l'échelle du compartiment (plutôt que sur le préfixe). Cependant, vous pouvez délimiter l'autorisation à un préfixe spécifique à l'aide d'une clause **Condition**. 

 Si vous utilisez la console Amazon ML pour créer la source de données, ces autorisations peuvent être ajoutées au compartiment pour vous. Vous serez invité à confirmer si vous souhaitez les ajouter au fur et à mesure que vous terminerez les étapes de l'assistant. L'exemple de politique suivant montre comment autoriser Amazon ML à lire des données depuis l'emplacement d'échantillonnage s3 ://*examplebucket*/*exampleprefix*, tout en limitant l'**ListBucket**autorisation au seul chemin d'entrée. *exampleprefix* 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "machinelearning.amazonaws.com"
            },
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::examplebucket/exampleprefix/*",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "123456789012"
                },
                "ArnLike": {
                    "aws:SourceArn": "arn:aws:machinelearning:us-east-1:123456789012:*"
                }
            }
        },
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "machinelearning.amazonaws.com"
            },
            "Action": "s3:ListBucket",
            "Resource": "arn:aws:s3:::examplebucket",
            "Condition": {
                "StringLike": {
                    "s3:prefix": "exampleprefix/*"
                },
                "StringEquals": {
                    "aws:SourceAccount": "123456789012"
                },
                "ArnLike": {
                    "aws:SourceArn": "arn:aws:machinelearning:us-east-1:123456789012:*"
                }
            }
        }
    ]
}
```

------

Pour appliquer cette stratégie à vos données, vous devez modifier la déclaration de stratégie associée au compartiment S3 où vos données sont stockées. 

**Pour modifier la stratégie d'autorisations pour un compartiment S3 (en utilisant l'ancienne console)**

1. Connectez-vous à la console Amazon S3 AWS Management Console et ouvrez-la à l'adresse [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Sélectionnez le nom du compartiment dans lequel vos données résident.

1. Choisissez **Propriétés**.

1. Choisissez **Edit bucket policy**.

1. Entrez la stratégie illustrée ci-dessus, en la personnalisant en fonction de vos besoins, puis choisissez **Save**.

1. Choisissez **Enregistrer**.



**Pour modifier la stratégie d'autorisations pour un compartiment S3 (en utilisant la nouvelle console)**

1. Connectez-vous à la console Amazon S3 AWS Management Console et ouvrez-la à l'adresse [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Choisissez le nom du compartiment, puis **Permissions**.

1. Choisissez **Stratégie de compartiment**.

1. Entrez la stratégie illustrée ci-dessus, en la personnalisant en fonction de vos besoins.

1. Choisissez **Enregistrer**.

# Octroi d'autorisations à Amazon ML pour fournir en sortie des prédictions dans Amazon S3
<a name="granting-amazon-ml-permissions-to-output-predictions-to-amazon-s3"></a>

 Pour fournir en sortie les résultats de l'opération de prédiction par lots dans Amazon S3, vous devez accorder à Amazon ML les autorisations suivantes sur l'emplacement de sortie, qui est fourni en entrée à l'opération de création de prédiction par lots : 
+  **GetObject**autorisation sur votre compartiment et votre préfixe S3. 
+  **PutObject**autorisation sur votre compartiment et votre préfixe S3. 
+  **PutObjectAcl**sur votre compartiment et votre préfixe S3. 
  +  Amazon ML a besoin de cette autorisation pour pouvoir accorder l' bucket-owner-full-controlautorisation [ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl) prédéfinie à votre compte AWS, une fois les objets créés. 
+  **ListBucket**autorisation sur le compartiment S3. Contrairement aux autres actions, des autorisations **ListBucket**doivent être accordées à l'échelle du compartiment (plutôt que sur le préfixe). Toutefois, vous pouvez délimiter l'autorisation à un préfixe spécifique à l'aide d'une clause **Condition**. 

 Si vous utilisez la console Amazon ML pour créer la demande de prédiction par lots, ces autorisations peuvent être ajoutées au compartiment pour vous. Vous serez invité à confirmer si vous voulez les ajouter à la fin de la procédure dans l'assistant. 

 L'exemple de politique suivant montre comment autoriser Amazon ML à écrire des données sur l'emplacement d'échantillon s3://examplebucket/exampleprefix, tout en limitant l'**ListBucket**autorisation au seul chemin d'entrée du préfixe d'exemple et en autorisant Amazon ML à définir l'objet put ACLs sur le préfixe de sortie : 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "machinelearning.amazonaws.com"
            },
            "Action": [
                "s3:GetObject",
                "s3:PutObject"
            ],
            "Resource": "arn:aws:s3:::examplebucket/exampleprefix/*",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "123456789012"
                },
                "ArnLike": {
                    "aws:SourceArn": "arn:aws:machinelearning:us-east-1:123456789012:*"
                }
            }
        },
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "machinelearning.amazonaws.com"
            },
            "Action": "s3:PutObjectAcl",
            "Resource": "arn:aws:s3:::examplebucket/exampleprefix/*",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "123456789012"
                },
                "ArnLike": {
                    "aws:SourceArn": "arn:aws:machinelearning:us-east-1:123456789012:*"
                }
            }
        },
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "machinelearning.amazonaws.com"
            },
            "Action": "s3:ListBucket",
            "Resource": "arn:aws:s3:::examplebucket",
            "Condition": {
                "StringLike": {
                    "s3:prefix": "exampleprefix/*"
                },
                "StringEquals": {
                    "aws:SourceAccount": "123456789012"
                },
                "ArnLike": {
                    "aws:SourceArn": "arn:aws:machinelearning:us-east-1:123456789012:*"
                }
            }
        }
    ]
}
```

------

Pour appliquer cette stratégie à vos données, vous devez modifier la déclaration de stratégie associée au compartiment S3 où vos données sont stockées. 

**Pour modifier la stratégie d'autorisations pour un compartiment S3 (en utilisant l'ancienne console)**

1. Connectez-vous à la console Amazon S3 AWS Management Console et ouvrez-la à l'adresse [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Sélectionnez le nom du compartiment dans lequel vos données résident.

1. Choisissez **Propriétés**.

1. Choisissez **Edit bucket policy**.

1. Entrez la stratégie illustrée ci-dessus, en la personnalisant en fonction de vos besoins, puis choisissez **Save**.

1. Choisissez **Enregistrer**.



**Pour modifier la stratégie d'autorisations pour un compartiment S3 (en utilisant la nouvelle console)**

1. Connectez-vous à la console Amazon S3 AWS Management Console et ouvrez-la à l'adresse [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Choisissez le nom du compartiment, puis **Permissions**.

1. Choisissez **Stratégie de compartiment**.

1. Entrez la stratégie illustrée ci-dessus, en la personnalisant en fonction de vos besoins.

1. Choisissez **Enregistrer**.

# Contrôle de l'accès aux ressources Amazon ML à l'aide d'IAM
<a name="controlling-access-to-amazon-ml-resources-by-using-iam"></a>

Gestion des identités et des accès AWS (IAM) vous permet de contrôler en toute sécurité l'accès aux services et ressources AWS pour vos utilisateurs. Avec IAM, vous pouvez créer et gérer des utilisateurs, des groupes et des rôles AWS, et utiliser des autorisations pour autoriser ou refuser leur accès aux ressources AWS. En utilisant IAM avec Amazon Machine Learning (Amazon ML), vous pouvez contrôler si les utilisateurs de votre organisation peuvent utiliser des ressources AWS spécifiques et s'ils peuvent effectuer une tâche à l'aide d'actions spécifiques de l'API Amazon ML.

 IAM vous permet de : 
+  Créer des utilisateurs et des groupes sous votre compte AWS. 
+  Attribuer des informations d'identification de sécurité uniques à chaque utilisateur de votre compte AWS 
+  Contrôler les autorisations de chaque utilisateur pour exécuter les tâches à l'aide des ressources AWS 
+  Partager aisément vos ressources AWS avec les utilisateurs de votre compte AWS. 
+  Créer des rôles pour votre compte AWS et gérer leurs autorisations pour définir les utilisateurs ou services qui peuvent les endosser. 
+ Vous pouvez créer des rôles dans IAM et gérer des autorisations pour contrôler quelles opérations peuvent être effectuées par l'entité, ou le service AWS, qui endosse le rôle. Vous pouvez également définir l'entité qui est autorisée à endosser le rôle.



 Si votre organisation possède déjà des identités IAM, vous pouvez les utiliser pour accorder des autorisations afin d'effectuer des tâches à l'aide des ressources AWS. 

Pour de plus amples informations sur IAM, consultez le [Guide de l’utilisateur IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/).

## Syntaxe de la politique IAM
<a name="policy-syntax"></a>

 Une politique IAM est un document JSON qui se compose d’une ou de plusieurs déclarations. Chaque déclaration a la structure suivante : 

```
{
    "Statement":[{
        "Effect":"effect",
        "Action":"action",
        "Resource":"arn",
        "Condition":{
            "condition operator":{
                "key":"value"
            }
        }
    }]
}
```

 Une déclaration de stratégie inclut les éléments suivants : 
+  **Effect :** contrôle l'autorisation requise pour utiliser les ressources et les actions d'API que vous allez spécifier plus tard dans la déclaration. Les valeurs valides sont `Allow` et `Deny`. Comme, par défaut, les utilisateurs IAM n'ont pas la permission d'utiliser les ressources et les actions d'API, toutes les demandes sont refusées. Une valeur `Allow` explicite remplace la valeur par défaut. Une valeur `Deny` explicite remplace toute valeur `Allows`. 
+  **Action** : désigne la ou les actions d'API spécifiques pour lesquelles vous accordez ou refusez l'autorisation. 
+  **Resource** : la ressource affectée par l’action. Pour spécifier une ressource dans la déclaration, vous utilisez son nom Amazon Resource Name (ARN). 
+  **Condition (facultatif)** : contrôle à quel moment la stratégie sera effective. 

 Pour simplifier la création et la gestion des politiques IAM, vous pouvez utiliser le générateur de politiques AWS et le simulateur de politiques IAM. 

## Spécification des actions de politique IAM pour Amazon ML MLAmazon
<a name="actions-for-amazon-ml"></a>

 Dans une déclaration de politique IAM, vous pouvez spécifier une action d'API pour tout service prenant en charge l'IAM. Lorsque vous créez une déclaration de politique pour les actions d'API Amazon ML, ajoutez-la `machinelearning:` au début du nom de l'action d'API, comme indiqué dans les exemples suivants : 
+ `machinelearning:CreateDataSourceFromS3`
+ `machinelearning:DescribeDataSources`
+ `machinelearning:DeleteDataSource`
+ `machinelearning:GetDataSource`

 Pour spécifier plusieurs actions dans une seule déclaration, séparez-les par des virgules : 

```
"Action": ["machinelearning:action1", "machinelearning:action2"]
```

Vous pouvez aussi spécifier plusieurs actions à l’aide de caractères génériques. Par exemple, vous pouvez spécifier toutes les actions dont le nom commence par le mot « Get » :

```
"Action": "machinelearning:Get*"
```

Pour spécifier toutes les actions Amazon ML, utilisez le caractère générique\$1 :

```
"Action": "machinelearning:*"
```

 Pour obtenir la liste complète des actions de l'API Amazon ML, consultez le [manuel Amazon Machine Learning API Reference](https://docs.aws.amazon.com/machine-learning/latest/APIReference/). 

## Spécification ARNs des ressources Amazon ML dans les politiques IAM
<a name="amazon-resource-names-arns-for-amazon-ml"></a>

 Les déclarations de politique IAM s'appliquent à une ou plusieurs ressources. Vous spécifiez les ressources pour vos politiques en fonction de leur valeur ARNs. 

 Pour spécifier les ressources ARNs destinées à Amazon ML, utilisez le format suivant : 

 "Ressource": `arn:aws:machinelearning:region:account:resource-type/identifier `

 Les exemples suivants montrent comment spécifier common ARNs.

 ID de source de données : `my-s3-datasource-id `

```
"Resource":
arn:aws:machinelearning:<region>:<your-account-id>:datasource/my-s3-datasource-id
```

 ID du modèle d'apprentissage-machine : `my-ml-model-id `

```
"Resource":
arn:aws:machinelearning:<region>:<your-account-id>:mlmodel/my-ml-model-id
```

 ID de prédiction par lots : `my-batchprediction-id `

```
"Resource":
arn:aws:machinelearning:<region>:<your-account-id>:batchprediction/my-batchprediction-id
```

 ID d'évaluation : `my-evaluation-id `

```
"Resource": arn:aws:machinelearning:<region>:<your-account-id>:evaluation/my-evaluation-id
```

## Exemples de politiques pour Amazon MLs
<a name="example-policies-for-amazon-ml"></a>

 **Exemple 1 : autoriser des utilisateurs à lire les métadonnées des ressources d'apprentissage-machine** 

La politique suivante permet à un utilisateur ou à un groupe de lire les métadonnées des sources de données, des modèles de machine learning, des prédictions par lots et des évaluations en effectuant [DescribeDataSources](https://docs.aws.amazon.com/machine-learning/latest/APIReference/API_DescribeDataSources.html)des [GetEvaluation](https://docs.aws.amazon.com/machine-learning/latest/APIReference/API_GetEvaluation.html)actions MLModels [DescribeBatchPredictions[DescribeEvaluations[GetDataSource](https://docs.aws.amazon.com/machine-learning/latest/APIReference/API_GetDataSource.html)](https://docs.aws.amazon.com/machine-learning/latest/APIReference/API_DescribeEvaluations.html)](https://docs.aws.amazon.com/machine-learning/latest/APIReference/API_DescribeBatchPredictions.html)MLModel, [https://docs.aws.amazon.com/machine-learning/latest/APIReference/API_DescribeMLModels.html](https://docs.aws.amazon.com/machine-learning/latest/APIReference/API_DescribeMLModels.html),,,, Get sur les ressources spécifiées. Les autorisations des opérations Describe\$1 ne peuvent pas être restreintes à une ressource en particulier.

------
#### [ JSON ]

****  

```
{ "Version":"2012-10-17",		 	 	  "Statement": [ { "Effect": "Allow", "Action": [
    "machinelearning:Get*" ], "Resource": [
        "arn:aws:machinelearning:us-east-1:123456789012:datasource/S3-DS-ID1",
        "arn:aws:machinelearning:us-east-1:123456789012:datasource/REDSHIFT-DS-ID1",
        "arn:aws:machinelearning:us-east-1:123456789012:mlmodel/ML-MODEL-ID1",
        "arn:aws:machinelearning:us-east-1:123456789012:batchprediction/BP-ID1",
        "arn:aws:machinelearning:us-east-1:123456789012:evaluation/EV-ID1"
    ] }, { "Effect": "Allow", "Action": [ "machinelearning:Describe*" ], "Resource": [ "*" ] } ]
    }
```

------

 **Exemple 2 : autoriser des utilisateurs à créer des ressources d'apprentissage-machine** 

 La stratégie suivante autorise un utilisateur ou un groupe à créer des sources de données d'apprentissage-machine, des modèles d'apprentissage-machine, des prédictions par lots et des évaluations en effectuant les actions `CreateDataSourceFromS3`, `CreateDataSourceFromRedshift`, `CreateDataSourceFromRDS`, `CreateMLModel`, `CreateBatchPrediction` et `CreateEvaluation`. Vous ne pouvez pas limiter les autorisations pour ces actions à une ressource spécifique. 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "machinelearning:CreateDataSourceFrom*",
                "machinelearning:CreateMLModel",
                "machinelearning:CreateBatchPrediction",
                "machinelearning:CreateEvaluation"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}
```

------

 **Exemple 3 : autoriser des utilisateurs à créer et supprimer des points de terminaison en temps réel, et à réaliser des prédictions en temps réel sur un modèle d'apprentissage-machine** 

 La stratégie suivante autorise des utilisateurs ou des groupes à créer et supprimer des points de terminaison en temps réel, et à réaliser des prédictions en temps réel pour un modèle d'apprentissage-machine spécifique, en effectuant les actions `CreateRealtimeEndpoint`, `DeleteRealtimeEndpoint` et `Predict` sur ce modèle. 

------
#### [ JSON ]

****  

```
{ "Version":"2012-10-17",		 	 	  "Statement": [ { "Effect": "Allow", "Action": [
    "machinelearning:CreateRealtimeEndpoint", "machinelearning:DeleteRealtimeEndpoint",
    "machinelearning:Predict" ], "Resource": [
        "arn:aws:machinelearning:us-east-1:123456789012:mlmodel/ML-MODEL"
    ] } ] }
```

------

 **Exemple 4 : autoriser des utilisateurs à mettre à jour et supprimer des ressources spécifiques** 

 La stratégie suivante autorise un utilisateur ou un groupe à mettre à jour et supprimer des ressources spécifiques dans votre compte AWS en leur donnant l'autorisation d'effectuer les actions `UpdateDataSource`, `UpdateMLModel`, `UpdateBatchPrediction`, `UpdateEvaluation`, `DeleteDataSource`, `DeleteMLModel`, `DeleteBatchPrediction` et `DeleteEvaluation` sur ces ressources dans votre compte. 

------
#### [ JSON ]

****  

```
{ "Version":"2012-10-17",		 	 	  "Statement": [ { "Effect": "Allow", "Action": [
    "machinelearning:Update*", "machinelearning:DeleteDataSource", "machinelearning:DeleteMLModel",
    "machinelearning:DeleteBatchPrediction", "machinelearning:DeleteEvaluation" ], "Resource": [
        "arn:aws:machinelearning:us-east-1:123456789012:datasource/S3-DS-ID1",
        "arn:aws:machinelearning:us-east-1:123456789012:datasource/REDSHIFT-DS-ID1",
        "arn:aws:machinelearning:us-east-1:123456789012:mlmodel/ML-MODEL-ID1",
        "arn:aws:machinelearning:us-east-1:123456789012:batchprediction/BP-ID1",
        "arn:aws:machinelearning:us-east-1:123456789012:evaluation/EV-ID1"
    ] } ] }
```

------

 **Exemple 5 : Autoriser n'importe quel Amazon MLaction** 

 La politique suivante permet à un utilisateur ou à un groupe d'utiliser n'importe quelle action Amazon ML. Etant donné que cette stratégie accorde un accès complet à l'ensemble de vos ressources d'apprentissage-machine, limitez-la aux seuls administrateurs. 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "machinelearning:*"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}
```

------

# Prévention du cas de figure de l’adjoint désorienté entre services
<a name="cross-service-confused-deputy-prevention"></a>

Le problème de député confus est un problème de sécurité dans lequel une entité qui n’est pas autorisée à effectuer une action peut contraindre une entité plus privilégiée à le faire. En AWS, l'usurpation d'identité interservices peut entraîner un problème de confusion chez les adjoints. L’usurpation d’identité entre services peut se produire lorsqu’un service (le *service appelant*) appelle un autre service (le *service appelé*). Le service appelant peut être manipulé et ses autorisations utilisées pour agir sur les ressources d’un autre client auxquelles on ne serait pas autorisé à accéder autrement. Pour éviter cela, AWS fournit des outils qui vous aident à protéger vos données pour tous les services avec des principaux de service qui ont eu accès aux ressources de votre compte. 

Nous recommandons d'utiliser les clés contextuelles de condition [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount)globale [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn)et les clés contextuelles dans les politiques de ressources afin de limiter les autorisations qu'Amazon Machine Learning accorde à un autre service à la ressource. Si la valeur `aws:SourceArn` ne contient pas l'ID du compte, tel qu'un ARN de compartiment Amazon S3, vous devez utiliser les deux clés de contexte de condition globale pour limiter les autorisations. Si vous utilisez les deux clés de contexte de condition globale et que la valeur `aws:SourceArn` contient l'ID de compte, la valeur `aws:SourceAccount` et le compte dans la valeur `aws:SourceArn` doivent utiliser le même ID de compte lorsqu'ils sont utilisés dans la même instruction de politique. Utilisez `aws:SourceArn` si vous souhaitez qu'une seule ressource soit associée à l'accès entre services. Utilisez `aws:SourceAccount` si vous souhaitez autoriser l’association d’une ressource de ce compte à l’utilisation interservices.

Le moyen le plus efficace de se protéger contre le problème de député confus consiste à utiliser la clé de contexte de condition globale `aws:SourceArn` avec l’ARN complet de la ressource. Si vous ne connaissez pas l’ARN complet de la ressource ou si vous spécifiez plusieurs ressources, utilisez la clé de contexte de condition globale `aws:SourceArn` avec des caractères génériques (`*`) pour les parties inconnues de l’ARN. Par exemple, `arn:aws:servicename:*:123456789012:*`. 

L'exemple suivant montre comment vous pouvez utiliser les clés de contexte de condition `aws:SourceAccount` globale `aws:SourceArn` et les clés de contexte dans Amazon ML pour éviter le problème de confusion lié aux adjoints lors de la lecture des données d'un compartiment Amazon S3.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "machinelearning.amazonaws.com"
            },
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::examplebucket/exampleprefix/*",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "123456789012"
                },
                "ArnLike": {
                    "aws:SourceArn": "arn:aws:machinelearning:us-east-1:123456789012:*"
                }
            }
        },
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "machinelearning.amazonaws.com"
            },
            "Action": "s3:ListBucket",
            "Resource": "arn:aws:s3:::examplebucket",
            "Condition": {
                "StringLike": {
                    "s3:prefix": "exampleprefix/*"
                },
                "StringEquals": {
                    "aws:SourceAccount": "123456789012"
                },
                "ArnLike": {
                    "aws:SourceArn": "arn:aws:machinelearning:us-east-1:123456789012:*"
                }
            }
        }
    ]
}
```

------

# Gestion des dépendances des opérations asynchrones
<a name="dependency-management-of-asynchronous-operations"></a>

 Le succès des opérations par lots dans Amazon ML dépend d'autres opérations. Pour gérer ces dépendances, Amazon ML identifie les demandes dotées de dépendances et vérifie que ces opérations ont été réalisées. Si les opérations n'ont pas été réalisées, Amazon ML met de côté les demandes initiales jusqu'à ce que les opérations dont elles dépendent soient terminées. 

 Il existe des dépendances entre les opérations par lots. Par exemple, pour pouvoir créer un modèle d'apprentissage-machine, vous devez avoir créé une source de données avec laquelle vous pouvez former le modèle d'apprentissage-machine. Amazon ML ne peut pas former un modèle d'apprentissage-machine si aucune source de données n'est disponible. 

 Toutefois, Amazon ML prend en charge la gestion des dépendances pour les opérations asynchrones. Par exemple, vous n'avez pas à attendre le calcul de statistiques de données pour envoyer une demande de formation d'un modèle d'apprentissage-machine sur la source de données. Au lieu de cela, dès que la source de données a été créée, vous pouvez envoyer une demande de formation d'un modèle d'apprentissage-machine à l'aide de la source de données. En fait, Amazon ML ne commence pas véritablement l'opération de formation tant que les statistiques de la source de données n'ont pas été calculées. La MLModel demande de création est placée dans une file d'attente jusqu'à ce que les statistiques soient calculées ; une fois cela fait, Amazon ML tente immédiatement d'exécuter l'MLModel opération de création. De même, vous pouvez envoyer des demandes d'évaluation et de prédiction par lots pour les modèles d'apprentissage-machine qui n'ont pas terminé la formation. 

 Le tableau suivant indique les conditions requises pour effectuer différentes actions Amazon ML : 


|  **Afin de …**  |  **Vous devez avoir …**  | 
| --- | --- | 
|  Création d'un modèle ML (créerMLModel)  |  Une source de données avec des statistiques de données calculées  | 
|  Création d'une prédiction par lots (createBatchPrediction)  |   Une source de données   Modèle ML   | 
|  Création d'une évaluation par lots (createBatchEvaluation)  |   Une source de données   Modèle ML   | 

# Vérification de l'état d'une demande
<a name="operation-request-status"></a>

Lorsque vous soumettez une demande, vous pouvez vérifier son statut à l'aide de l'API Amazon Machine Learning (Amazon ML). Par exemple, si vous soumettez une `createMLModel` demande, vous pouvez vérifier son statut en utilisant l'`describeMLModel`appel. Amazon ML répond avec l'un des statuts suivants. 


|  **Statut**  |  **Définition**  | 
| --- | --- | 
|  PENDING  |   La demande est en cours de validation par Amazon ML.   OU   Amazon ML attend que des ressources de calcul deviennent disponibles avant d'exécuter la requête. Cela peut se produire lorsque votre compte a dépassé le nombre maximal de demandes d'opérations par lots pouvant s'exécuter simultanément. Si tel est le cas, le statut passe au **InProgress**moment où les autres demandes en cours sont terminées ou annulées.   OU   Amazon ML attend la fin d'une opération par lots dont dépend votre demande.   | 
|  EN COURS  |  Votre demande est toujours en cours d'exécution.  | 
|  TERMINÉ  |  La demande s'est terminée et l'objet est prêt à être utilisé (modèles d'apprentissage-machine et sources de données) ou affiché (prédictions par lots et évaluations).  | 
|  ÉCHEC  |  Il y a un problème avec les données que vous avez fournies ou vous avez annulé l'opération. Par exemple, si vous essayez de calculer des données statistiques sur une source de données qui a échoué avant de se terminer, vous pouvez recevoir un message d'état Non valide ou Erreur. Le message d'erreur explique pourquoi l'opération n'a pas abouti.  | 
|  SUPPRIMÉ  |  L'objet a déjà été supprimé.  | 

Amazon ML fournit également des informations sur un objet, par exemple la date à laquelle Amazon ML a fini de créer cet objet. Pour de plus amples informations, veuillez consulter [Liste des objets](listing-objects.md).

# Limites du système
<a name="system-limits"></a>

 Afin de fournir un service fiable et robuste, Amazon ML impose certaines limites sur les demandes que vous envoyez au système. La plupart des problèmes d'apprentissage-machine s'inscrivent dans ces contraintes. Toutefois, si vous trouvez que votre utilisation d'Amazon ML est restreinte par ces limites, vous pouvez contacter le [service client AWS](https://aws.amazon.com/contact-us/) et demander à augmenter ces limites. Par exemple, vous pouvez être limité à cinq tâches exécutables simultanément. Si vous constatez que vous avez souvent des tâches en file d'attente, en attente de ressources en raison de cette limite, il est probablement judicieux d'augmenter cette limite pour votre compte. 

 Le tableau ci-dessous indique les limites par défaut par compte dans Amazon ML. Toutes ces limites ne peuvent pas être augmentées par le service client AWS. 


| **Type de limite** | **Limite du système** | 
| --- | --- | 
| Taille de chaque observation | 100 Ko | 
| Taille des données de formation \$1 | 100 Go | 
| Taille des données d'entrée de prédiction par lots | 1 To | 
| Taille des données d'entrée de prédiction par lots (nombre d'enregistrements) | 100 millions | 
| Nombre de variables dans un fichier de données (schéma) | 1 000 | 
| Complexité de la recette (nombre de variables de sortie traitées) | 10 000 | 
| TPS pour chaque point de terminaison de prédiction en temps réel | 200 | 
| TPS totale pour tous les points de terminaison de prévision en temps réel | 10 000 | 
| RAM totale pour tous les points de terminaison de prévision en temps réel | 10 Go | 
| Nombre de tâches simultanées | 25 | 
| Durée d'exécution maximale de toute tâche | 7 jours | 
| Nombre de classes pour les modèles ML multiclasses | 100 | 
| Taille du modèle ML | Minimum de 1 Mo, maximum de 2 Go | 
| Nombre de balises par objet | 50 | 
+  La taille de vos fichiers de données est limitée afin de garantir que les tâches se terminent dans un délai raisonnable. Les tâches qui s'exécutent depuis plus de sept jours sont automatiquement arrêtées, entraînant l'état ECHEC. 

# Noms et IDs pour tous les objets
<a name="names-and-ids-for-all-objects"></a>

 Chaque objet dans Amazon ML doit avoir un identifiant, ou ID. La console Amazon ML génère des valeurs d'ID pour vous, mais si vous utilisez l'API, vous devez générer vos propres ID. Chaque ID doit être unique parmi tous les objets Amazon ML du même type dans votre compte AWS. En d'autres termes, vous ne pouvez pas avoir deux évaluations portant le même ID. Il est possible d'avoir une évaluation et une source de données avec le même ID, bien que cela ne soit pas recommandé. 

 Nous vous recommandons d'utiliser des identifiants générés de façon aléatoire pour vos objets, préfixés avec une courte chaîne pour identifier leur type. Par exemple, lorsque la console Amazon ML génère une source de données, elle lui attribue un identifiant unique et aléatoire tel que « WIu WiOx DS-Zsc F ». Cet ID est suffisamment aléatoire pour éviter tout conflit avec un utilisateur individuel, et il est également compact et lisible. Le préfixe « ds- » est utilisé pour des raisons de commodité et de clarté, mais il n'est pas obligatoire. Si vous n'êtes pas certain de ce qu'il convient d'utiliser pour vos chaînes d'ID, nous vous recommandons d'utiliser des valeurs UUID hexadécimales (comme 28b1e915-57e5-4e6c-a7bd-6fb4e729cb23), qui sont disponibles instantanément dans tout environnement de programmation moderne. 

 Les chaînes d'ID peuvent contenir des lettres ASCII, des chiffres, des tirets et des traits de soulignement, et peuvent comporter jusqu'à 64 caractères. Il est possible et peut-être pratique d'encoder des métadonnées dans une chaîne d'ID. Mais cela n'est pas recommandé, car une fois qu'un objet a été créé, son ID ne peut pas être modifié. 

 Les noms des objets vous permettent d'associer facilement des métadonnées conviviales à chaque objet. Vous pouvez mettre à jour les noms une fois qu'un objet a été créé. Vous pouvez ainsi faire en sorte que le nom de l'objet reflète un aspect particulier de votre flux de travail d'apprentissage-machine. Par exemple, vous pouvez nommer initialement un modèle d'apprentissage-machine « essai 3 », puis ultérieurement renommer le modèle « modèle de production final ». Un nom peut correspondre à n'importe quelle chaîne de votre choix, avec 1 024 caractères au maximum. 

# Durées de vie des objets
<a name="object-lifetimes"></a>

 Tout objet source de données, modèle d'apprentissage-machine, évaluation ou prédiction par lots que vous créez avec Amazon ML sera disponible pour que vous l'utilisiez pendant au moins deux ans après sa création. Amazon ML peut automatiquement supprimer des objets qui n'ont pas été consultés ni utilisés pendant plus de deux ans. 