Amazon Managed Service for Apache Flink (Amazon MSF) se denominaba anteriormente Amazon Kinesis Data Analytics for Apache Flink.
Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Cómo funciona Amazon Managed Service para Apache Flink con IAM
En Amazon MSF, se utiliza IAM en los siguientes contextos diferentes:
-
Permisos de la aplicación: controle el acceso de la aplicación a recursos externos, como Amazon S3, Amazon Kinesis Data Streams o Amazon DynamoDB, que utilizan la autenticación de IAM.
-
Permisos de administración de aplicaciones y control del ciclo de vida: controle el uso de las acciones de la API de Amazon MSF CreateApplication, como, y StartApplicationUpdateApplication, que controlan el ciclo de vida de la aplicación. Para obtener una lista completa de todas las acciones de la API de Amazon MSF que puede especificar en el
Action
elemento de una declaración de política de IAM, consulte Acciones definidas por Amazon Kinesis Analytics V2 en la Referencia de autorización de servicios.
Temas
Permisos de administración de aplicaciones y control del ciclo de vida
Políticas basadas en identidad para los servicios gestionados de Amazon Flink
Políticas basadas en recursos dentro de Managed Service para Apache Flink
Listas de control de acceso (ACLs) en Managed Service for Apache Flink
Roles vinculados a servicios para Managed Service para Apache Flink
Permisos de aplicaciones
Usted controla los permisos de IAM de una aplicación de Amazon MSF con la función de IAM asignada a la aplicación, como parte de la configuración de la aplicación. Esta función de IAM determina los permisos de la aplicación para acceder a otros servicios, como Amazon S3, Kinesis Data Streams o DynamoDB, que utilizan IAM como autorización.
aviso
Cambiar los permisos de un rol de servicio podría interrumpir la funcionalidad de Amazon MSF. Asegúrese de no eliminar los permisos de la aplicación para descargar el código de la aplicación del bucket de Amazon S3 y enviar registros a Amazon CloudWatch.
No se admite la asignación de permisos a la aplicación mediante políticas basadas en recursos. No puede especificar una aplicación de Amazon MSF como principal en una política adjunta al recurso al que se va a acceder.
Temas
Permisos para acceder al código de la aplicación y a los registros de la aplicación
Amazon MSF también utiliza la función de IAM de la aplicación para acceder al código de la aplicación cargado en un bucket de Amazon S3 y para escribir los registros de la aplicación en Amazon CloudWatch Logs.
Al crear o actualizar la aplicación mediante la AWS Management Consolefunción Crear o actualizar IAM con las políticas requeridas <role-name>en la configuración de la aplicación, Amazon MSF crea y modifica automáticamente la función de IAM y asigna los permisos necesarios a Amazon S3 y Logs. CloudWatch
Si crea la función de IAM manualmente o si crea y administra la aplicación mediante herramientas de automatización, debe añadir los siguientes permisos a la función de IAM de la aplicación.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "ReadCode", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectVersion" ], "Resource": [ "arn:aws:s3:::
bucket-name
/path-to-application-code
" ] }, { "Sid": "ListCloudwatchLogGroups", "Effect": "Allow", "Action": [ "logs:DescribeLogGroups" ], "Resource": [ "arn:aws:logs:region
:account-id
:log-group:*" ] }, { "Sid": "ListCloudwatchLogStreams", "Effect": "Allow", "Action": [ "logs:DescribeLogStreams" ], "Resource": [ "arn:aws:logs:region
:account-id
:log-group:/aws/kinesis-analytics/application-name
:log-stream:*" ] }, { "Sid": "PutCloudwatchLogs", "Effect": "Allow", "Action": [ "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:region
:account-id
:log-group:/aws/kinesis-analytics/application-name
:log-stream:kinesis-analytics-log-stream" ] } ] }
Prevención de la sustitución confusa entre servicios
Cuando una aplicación de Amazon MSF llama a otra Servicio de AWS, puede proporcionar permisos de acceso más detallados. Por ejemplo, si una función de IAM se reutiliza en varias aplicaciones, una aplicación puede acceder a un recurso al que no debería tener acceso. Esto se conoce como el problema del diputado confuso. Para obtener información sobre cómo el recurso al que se ha accedido puede restringir el acceso a una aplicación específica de Amazon MSF, consultePrevención de la sustitución confusa entre servicios.
Permisos de administración de aplicaciones y control del ciclo de vida
Las acciones para administrar la aplicación y su ciclo de vida, como CreateApplication, y StartApplicationUpdateApplication, se controlan mediante políticas basadas en la identidad asociadas al recurso que realiza la acción, como un usuario de IAM, un grupo de IAM o un recurso, como llamar a AWS Lambda la API de Amazon MSF.
nota
La API y el SDK que controlan el ciclo de vida de las aplicaciones de Amazon MSF se denominan Amazon Kinesis Analytics V2 por motivos de compatibilidad con versiones anteriores.
No se admite la asignación de permisos para las acciones del ciclo de vida de las aplicaciones mediante políticas basadas en recursos adjuntas a la aplicación Amazon MSF. La función de IAM de la aplicación no se utiliza para controlar el acceso a las acciones del ciclo de vida de la aplicación. No debe añadir permisos de ciclo de vida de la aplicación al rol de la aplicación.
En la siguiente tabla se enumeran las funciones de IAM que puede utilizar con las acciones del ciclo de vida de las aplicaciones de Amazon MSF.
Característica de IAM | Soporte de Managed Service para Apache Flink |
---|---|
Sí |
|
No |
|
Sí |
|
Sí |
|
Sí |
|
No |
|
Sí |
|
Sí |
|
Sí |
|
No |
|
No |
-
Para obtener una visión general de cómo Servicios de AWS funcionan Managed Service for Apache Flink y otros con la mayoría de las funciones de IAM, consulte Servicios de AWS Cómo funcionan con IAM en la Guía del usuario de IAM.
-
Para obtener información sobre los recursos, las acciones y las claves de contexto de condiciones específicos del servicio que puede utilizar en las políticas de permisos de IAM, consulte Acciones, recursos y claves de condición de Amazon Kinesis Analytics V2 en la Referencia de autorización de servicios.
Temas
Acciones políticas del ciclo de vida de las aplicaciones
Compatibilidad con las acciones de políticas: sí
Los administradores pueden usar las políticas de AWS JSON para especificar quién tiene acceso a qué. Es decir, qué entidad principal puede realizar acciones en qué recursos y en qué condiciones.
El elemento Action
de una política JSON describe las acciones que puede utilizar para conceder o denegar el acceso en una política. Las acciones políticas suelen tener el mismo nombre que la operación de AWS API asociada. Hay algunas excepciones, como acciones de solo permiso que no tienen una operación de API coincidente. También hay algunas operaciones que requieren varias acciones en una política. Estas acciones adicionales se denominan acciones dependientes.
Incluya acciones en una política para conceder permisos y así llevar a cabo la operación asociada.
Las acciones políticas en Amazon MSF usan el kinesisanalytics
prefijo antes de la acción. Amazon MSF APIs y SDKs usa el Amazon Kinesis Analytics V2
prefijo.
Para especificar varias acciones en una única instrucción, sepárelas con comas. El siguiente ejemplo muestra la sintaxis para especificar las acciones políticas de Amazon MSF.
"Action" : [ "kinesisanalytics:
action1
", "kinesisanalytics:action2
" ]
También puede utilizar caracteres comodín para especificar varias acciones (*). Por ejemplo, para especificar todas las acciones que comiencen con la palabra Describe
, incluya la siguiente acción.
"Action": "kinesisanalytics:Describe*"
Para ver una lista completa de todas las acciones de la API de Amazon MSF que puede especificar en el Action
elemento de una declaración de política de IAM, consulte Acciones definidas por Amazon Kinesis Analytics V2.
Para ver ejemplos de políticas de Amazon MSF basadas en la identidad, consulte. Ejemplos de políticas basadas en identidades
Recursos sobre políticas del ciclo de vida de las
Compatibilidad con los recursos de políticas: sí
Los administradores pueden usar las políticas de AWS JSON para especificar quién tiene acceso a qué. Es decir, qué entidad principal puedes realizar acciones en qué recursos y en qué condiciones.
El elemento Resource
de la política JSON especifica el objeto u objetos a los que se aplica la acción. Las instrucciones deben contener un elemento Resource
o NotResource
. Como práctica recomendada, especifique un recurso utilizando el Nombre de recurso de Amazon (ARN). Puedes hacerlo para acciones que admitan un tipo de recurso específico, conocido como permisos de nivel de recurso.
Para las acciones que no admiten permisos de nivel de recurso, como las operaciones de descripción, utiliza un carácter comodín (*) para indicar que la instrucción se aplica a todos los recursos.
"Resource": "*"
Los permisos para las acciones del ciclo de vida de las aplicaciones de Amazon MSF se definen para cada aplicación. El elemento Resource
JSON de una política de IAM define la aplicación Amazon MSF a la que se aplican los permisos.
Puede asignar permisos a una sola aplicación especificando el ARN de la aplicación o a un grupo de aplicaciones mediante caracteres comodín. En el siguiente ejemplo, se muestra la sintaxis del Resource
elemento.
"Resouce" : "arn:
partition
:kinesisanalytics:Region
:account
:application/application-name
También puede asignar permisos para controlar un subconjunto de aplicaciones mediante caracteres comodín. Por ejemplo, puede asignar permisos para controlar todas las aplicaciones cuyo nombre comience con un prefijo específico.
"Resouce" : "arn:
partition
:kinesisanalytics:Region
:account
:application/application-name-prefix*
Claves de condición de la política de ciclo de vida
Compatibilidad con claves de condición de políticas específicas del servicio: sí
Los administradores pueden usar las políticas de AWS JSON para especificar quién tiene acceso a qué. Es decir, qué entidad principal puedes realizar acciones en qué recursos y en qué condiciones.
El elemento Condition
(o bloque de Condition
) permite especificar condiciones en las que entra en vigor una instrucción. El elemento Condition
es opcional. Puedes crear expresiones condicionales que utilizan operadores de condición, tales como igual o menor que, para que la condición de la política coincida con los valores de la solicitud.
Si especifica varios elementos de Condition
en una instrucción o varias claves en un único elemento de Condition
, AWS las evalúa mediante una operación AND
lógica. Si especifica varios valores para una única clave de condición, AWS evalúa la condición mediante una OR
operación lógica. Se deben cumplir todas las condiciones antes de que se concedan los permisos de la instrucción.
También puedes utilizar variables de marcador de posición al especificar condiciones. Por ejemplo, puedes conceder un permiso de usuario de IAM para acceder a un recurso solo si está etiquetado con su nombre de usuario de IAM. Para más información, consulta Elementos de la política de IAM: variables y etiquetas en la Guía del usuario de IAM.
AWS admite claves de condición globales y claves de condición específicas del servicio. Para ver todas las claves de condición AWS globales, consulte las claves de contexto de condición AWS globales en la Guía del usuario de IAM.
Puede utilizar las claves de condición para controlar los permisos de las acciones del ciclo de vida de las aplicaciones de Amazon MSF. Para obtener una lista de las claves de condición de Managed Service para Apache Flink, consulte Condition Keys for Amazon Managed Service for Apache Flink en la Referencia de autorizaciones de servicio. Para obtener más información acerca de las acciones y los recursos con los que puede utilizar una clave de condición, consulte acciones definidas por Amazon Managed Service para Apache Flink.
Control de acceso basado en atributos (ABAC) con Managed Service para Apache Flink
Admite ABAC (etiquetas en las políticas): sí
Con las claves de condición, puede implementar el control de acceso basado en atributos (ABAC), que es una estrategia de autorización que define los permisos en función de los atributos. En AWS, estos atributos se denominan etiquetas. Puede adjuntar etiquetas a las entidades de IAM (usuarios o roles) y a muchos AWS recursos. El etiquetado de entidades y recursos es el primer paso de ABAC. A continuación, diseñe políticas de ABAC para permitir las operaciones cuando la etiqueta del director coincida con la etiqueta del recurso al que está intentando acceder.
ABAC es útil en entornos que crecen con rapidez y ayuda en situaciones en las que la administración de las políticas resulta engorrosa.
Para controlar el acceso en función de etiquetas, debe proporcionar información de las etiquetas en el elemento de condición de una política utilizando las claves de condición aws:ResourceTag/key-name
, aws:RequestTag/key-name
o aws:TagKeys
. Si un servicio admite las tres claves de condición para cada tipo de recurso, el valor es Sí para el servicio. Si un servicio admite las tres claves de condición solo para algunos tipos de recursos, el valor es Parcial.
-
Para obtener más información sobre ABAC, consulte Definir permisos en función de los atributos con la autorización ABAC.
-
Para ver un tutorial con los pasos para configurar el ABAC, consulte el tutorial de IAM: Defina los permisos de acceso a los AWS recursos en función de las etiquetas.
Uso de credenciales temporales
Compatibilidad con credenciales temporales: sí
Las acciones del ciclo de vida de las aplicaciones de Amazon MSF admiten credenciales temporales.
Está utilizando credenciales temporales si inicia sesión AWS Management Console con cualquier método excepto un nombre de usuario y una contraseña. Por ejemplo, cuando accedes AWS mediante el enlace de inicio de sesión único (SSO) de tu empresa, ese proceso crea automáticamente credenciales temporales. También crea credenciales temporales de forma automática cuando inicia sesión en la consola como usuario y luego cambia de rol. Para obtener más información sobre el cambio de rol, consulte Cambiar de un rol de usuario a uno de IAM (consola).
Puede crear credenciales temporales manualmente mediante la AWS API AWS CLI o. A continuación, puede utilizar esas credenciales temporales para acceder AWS. Le recomendamos que genere credenciales temporales de forma dinámica en lugar de utilizar claves de acceso a largo plazo. Para obtener más información, consulte Credenciales de seguridad temporales en IAM.
Permisos de entidades principales entre servicios
Admite sesiones de acceso directo (FAS): sí
Las acciones del ciclo de vida de las aplicaciones de Amazon MSF admiten permisos principales entre servicios.
Cuando utilizas un usuario o un rol de IAM para realizar acciones en él AWS, se te considera director. Cuando utiliza algunos servicios, es posible que realice una acción que desencadene otra acción en un servicio diferente. Las sesiones de acceso directo (FAS) utilizan los permisos del principal que llama y los que solicitan Servicio de AWS para realizar solicitudes a los servicios descendentes. Servicio de AWS Las solicitudes de FAS solo se realizan cuando un servicio recibe una solicitud que requiere interacciones con otros Servicios de AWS recursos para completarse. En este caso, debe tener permisos para realizar ambas acciones. Para obtener información sobre las políticas a la hora de realizar solicitudes de FAS, consulte Reenviar sesiones de acceso.
Políticas basadas en identidad para los servicios gestionados de Amazon Flink
Compatibilidad con las políticas basadas en identidad: sí
Las políticas basadas en identidad son documentos de políticas de permisos JSON que puede asociar a una identidad, como un usuario de IAM, un grupo de usuarios o un rol. Estas políticas controlan qué acciones pueden realizar los usuarios y los roles, en qué recursos y en qué condiciones. Para obtener más información sobre cómo crear una política basada en identidad, consulte Creación de políticas de IAM en la Guía del usuario de IAM.
Con las políticas basadas en identidades de IAM, puede especificar las acciones y los recursos permitidos o denegados, así como las condiciones en las que se permiten o deniegan las acciones. No es posible especificar la entidad principal en una política basada en identidad porque se aplica al usuario o rol al que está asociada. Para obtener más información sobre los elementos que puede utilizar en una política de JSON, consulte Referencia de los elementos de las políticas de JSON de IAM en la Guía del usuario de IAM.
Ejemplos de políticas basadas en identidades de Managed Service para Apache Flink
Para consultar ejemplos de políticas basadas en la identidad de Managed Service para Apache Flink, consulte Ejemplos de políticas basadas en identidades de Amazon Managed Service para Apache Flink.
Políticas basadas en recursos dentro de Managed Service para Apache Flink
Amazon Managed Service para Apache Flink actualmente no admite el control de acceso basado en recursos.
Listas de control de acceso (ACLs) en Managed Service for Apache Flink
Soporta ACLs: No
Las listas de control de acceso (ACLs) controlan qué directores (miembros de la cuenta, usuarios o roles) tienen permisos para acceder a un recurso. ACLs son similares a las políticas basadas en recursos, aunque no utilizan el formato de documento de políticas JSON.
Roles de servicio para Managed Service para Apache Flink
Compatibilidad con roles de servicio: sí
Un rol de servicio es un rol de IAM que asume un servicio para realizar acciones en su nombre. Un administrador de IAM puede crear, modificar y eliminar un rol de servicio desde IAM. Para obtener más información, consulte Creación de un rol para delegar permisos a un Servicio de AWS en la Guía del usuario de IAM.
aviso
Cambiar los permisos de un rol de servicio podría interrumpir la funcionalidad de Managed Service para Apache Flink. Edite los roles de servicio solo cuando Managed Service para Apache Flink proporcione orientación para hacerlo.
Roles vinculados a servicios para Managed Service para Apache Flink
Admite roles vinculados a servicios: sí
Un rol vinculado a un servicio es un tipo de rol de servicio que está vinculado a un. Servicio de AWS El servicio puede asumir el rol para realizar una acción en su nombre. Los roles vinculados al servicio aparecen en usted Cuenta de AWS y son propiedad del servicio. Un administrador de IAM puedes ver, pero no editar, los permisos de los roles vinculados a servicios.
Para más información sobre cómo crear o administrar roles vinculados a servicios, consulta Servicios de AWS que funcionan con IAM. Busque un servicio en la tabla que incluya Yes
en la columna Rol vinculado a un servicio. Seleccione el vínculo Sí para ver la documentación acerca del rol vinculado a servicios para ese servicio.