Creación de políticas de IAM personalizadas para cuadernos de Studio de Managed Service para Apache Flink - Managed Service para Apache Flink

Amazon Managed Service para Apache Flink Amazon (Amazon MSF) se denominaba anteriormente Amazon Kinesis Data Analytics para Apache Flink.

Creación de políticas de IAM personalizadas para cuadernos de Studio de Managed Service para Apache Flink

Normalmente se utilizan políticas de IAM gestionadas para permitir que su aplicación acceda a recursos dependientes. Si necesita un control más preciso sobre los permisos de la aplicación, puede utilizar una política de IAM personalizada. Esta sección contiene ejemplos de políticas de IAM personalizadas.

nota

En los siguientes ejemplos de políticas, sustituya el texto del marcador de posición por los valores de la aplicación.

AWS Glue

La siguiente política de ejemplo concede permisos para obtener acceso a la base de datos de AWS Glue.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "GlueTable", "Effect": "Allow", "Action": [ "glue:GetConnection", "glue:GetTable", "glue:GetTables", "glue:GetDatabase", "glue:CreateTable", "glue:UpdateTable" ], "Resource": [ "arn:aws:glue:us-east-1:123456789012:connection/*", "arn:aws:glue:us-east-1:123456789012:table/<database-name>/*", "arn:aws:glue:us-east-1:123456789012:database/<database-name>", "arn:aws:glue:us-east-1:123456789012:database/hive", "arn:aws:glue:us-east-1:123456789012:catalog" ] }, { "Sid": "GlueDatabase", "Effect": "Allow", "Action": "glue:GetDatabases", "Resource": "*" } ] }

Registros de CloudWatch

El siguiente ejemplo concede permisos de acceso a los CloudWatch Logs.

{ "Sid": "ListCloudwatchLogGroups", "Effect": "Allow", "Action": [ "logs:DescribeLogGroups" ], "Resource": [ "arn:aws:logs:<region>:<accountId>:log-group:*" ] }, { "Sid": "ListCloudwatchLogStreams", "Effect": "Allow", "Action": [ "logs:DescribeLogStreams" ], "Resource": [ "<logGroupArn>:log-stream:*" ] }, { "Sid": "PutCloudwatchLogs", "Effect": "Allow", "Action": [ "logs:PutLogEvents" ], "Resource": [ "<logStreamArn>" ] }
nota

Si crea la aplicación mediante la consola, la consola añade las políticas necesarias para acceder a CloudWatch Logs a su rol de aplicación.

Flujos de Kinesis

Su aplicación puede usar un flujo de Kinesis como origen o destino. Su aplicación necesita permisos de lectura para leer desde un flujo de origen y permisos de escritura para escribir en un flujo de destino.

La siguiente política concede permisos para leer desde un flujo de Kinesis utilizado como fuente:

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "KinesisShardDiscovery", "Effect": "Allow", "Action": "kinesis:ListShards", "Resource": "*" }, { "Sid": "KinesisShardConsumption", "Effect": "Allow", "Action": [ "kinesis:GetShardIterator", "kinesis:GetRecords", "kinesis:DescribeStream", "kinesis:DescribeStreamSummary", "kinesis:RegisterStreamConsumer", "kinesis:DeregisterStreamConsumer" ], "Resource": "arn:aws:kinesis:us-east-1:123456789012:stream/<stream-name>" }, { "Sid": "KinesisEfoConsumer", "Effect": "Allow", "Action": [ "kinesis:DescribeStreamConsumer", "kinesis:SubscribeToShard" ], "Resource": "arn:aws:kinesis:us-east-1:123456789012:stream/<stream-name>/consumer/*" } ] }

La siguiente política concede permisos para escribir en una transmisión de Kinesis utilizada como origen:

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "KinesisStreamSink", "Effect": "Allow", "Action": [ "kinesis:PutRecord", "kinesis:PutRecords", "kinesis:DescribeStreamSummary", "kinesis:DescribeStream" ], "Resource": "arn:aws:kinesis:us-east-1:123456789012:stream/<stream-name>" } ] }

Si su aplicación accede a un flujo de Kinesis cifrado, debe conceder permisos adicionales para acceder al flujo y a la clave de cifrado del flujo.

La siguiente política concede permisos para acceder a un flujo de origen cifrado y a la clave de cifrado del flujo:

{ "Sid": "ReadEncryptedKinesisStreamSource", "Effect": "Allow", "Action": [ "kms:Decrypt" ], "Resource": [ "<inputStreamKeyArn>" ] } ,

La siguiente política concede permisos para acceder a un flujo de destino cifrado y a la clave de cifrado del flujo:

{ "Sid": "WriteEncryptedKinesisStreamSink", "Effect": "Allow", "Action": [ "kms:GenerateDataKey" ], "Resource": [ "<outputStreamKeyArn>" ] }

Clústeres de Amazon MSK

Para conceder acceso a un clúster de Amazon MSK, debe conceder acceso a la VPC del clúster. Para ver ejemplos de políticas de acceso a una VPC de Amazon, consulte VPC Application Permissions.