Utilisation de politiques basées sur l'identité (IAMpolitiques) pour - Guide du développeur d'Amazon Kinesis Data Analytics SQL pour applications

Pour les nouveaux projets, nous vous recommandons d'utiliser le nouveau service géré pour Apache Flink Studio plutôt que Kinesis Data Analytics SQL for Applications. Le service géré pour Apache Flink Studio allie facilité d’utilisation et capacités analytiques avancées, ce qui vous permet de créer des applications sophistiquées de traitement des flux en quelques minutes.

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.

Utilisation de politiques basées sur l'identité (IAMpolitiques) pour

Voici des exemples de politiques basées sur l'identité qui montrent comment un administrateur de compte peut associer des politiques d'autorisation aux IAM identités (c'est-à-dire aux utilisateurs, aux groupes et aux rôles) et accorder des autorisations pour effectuer des opérations sur les ressources.

Important

Nous vous recommandons tout d'abord d'examiner les rubriques de présentation qui détaillent les concepts de base et les options disponibles pour gérer l'accès à vos ressources . Pour de plus amples informations, veuillez consulter Présentation de la gestion des autorisations d'accès à vos ressources .

Un exemple de politique d’autorisation est exposé ci-dessous.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Stmt1473028104000", "Effect": "Allow", "Action": [ "kinesisanalytics:CreateApplication" ], "Resource": [ "*" ] } ] }

La stratégie comporte une instruction :

  • La première instruction accorde des autorisations pour une action (kinesisanalytics:CreateApplication) sur une ressource en utilisant le nom de ressource Amazon (ARN) de l'application. ARNDans ce cas, un caractère générique (*) est spécifié pour indiquer que l'autorisation est accordée pour n'importe quelle ressource.

Pour un tableau présentant toutes les API opérations et les ressources auxquelles elles s'appliquent, voir APIAutorisations : référence sur les actions, les autorisations et les ressources.

Autorisations requises pour utiliser la console

Pour qu'un utilisateur puisse utiliser la console , vous devez lui accorder les autorisations nécessaires. Par exemple, si vous voulez autoriser l'utilisateur à créer une application, vous devez lui accorder des autorisations qui lui montrent les sources de streaming dans le compte pour qu'il puisse configurer l'entrée et la sortie au niveau de la console.

Nous vous recommandons la procédure suivante :

Stratégies (prédéfinies) gérées par Amazon pour

AWS répond à de nombreux cas d'utilisation courants en fournissant des IAM politiques autonomes créées et administrées par AWS. Ces politiques gérées par Amazon accordent les autorisations nécessaires pour les cas d'utilisation courants afin que vous n'ayez pas à rechercher les autorisations nécessaires. Pour plus d'informations, consultez la section Politiques gérées par Amazon dans le guide de l'IAMutilisateur.

Les stratégies gérées par Amazon suivantes, que vous pouvez attacher aux utilisateurs de votre compte, sont propres à :

  • AmazonKinesisAnalyticsReadOnly : accorde des autorisations pour des actions qui permettent à un utilisateur de répertorier les applications et de vérifier la configuration d’entrée/sortie. Il accorde également des autorisations qui permettent à un utilisateur de consulter la liste des flux Kinesis et des flux de diffusion Firehose. Comme l'application est en cours d'exécution, l'utilisateur peut afficher les données source et les résultats des analyses en temps réel sur la console.

     

  • AmazonKinesisAnalyticsFullAccess : accorde les autorisations pour toutes les actions et toutes les autres autorisations qui permettent à l’utilisateur de créer et gérer des applications. Toutefois, notez les points suivants :

     

    • Ces autorisations ne sont pas suffisantes si l'utilisateur souhaite créer un nouveau IAM rôle dans la console (elles permettent à l'utilisateur de sélectionner un rôle existant). Si vous souhaitez que l'utilisateur puisse créer un IAM rôle dans la console, ajoutez la politique IAMFullAccess gérée par Amazon.

       

    • Un utilisateur doit être autorisé à utiliser l'iam:PassRoleaction pour spécifier un IAM rôle lors de la configuration de l'application. Cette politique gérée par Amazon n'autorise l'iam:PassRoleaction à l'utilisateur que pour les IAM rôles commençant par le préfixe. service-role/kinesis-analytics

      Si l’utilisateur souhaite configurer l’application avec un rôle qui n’a pas ce préfixe, vous devez d’abord accorder explicitement l’autorisation utilisateur pour l’action iam:PassRole sur le rôle spécifique.

Vous pouvez également créer vos propres IAM politiques personnalisées pour autoriser les actions et les ressources. Vous pouvez attacher ces stratégies personnalisées aux utilisateurs ou groupes qui nécessitent ces autorisations.

Exemples de politiques gérées par le client

Cette section fournit un ensemble d'exemples de stratégies que vous pouvez associer à un utilisateur. Si vous créez des stratégies pour la première fois, nous vous recommandons de commencer par créer un utilisateur dans votre compte, puis de lui associer les stratégies dans l'ordre décrit dans les étapes de cette section. Vous pouvez alors utiliser la console pour vérifier les effets de chaque stratégie lorsque vous l'attachez à l'utilisateur.

Au départ, l'utilisateur ne dispose pas des autorisations requises et ne peut donc exécuter aucune action dans la console. À mesure que vous lui associez des stratégies, vous pouvez vérifier que l'utilisateur peut exécuter diverses actions dans la console. 

Nous vous recommandons d'utiliser deux fenêtres de navigateur. Dans une fenêtre, créez l'utilisateur et accordez des autorisations. Dans l'autre, connectez-vous au AWS Management Console en utilisant les informations d'identification de l'utilisateur et en vérifiant les autorisations que vous leur accordez.

Pour des exemples montrant comment créer un IAM rôle que vous pouvez utiliser comme rôle d'exécution pour votre application, consultez la section Création de IAM rôles dans le guide de IAM l'utilisateur.

Étape 1 : créer un IAM utilisateur

Vous devez d'abord créer un utilisateur, l'ajouter à un IAM groupe doté d'autorisations administratives, puis accorder des autorisations administratives à l'utilisateur que vous avez créé. Vous pouvez ensuite accéder AWS en utilisant un identifiant spécial URL et les informations d'identification de cet utilisateur.

Pour obtenir des instructions, reportez-vous à la section Création de votre premier groupe IAM d'utilisateurs et d'administrateurs dans le guide de IAM l'utilisateur.

Étape 2 : Octroyer des autorisations à l’utilisateur pour des actions qui sont pas spécifiques à

Tout d'abord, nous devons accorder une autorisation à l'utilisateur pour toutes les actions qui ne sont pas spécifiques à et dont l'utilisateur aura besoin lorsqu'il utilise des applications . Il s'agit notamment des autorisations pour travailler avec les flux (actions Amazon Kinesis Data Streams, actions Amazon Data Firehose) et des autorisations pour les actions. CloudWatch Attachez la stratégie suivante à l'utilisateur.

Vous devez mettre à jour la politique en fournissant un nom de IAM rôle pour lequel vous souhaitez accorder l'iam:PassRoleautorisation, ou en spécifiant un caractère générique (*) indiquant tous les IAM rôles. Il ne s'agit pas d'une pratique sécurisée ; toutefois, il se peut qu'aucun IAM rôle spécifique ne soit créé au cours de ce test.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kinesis:CreateStream", "kinesis:DeleteStream", "kinesis:DescribeStream", "kinesis:ListStreams", "kinesis:PutRecord", "kinesis:PutRecords" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "firehose:DescribeDeliveryStream", "firehose:ListDeliveryStreams" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "cloudwatch:GetMetricStatistics", "cloudwatch:ListMetrics" ], "Resource": "*" }, { "Effect": "Allow", "Action": "logs:GetLogEvents", "Resource": "*" }, { "Effect": "Allow", "Action": [ "iam:ListPolicyVersions", "iam:ListRoles" ], "Resource": "*" }, { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::*:role/service-role/role-name" } ] }

Étape 3 : Permettre à l'utilisateur d'afficher une liste d'applications et de voir des détails

La stratégie suivante accorde à un utilisateur les autorisations suivantes :

  • L'autorisation pour l'action kinesisanalytics:ListApplications permettant à l'utilisateur d'afficher la liste des applications. Il s'agit d'un API appel de niveau de service, et vous spécifiez donc « * » comme valeur. Resource

  • L'autorisation pour l'action kinesisanalytics:DescribeApplication pour pouvoir obtenir des informations sur les applications.

Ajoutez cette stratégie à l'utilisateur.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kinesisanalytics:ListApplications" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "kinesisanalytics:DescribeApplication" ], "Resource": "arn:aws:kinesisanalytics:aws-region:aws-account-id:application/*" } ] }

Vérifiez ces autorisations en vous connectant à la console à l’aide des informations d’identification de l’utilisateur.

Étape 4 : Permettre à l'utilisateur de démarrer une application spécifique

Si vous voulez que l'utilisateur puisse démarrer l'une des applications existantes, vous pouvez lui attacher la stratégie suivante. Elle fournit l'autorisation pour l'action kinesisanalytics:StartApplication. Vous devez mettre à jour la politique en fournissant votre identifiant de compte, AWS Région et nom de l'application.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kinesisanalytics:StartApplication" ], "Resource": "arn:aws:kinesisanalytics:aws-region:aws-account-id:application/application-name" } ] }

Étape 5 : Permettre à l'utilisateur de créer une application

Si vous voulez que l'utilisateur puisse créer une application , vous pouvez ensuite lui attacher la stratégie suivante. Vous devez mettre à jour la politique et fournir un AWS Région, votre identifiant de compte et soit un nom d'application spécifique que vous souhaitez que l'utilisateur crée, soit un « * » permettant à l'utilisateur de spécifier n'importe quel nom d'application (et donc de créer plusieurs applications).

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Stmt1473028104000", "Effect": "Allow", "Action": [ "kinesisanalytics:CreateApplication" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "kinesisanalytics:StartApplication", "kinesisanalytics:UpdateApplication", "kinesisanalytics:AddApplicationInput", "kinesisanalytics:AddApplicationOutput" ], "Resource": "arn:aws:kinesisanalytics:aws-region:aws-account-id:application/application-name" } ] }

Étape 6 : Autoriser l’application à utiliser le prétraitement Lambda

Si vous voulez que l’application puisse utiliser le prétraitement Lambda, attachez la stratégie suivante au rôle.

{ "Sid": "UseLambdaFunction", "Effect": "Allow", "Action": [ "lambda:InvokeFunction", "lambda:GetFunctionConfiguration" ], "Resource": "<FunctionARN>" }