

Tras considerarlo detenidamente, hemos decidido dejar de utilizar Amazon Kinesis Data Analytics para aplicaciones SQL:

1. A partir del **1 de septiembre de 2025,** no proporcionaremos ninguna corrección de errores para las aplicaciones de Amazon Kinesis Data Analytics for SQL porque tendremos un soporte limitado debido a la próxima discontinuación.

2. A partir del **15 de octubre de 2025,** no podrá crear nuevas aplicaciones de Kinesis Data Analytics for SQL.

3. Eliminaremos sus aplicaciones a partir del **27 de enero de 2026**. No podrá iniciar ni utilizar sus aplicaciones de Amazon Kinesis Data Analytics para SQL. A partir de ese momento, el servicio de soporte de Amazon Kinesis Data Analytics para SQL dejará de estar disponible. Para obtener más información, consulte [Retirada de las aplicaciones de Amazon Kinesis Data Analytics para SQL](discontinuation.md).

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.

# Seguridad en Amazon Kinesis Data Analytics
<a name="security"></a>

La seguridad en la nube AWS es la máxima prioridad. Como AWS cliente, se beneficiará de una arquitectura de centro de datos y red diseñada para cumplir con los requisitos de las organizaciones más sensibles a la seguridad.

La seguridad es una responsabilidad compartida entre usted AWS y usted. El [modelo de responsabilidad compartida](https://aws.amazon.com/compliance/shared-responsibility-model/) la describe como seguridad *de* la nube y seguridad *en* la nube:
+ **Seguridad de la nube**: AWS es responsable de proteger la infraestructura que ejecuta AWS los servicios en la AWS nube. AWS también le proporciona servicios que puede utilizar de forma segura. Auditores externos prueban y verifican periódicamente la eficacia de nuestra seguridad en el marco de los [Programas de conformidad de AWS](https://aws.amazon.com/compliance/programs/). Para obtener más información acerca de los programas de conformidad que se aplican a Kinesis Data Analytics, consulte [Servicios de AWS en el ámbito del programa de conformidad](https://aws.amazon.com/compliance/services-in-scope/).
+ **Seguridad en la nube**: su responsabilidad viene determinada por el AWS servicio que utilice. Usted también es responsable de otros factores, incluida la confidencialidad de los datos, los requisitos de la empresa y la legislación y los reglamentos aplicables. 

Esta documentación le ayuda a comprender cómo aplicar el modelo de responsabilidad compartida cuando se utiliza Kinesis Data Analytics. En los siguientes temas, se le mostrará cómo configurar Kinesis Data Analytics para satisfacer sus objetivos de seguridad y conformidad. También aprenderá a utilizar otros servicios de Amazon que le ayudarán a supervisar y proteger sus recursos de Kinesis Data Analytics. 

**Topics**
+ [Protección de datos en aplicaciones de Amazon Kinesis Data Analytics para SQL](data-protection.md)
+ [Gestión de identidad y acceso en Kinesis Data Analytics](iam-role.md)
+ [Autenticación y control de acceso para](authentication-and-access-control.md)
+ [Supervisión de Amazon Kinesis Data Analytics](security-monitoring.md)
+ [Validación de la conformidad de aplicaciones de Amazon Kinesis Data Analytics para SQL](akda-java-compliance.md)
+ [Resiliencia en Amazon Kinesis Data Analytics](disaster-recovery-resiliency.md)
+ [Seguridad de la infraestructura en aplicaciones de Kinesis Data Analytics para SQL](infrastructure-security.md)
+ [Prácticas recomendadas de seguridad para Kinesis Data Analytics](security-best-practices.md)

# Protección de datos en aplicaciones de Amazon Kinesis Data Analytics para SQL
<a name="data-protection"></a>

Puede proteger sus datos mediante las herramientas que proporciona AWS. Kinesis Data Analytics puede funcionar con servicios que admiten el cifrado de datos, como Kinesis Data Streams, Firehose y Amazon S3. 

## Cifrado de datos en Kinesis Data Analytics
<a name="data-encryption"></a>

### Cifrado en reposo
<a name="encryption-at-rest"></a>

Tenga en cuenta lo siguiente sobre el cifrado de datos en reposo con Kinesis Data Analytics::
+ Puede cifrar los datos de la transmisión de datos entrante de Kinesis mediante. [StartStreamEncryption](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_StartStreamEncryption.html) Para obtener más información, consulte [¿Qué es el cifrado del lado del servidor para Kinesis Data Streams?](https://docs.aws.amazon.com/streams/latest/dev/what-is-sse.html)
+ Los datos de salida se pueden cifrar en reposo con Firehose, que permite almacenar los datos en un bucket de Amazon S3 cifrado. Se puede especificar la clave de cifrado que el bucket de Amazon S3 va a utilizar. Para obtener más información, consulte [Protección de los datos mediante el cifrado del servidor con claves administradas por KMS (SSE-KMS)](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html).
+ El código de la aplicación se cifra en reposo.
+ Los datos de referencia de la aplicación se cifran en reposo.

### Cifrado en tránsito
<a name="encryption-in-transit"></a>

Kinesis Data Analytics cifra todos los datos en tránsito. El cifrado en tránsito está habilitado para todas las aplicaciones de Kinesis Data Analytics y no se puede deshabilitar. 

Kinesis Data Analytics cifra los datos en tránsito en los siguientes casos:
+ Datos en tránsito de Kinesis Data Streams para Kinesis Data Analytics.
+ Datos en tránsito entre los componentes internos de Kinesis Data Analytics.
+ Datos en tránsito entre Kinesis Data Analytics y Firehose.

### Administración de claves
<a name="key-management"></a>

El cifrado de datos de Kinesis Data Analytics utiliza claves administradas por los servicios. No se admiten las claves administradas por el cliente.

# Gestión de identidad y acceso en Kinesis Data Analytics
<a name="iam-role"></a>

Amazon Kinesis Data Analytics necesita permisos para leer registros de un origen de streaming que especifique en la configuración de entrada de su aplicación. Amazon Kinesis Data Analytics también necesita permisos para escribir la salida de su aplicación en las secuencias que especifique en la configuración de salida de la aplicación. 

Para conceder estos permisos puede crear un rol de IAM que Amazon Kinesis Data Analytics pueda admitir. Los permisos que conceda a un rol determinarán lo que Amazon Kinesis Data Analytics podrá hacer cuando el servicio asuma dicho rol. 



**nota**  
La información de esta sección resulta útil si desea crear un rol de IAM usted mismo. Al crear una aplicación en la consola de Amazon Kinesis Data Analytics, esta puede crear un rol de IAM en ese momento. La consola utiliza la siguiente convención de nomenclatura para los roles de IAM que crea:  

```
kinesis-analytics-ApplicationName
```
Una vez creado el rol, puede revisar el rol y las políticas asociadas en la consola de IAM. 

Cada rol de IAM tiene dos políticas asociadas. En la política de confianza, debe especificar quién puede asumir el rol. En la política de permisos (puede haber una o más), debe especificar los permisos que desea conceder a este rol. En las siguientes secciones se describen estas políticas, que puede utilizar al crear un rol de IAM. 



## Política de confianza
<a name="iam-role-trust-policy"></a>

Para conceder permisos a Amazon Kinesis Data Analytics para asumir un rol de acceso a un origen de streaming o de referencia, asocie la siguiente política de confianza a un rol de IAM:

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "kinesisanalytics.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
```

------

## Política de permisos
<a name="iam-role-permissions-policy"></a>

Si está creando un rol de IAM para permitir que Amazon Kinesis Data Analytics lea desde un origen de streaming de una aplicación, debe conceder permisos para las acciones de lectura correspondientes. Según el origen (por ejemplo, un flujo de Kinesis, un flujo de entrega de Firehose o un origen de referencia en un bucket de Amazon S3), puede asociar la siguiente política de permisos.



### Política de permisos para leer una secuencia de Kinesis
<a name="iam-role-permissions-policy-stream"></a>

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ReadInputKinesis",
            "Effect": "Allow",
            "Action": [
                "kinesis:DescribeStream",
                "kinesis:GetShardIterator",
                "kinesis:GetRecords",
                "kinesis:ListShards"
            ],
            "Resource": [
                "arn:aws:kinesis:us-east-1:123456789012:stream/inputStreamName"
            ]
        }
    ]
}
```

------

### Política de permisos para leer un flujo de entrega de Firehose
<a name="iam-role-permissions-policy-delivery-stream"></a>

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ReadInputFirehose",
            "Effect": "Allow",
            "Action": [
                "firehose:DescribeDeliveryStream",
                "firehose:Get*"
            ],
            "Resource": [
                "arn:aws:firehose:us-east-1:123456789012:deliverystream/inputFirehoseName"
            ]
        }
    ]
}
```

------

**nota**  
El permiso `firehose:Get*` hace referencia a un acceso interno que Kinesis Data Analytics utiliza para acceder al flujo. No hay acceso público de un flujo de entrega de Firehose.

Si indica que Amazon Kinesis Data Analytics escriba directamente en destinos externos en la configuración de salida de su aplicación, debe conceder el siguiente permiso al rol de IAM. 

### Política de permisos para escribir en una secuencia de Kinesis
<a name="iam-role-permissions-policy-ak-stream"></a>

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "WriteOutputKinesis",
            "Effect": "Allow",
            "Action": [
                "kinesis:DescribeStream",
                "kinesis:PutRecord",
                "kinesis:PutRecords"
            ],
            "Resource": [
                "arn:aws:kinesis:us-east-1:123456789012:stream/output-stream-name"
            ]
        }
    ]
}
```

------

### Política de permisos para escribir en una secuencia de entrega de Firehose
<a name="iam-role-permissions-policy-af-delivery-stream"></a>



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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "WriteOutputFirehose",
            "Effect": "Allow",
            "Action": [
                "firehose:DescribeDeliveryStream",
                "firehose:PutRecord",
                "firehose:PutRecordBatch"
            ],
            "Resource": [
                "arn:aws:firehose:us-east-1:123456789012:deliverystream/output-firehose-name"
            ]
        }
    ]
}
```

------

### Política de permisos para leer un origen de datos de referencia de un bucket de Amazon S3
<a name="iam-role-permissions-policy-reference"></a>



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

****  

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

------

# Prevención de la sustitución confusa entre servicios
<a name="iam-cross-service-confused-deputy-prevention"></a>

En AWS, la suplantación entre servicios puede producirse cuando un servicio (el servicio de llamadas) llama a otro servicio (el servicio llamado). El servicio que lleva a cabo las llamadas se puede manipular para actuar en función de los recursos de otro cliente a pesar de que no debe tener los permisos adecuados, lo que da como resultado un problema de suplente confuso.

Para evitar que los agentes confusos, AWS proporciona herramientas que lo ayudan a proteger sus datos en todos los servicios utilizando los directores de servicio a los que se les ha dado acceso a los recursos de su cuenta. Esta sección se centra en la prevención de problemas de suplentes confusos entre servicios específica de Kinesis Data Analytics; sin embargo, puede obtener más información sobre este tema en la sección [El problema del suplente confuso](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html) de la *Guía del usuario de IAM*. 

En el contexto de Kinesis Data Analytics for SQL, le recomendamos que utilice [las claves de contexto aws SourceArn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn): [y aws SourceAccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount): global condition en su política de confianza de roles para limitar el acceso al rol únicamente a las solicitudes generadas por los recursos esperados.

Utiliza `aws:SourceArn` si desea que solo se asocie un recurso al acceso entre servicios. Utiliza `aws:SourceAccount` si quiere permitir que cualquier recurso de esa cuenta se asocie al uso entre servicios.

El valor de `aws:SourceArn` debe ser el ARN del recurso utilizado por Kinesis Data Analytics, que se especifica con el siguiente formato: `arn:aws:kinesisanalytics:region:account:resource`.

La forma más eficaz de protegerse contra el problema del suplente confuso es utilizar la clave de contexto de condición global de `aws:SourceArn` con el ARN completo del recurso.

Si no conoce el ARN completo del recurso o si está especificando varios recursos, utilice la clave `aws:SourceArn` con caracteres comodines (\$1) para las partes desconocidas del ARN. Por ejemplo: `arn:aws:kinesisanalytics::111122223333:*`.

Si bien la mayoría de las acciones de la API de Kinesis Data Analytics for SQL [AddApplicationInput](https://docs.aws.amazon.com/kinesisanalytics/latest/dev/API_AddApplicationInput.html), [DeleteApplication](https://docs.aws.amazon.com/kinesisanalytics/latest/dev/API_DeleteApplication.html)por ejemplo [CreateApplication](https://docs.aws.amazon.com/kinesisanalytics/latest/dev/API_CreateApplication.html), se realizan en el contexto de aplicaciones específicas, [DiscoverInputSchema](https://docs.aws.amazon.com/kinesisanalytics/latest/dev/API_DiscoverInputSchema.html)la acción no se ejecuta en el contexto de ninguna aplicación. Esto significa que la función utilizada en esta acción no debe especificar completamente un recurso en la clave de condición `SourceArn`. A continuación, se muestra un ejemplo en el que se utiliza un ARN comodín:

```
{
   ...
   "ArnLike":{
      "aws:SourceArn":"arn:aws:kinesisanalytics:us-east-1:123456789012:*"
   }
   ...
}
```

El rol predeterminado generado por Kinesis Data Analytics para SQL usa este comodín. Esto garantiza que la detección del esquema de entrada funcione sin problemas en la experiencia de la consola. Sin embargo, recomendamos editar la política de confianza para utilizar un ARN completo después de descubrir el esquema e implementar una completa mitigación de suplentes confusos.

Las políticas de funciones que proporcione a Kinesis Data Analytics, así como las políticas de confianza de las funciones generadas para usted, pueden utilizar las claves [de condición aws SourceArn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn): [y aws SourceAccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount):. 

Para protegerse contra el problema de suplente confuso, lleve a cabo los siguientes pasos: 

**Cómo protegerse contra el problema del suplente confuso**

1. Inicie sesión en la consola AWS de administración y abra la consola de IAM en. [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) 

1. Elija **Roles** y, a continuación, seleccione el rol que desee modificar.

1. Elija **Editar la política de confianza**.

1. En la página **Editar política de confianza**, sustituya la política JSON predeterminada por una política que utilice una o ambas claves contextuales `aws:SourceArn` y `aws:SourceAccount` de condición global. Consulte el siguiente ejemplo de política:

1. Elija **Actualizar política**.

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

****  

   ```
   {
      "Version":"2012-10-17",		 	 	 
      "Statement":[
         {
            "Effect":"Allow",
            "Principal":{
               "Service":"kinesisanalytics.amazonaws.com"
            },
            "Action":"sts:AssumeRole",
            "Condition":{
               "StringEquals":{
                  "aws:SourceAccount":"Account ID"
               },
               "ArnEquals":{
                  "aws:SourceArn":"arn:aws:kinesisanalytics:us-east-1:123456789012:application/my-app"
               }
            }
         }
      ]
   }
   ```

------

# Autenticación y control de acceso para
<a name="authentication-and-access-control"></a>

El acceso a requiere credenciales. Esas credenciales deben tener permisos para acceder a AWS los recursos, como una aplicación o una instancia de Amazon Elastic Compute Cloud (Amazon EC2). En las secciones siguientes se incluye información detallada sobre cómo usar [AWS Identity and Access Management (IAM) y ](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) para proteger el acceso a sus recursos. 

## Control de acceso
<a name="access-control"></a>

Aunque disponga de credenciales válidas para autenticar las solicitudes, si no tiene permisos, no podrá crear recursos de ni obtener acceso a ellos. Por ejemplo, debe tener permiso para crear una aplicación de .

En las secciones siguientes, se describe cómo administrar los permisos de . Recomendamos que lea primero la información general.
+ [Información general sobre la administración de los permisos de acceso a los recursos de](access-control-overview.md)
+ [Uso de políticas basadas en identidad (políticas de IAM) para](using-identity-based-policies.md)
+ [Permisos de la API: referencia de acciones, permisos y recursos](api-permissions-reference.md)

## Autenticación con identidades
<a name="security_iam_authentication"></a>

La autenticación es la forma de iniciar sesión AWS con sus credenciales de identidad. Debe autenticarse como usuario de Usuario raíz de la cuenta de AWS IAM o asumir una función de IAM.

Puede iniciar sesión como una identidad federada con las credenciales de una fuente de identidad, como AWS IAM Identity Center (IAM Identity Center), la autenticación de inicio de sesión único o las credenciales. Google/Facebook Para obtener más información sobre el inicio de sesión, consulte [Cómo iniciar sesión en la Cuenta de AWS](https://docs.aws.amazon.com/signin/latest/userguide/how-to-sign-in.html) en la *Guía del usuario de AWS Sign-In *.

Para el acceso programático, AWS proporciona un SDK y una CLI para firmar criptográficamente las solicitudes. Para obtener más información, consulte [AWS Signature Version 4 para solicitudes de API](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv.html) en la *Guía del usuario de IAM*.

### Cuenta de AWS usuario root
<a name="security_iam_authentication-rootuser"></a>

 Al crear un Cuenta de AWS, se comienza con una identidad de inicio de sesión denominada *usuario Cuenta de AWS raíz* que tiene acceso completo a todos Servicios de AWS los recursos. Se recomiendaencarecidamente que no utilice el usuario raíz para las tareas diarias. Para ver las tareas que requieren credenciales de usuario raíz, consulte [Tareas que requieren credenciales de usuario raíz](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks) en la *Guía del usuario de IAM*. 

### Identidad federada
<a name="security_iam_authentication-federated"></a>

Como práctica recomendada, exija a los usuarios humanos que utilicen la federación con un proveedor de identidades para acceder Servicios de AWS mediante credenciales temporales.

Una *identidad federada* es un usuario del directorio empresarial, del proveedor de identidades web o al Directory Service que se accede Servicios de AWS mediante credenciales de una fuente de identidad. Las identidades federadas asumen roles que proporcionan credenciales temporales.

Para una administración de acceso centralizada, se recomienda AWS IAM Identity Center. Para obtener más información, consulte [¿Qué es el Centro de identidades de IAM?](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html) en la *Guía del usuario de AWS IAM Identity Center *.

### Usuarios y grupos de IAM
<a name="security_iam_authentication-iamuser"></a>

Un *[usuario de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html)* es una identidad con permisos específicos para una sola persona o aplicación. Recomendamos el uso de credenciales temporales en lugar de usuarios de IAM con credenciales de larga duración. Para obtener más información, consulte [Exigir a los usuarios humanos que utilicen la federación con un proveedor de identidad para acceder AWS mediante credenciales temporales](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#bp-users-federation-idp) en la Guía del usuario de *IAM*.

Un [https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html) especifica un conjunto de usuarios de IAM y facilita la administración de los permisos para grupos grandes de usuarios. Para obtener más información, consulte [Casos de uso para usuarios de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/gs-identities-iam-users.html) en la *Guía del usuario de IAM*.

### Roles de IAM
<a name="security_iam_authentication-iamrole"></a>

Un *[Rol de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)* es una identidad con permisos específicos que proporciona credenciales temporales. Puede asumir un rol [cambiando de un rol de usuario a uno de IAM (consola)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-console.html) o llamando a una AWS CLI operación de AWS API. Para obtener más información, consulte [Métodos para asumir un rol](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage-assume.html) en la *Guía del usuario de IAM*.

Los roles de IAM son útiles para el acceso de usuario federado, los permisos de usuario de IAM temporales, el acceso entre cuentas, el acceso entre servicios y las aplicaciones que se ejecutan en Amazon EC2. Para obtener más información, consulte [Acceso a recursos entre cuentas en IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html) en la *Guía del usuario de IAM*.

# Información general sobre la administración de los permisos de acceso a los recursos de
<a name="access-control-overview"></a>

**aviso**  
Para proyectos nuevos, le recomendamos que utilice el nuevo servicio gestionado para Apache Flink Studio en lugar de Kinesis Data Analytics para SQL Applications. El servicio gestionado para Apache Flink Studio combina la facilidad de uso con capacidades analíticas avanzadas, lo que le permite crear aplicaciones sofisticadas de procesamiento de flujos en cuestión de minutos.

Para dar acceso, agregue permisos a los usuarios, grupos o roles:
+ Usuarios y grupos en AWS IAM Identity Center:

  Cree un conjunto de permisos. Siga las instrucciones de [Creación de un conjunto de permisos](https://docs.aws.amazon.com//singlesignon/latest/userguide/howtocreatepermissionset.html) en la *Guía del usuario de AWS IAM Identity Center *.
+ Usuarios gestionados en IAM a través de un proveedor de identidades:

  Cree un rol para la federación de identidades. Siga las instrucciones descritas en [Creación de un rol para un proveedor de identidad de terceros (federación)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-idp.html) en la *Guía del usuario de IAM*.
+ Usuarios de IAM:
  + Cree un rol que el usuario pueda aceptar. Siga las instrucciones descritas en [Creación de un rol para un usuario de IAM](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-user.html) en la *Guía del usuario de IAM*.
  + (No recomendado) Adjunte una política directamente a un usuario o agregue un usuario a un grupo de usuarios. Siga las instrucciones descritas en [Adición de permisos a un usuario (consola)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) de la *Guía del usuario de IAM*.

**nota**  
Un *administrador de cuentas* (o usuario administrador) es un usuario que tiene privilegios de administrador. Para obtener más información, consulte [Prácticas recomendadas de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) en la *Guía del usuario de IAM*.

**Topics**
+ [Recursos y operaciones](#access-control-resources)
+ [Titularidad de los recursos](#access-control-resource-ownership)
+ [Administración del acceso a los recursos](#manage-access-overview)
+ [Especificar elementos de política: acciones, efectos y entidades principales](#specify-policy-elements)
+ [Especificación de las condiciones de una política](#specifying-conditions-overview)

## Recursos y operaciones
<a name="access-control-resources"></a>

En , el recurso principal es *una aplicación*. En las políticas se emplean nombres de recurso de Amazon (ARN) para identificar los recursos a los que se aplican las políticas.

Estos recursos tienen nombres de recursos de Amazon (ARNs) exclusivos asociados a ellos, como se muestra en la siguiente tabla. 


****  

| Tipo de recurso | Formato de ARN | 
| --- | --- | 
| Aplicación |  `arn:aws:kinesisanalytics:region:account-id:application/application-name`  | 

 proporciona un conjunto de operaciones para trabajar con recursos. Para ver la lista de las operaciones disponibles, consulte [Acciones](API_Operations.md).

## Titularidad de los recursos
<a name="access-control-resource-ownership"></a>

 Cuenta de AWS Es propietario de los recursos que se crean en la cuenta, independientemente de quién los haya creado. En concreto, el propietario del recurso es el Cuenta de AWS de la [entidad principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html) (es decir, la cuenta raíz, un usuario o un rol de IAM) que autentica la solicitud de creación del recurso. Los siguientes ejemplos ilustran cómo funciona:
+ Si utiliza las credenciales de su cuenta raíz Cuenta de AWS para crear una aplicación, Cuenta de AWS es el propietario del recurso. (En , el recurso es una aplicación).
+ Si crea un usuario en su Cuenta de AWS cuenta y le concede permisos para crear una aplicación, el usuario podrá crear una aplicación. Sin embargo, usted Cuenta de AWS, al que pertenece el usuario, es el propietario del recurso de la aplicación. Le recomendamos encarecidamente que conceda permisos a los roles y no a los usuarios.
+ Si crea una función de IAM Cuenta de AWS con permisos para crear una aplicación, cualquier persona que pueda asumir esa función podrá crear una aplicación. La suya Cuenta de AWS, a la que pertenece el usuario, es la propietaria del recurso de la aplicación. 

## Administración del acceso a los recursos
<a name="manage-access-overview"></a>

Una *política de permisos* describe quién tiene acceso a qué. En la siguiente sección se explican las opciones disponibles para crear políticas de permisos.

**nota**  
En esta sección se explica el uso de IAM en el contexto de . No se proporciona información detallada sobre el servicio de IAM. Para ver la documentación completa de IAM, consulte [¿Qué es IAM?](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) en la *Guía del usuario de IAM*. Para obtener más información acerca de la sintaxis y las descripciones de las políticas de IAM, consulte [Referencia de políticas JSON de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html) en la *Guía del usuario de IAM*.

Las políticas que se asocian a una identidad de IAM se denominan políticas *basadas en la identidad* (políticas de IAM). Las políticas que se asocian a un recurso se denominan políticas *basadas en recursos*. Solamente admite las políticas basadas en identidades (políticas de IAM). 

**Topics**
+ [Políticas basadas en identidad (políticas de IAM)](#manage-access-iam-policies)
+ [Políticas basadas en recursos](#manage-access-resource-policies)

### Políticas basadas en identidad (políticas de IAM)
<a name="manage-access-iam-policies"></a>

Puede asociar políticas a identidades de IAM. Por ejemplo, puede hacer lo siguiente:
+ **Asociar una política de permisos a un usuario o un grupo de su cuenta**: para conceder a permisos de usuario para crear un recurso, como una aplicación, puede asociar una política de permisos a un usuario o a un grupo al que pertenezca el usuario.
+ **Adjuntar una política de permisos a un rol (conceder permisos para cuentas cruzadas)**: puede adjuntar una política de permisos basada en identidades a un rol de IAM para conceder permisos para cuentas cruzadas. Por ejemplo, el administrador de la cuenta A puede crear un rol para conceder permisos entre cuentas a otro Cuenta de AWS (por ejemplo, la cuenta B) o a un servicio de Amazon de la siguiente manera:

  1. El administrador de la Cuenta A crea un rol de IAM y adjunta una política de permisos al rol que concede permisos sobre los recursos de la Cuenta A.

  1. El administrador de la cuenta A asocia una política de confianza al rol que identifica la cuenta B como la entidad principal que puede asumir el rol. 

  1. A continuación, el administrador de la cuenta B puede delegar permisos para asumir el rol a cualquier usuario de la cuenta B. De este modo, los usuarios de la cuenta B podrán crear recursos y obtener acceso a ellos en la cuenta A. La entidad principal de la política de confianza también puede ser la entidad principal de un servicio de si desea conceder permisos para asumir el rol a un servicio de Amazon.

  Para obtener más información sobre el uso de IAM para delegar permisos, consulte [Administración de accesos](https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) en la *Guía del usuario de IAM*.

A continuación, se ofrece una política de ejemplo que concede permiso para la acción `kinesisanalytics:CreateApplication `, que es necesario para crear una aplicación.

**nota**  
Esta es una política de ejemplo introductorio. Al adjuntar la política al usuario, este podrá crear una aplicación mediante el AWS SDK AWS CLI o el SDK. Sin embargo, el usuario necesitará más permisos para configurar la entrada y la salida. Además, el usuario deberá obtener más permisos al utilizar la consola. En las secciones posteriores se proporciona más información al respecto.

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

****  

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

------

Para obtener más información acerca del uso de políticas basadas en identidades con , consulte [Uso de políticas basadas en identidad (políticas de IAM) para](using-identity-based-policies.md). Para obtener más información sobre usuarios, grupos, roles y permisos, consulte [Identidades (usuarios, grupos y roles)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id.html) en la *Guía del usuario de IAM*. 

### Políticas basadas en recursos
<a name="manage-access-resource-policies"></a>

Otros servicios, como Amazon S3, también admiten políticas de permisos basadas en recursos. Por ejemplo, puede asociar una política a un bucket de S3 para administrar los permisos de acceso a dicho bucket. no admite políticas basadas en recursos.

## Especificar elementos de política: acciones, efectos y entidades principales
<a name="specify-policy-elements"></a>

Para cada recurso de , el servicio define un conjunto de operaciones de API. Para conceder permisos para estas operaciones de API, define un conjunto de acciones que usted puede especificar en una política. Algunas operaciones de API pueden requerir permisos para más de una acción para poder realizar la operación de API. Para obtener más información sobre los recursos y las operaciones de API, consulte [Recursos y operaciones](#access-control-resources) y [Acciones](API_Operations.md).

A continuación se indican los elementos más básicos de la política:
+ **Recurso**: use un Nombre de recurso de Amazon (ARN) para identificar el recurso al que se aplica la política. Para obtener más información, consulte [Recursos y operaciones](#access-control-resources).
+ **Acción**: utilice palabras clave de acción para identificar las operaciones del recurso que desea permitir o denegar. Por ejemplo, puede utilizar `create` para permitir a los usuarios crear una aplicación.
+ **Efecto**: especifique el efecto, permitir o denegar, cuando el usuario solicite la acción específica. Si no concede acceso de forma explícita (permitir) a un recurso, el acceso se deniega implícitamente. También puede denegar explícitamente el acceso a un recurso para asegurarse de que un usuario no pueda obtener acceso a él, aunque otra política le conceda acceso.
+ **Entidad principal**: en las políticas basadas en identidades (políticas de IAM), el usuario al que se asocia esta política es la entidad principal implícita. Para las políticas basadas en recursos, debe especificar el usuario, la cuenta, el servicio u otra entidad que desee que reciba permisos (se aplica solo a las políticas basadas en recursos). no admite políticas basadas en recursos.

Para obtener más información sobre la sintaxis y descripciones de las políticas de IAM, consulte [IAM JSON Policy Reference](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html) (Referencia de la política JSON de IAM) en la *Guía del usuario de IAM*.

Para ver una lista de con todas las operaciones de la API y los recursos a los que se aplican, consulte [Permisos de la API: referencia de acciones, permisos y recursos](api-permissions-reference.md).

## Especificación de las condiciones de una política
<a name="specifying-conditions-overview"></a>

Al conceder permisos, puede utilizar el lenguaje de la política de acceso para especificar las condiciones en las que se debe aplicar una política. Por ejemplo, es posible que desee que solo se aplique una política después de una fecha específica. Para obtener más información sobre cómo especificar condiciones en un lenguaje de política, consulte [Condition](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html#Condition) en la *Guía del usuario de IAM*.

Para expresar condiciones, se usan claves de condición predefinidas. No hay claves de condición específicas para . Sin embargo, hay claves AWS de condición generales que puede utilizar según convenga. Para obtener una lista completa de las claves AWS de ancho, consulte las [claves disponibles para las condiciones](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html#AvailableKeys) en la Guía del usuario de *IAM*.

# Uso de políticas basadas en identidad (políticas de IAM) para
<a name="using-identity-based-policies"></a>

Los siguientes ejemplos de políticas basadas en identidad muestran cómo un administrador de la cuenta puede asociar políticas de permisos a identidades de IAM (es decir, usuarios, grupos y roles) y, por lo tanto, conceder permisos para realizar operaciones en recursos.

**importante**  
Le recomendamos que consulte primero los temas de introducción en los que se explican los conceptos básicos y las opciones disponibles para administrar el acceso a sus recursos de . Para obtener más información, consulte [Información general sobre la administración de los permisos de acceso a los recursos de](access-control-overview.md). 

**Topics**
+ [Permisos necesarios para usar la consola de](#console-permissions)
+ [Políticas administradas (predefinidas) por Amazon para](#access-policy-aws-managed-policies)
+ [Ejemplos de políticas administradas por el cliente](#access-policy-customer-managed-examples)

A continuación se muestra un ejemplo de una política de permisos.

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

****  

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

------

La política tiene una declaración:
+ La primera declaración concede permisos para una acción (`kinesisanalytics:CreateApplication`) en un recurso que utiliza el nombre de recurso de Amazon (ARN) para la aplicación. El ARN en este caso especifica un comodín (\$1) para indicar que el permiso se concede para cualquier recurso.

Para ver una tabla con todas las operaciones de la API y los recursos a los que se aplican, consulte [Permisos de la API: referencia de acciones, permisos y recursos](api-permissions-reference.md). 

## Permisos necesarios para usar la consola de
<a name="console-permissions"></a>

En el caso de un usuario que trabaja con la consola de , debe conceder los permisos necesarios. Por ejemplo, si desea conceder que un usuario tenga permisos para crear una aplicación, conceda permisos que le mostrarán los orígenes de streaming en la cuenta para que este pueda configurar la entrada y la salida de la consola.

Le recomendamos lo siguiente:
+ Utilice políticas administradas de Amazon para conceder los permisos de usuario. Para conocer las políticas disponibles, consulte [Políticas administradas (predefinidas) por Amazon para](#access-policy-aws-managed-policies).
+ Cree políticas personalizadas. En este caso, le recomendamos que revise los ejemplos proporcionados en esta sección. Para obtener más información, consulte [Ejemplos de políticas administradas por el cliente](#access-policy-customer-managed-examples).





## Políticas administradas (predefinidas) por Amazon para
<a name="access-policy-aws-managed-policies"></a>

AWS aborda muchos casos de uso comunes al proporcionar políticas de IAM independientes que son creadas y administradas por. AWS Estas políticas administradas por Amazon conceden los permisos necesarios para casos de uso comunes, lo que le evita tener que investigar los permisos necesarios. Para más información, consulte [Políticas administradas de Amazon](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) en la *Guía del usuario de IAM*. 

Las siguientes políticas administradas por Amazon, que se pueden adjuntar a los usuarios de la cuenta, son específicas de:
+ **`AmazonKinesisAnalyticsReadOnly`**— Otorga permisos para realizar acciones que permiten al usuario enumerar las aplicaciones y revisar input/output la configuración. También concede permisos para que un usuario pueda ver una lista de flujos de Kinesis y de flujos de entrega de Firehose. Dado que aplicación está en ejecución, el usuario puede ver los datos de origen y los resultados de análisis en tiempo real en la consola.

   
+ **`AmazonKinesisAnalyticsFullAccess`**: otorga permisos para todas las acciones y todos los demás permisos que permiten a un usuario crear y administrar aplicaciones. Sin embargo, tenga en cuenta lo siguiente:

   
  + Estos permisos no son suficientes si el usuario quiere crear un rol de IAM en la consola (con estos permisos el usuario puede seleccionar un rol existente). Si desea que el usuario pueda crear un rol de IAM en la consola, añada la política administrada de Amazon `IAMFullAccess`.

     
  + Un usuario debe tener permiso para que acción `iam:PassRole` pueda especificar un rol de IAM al configurar la aplicación. Esta política administrada de Amazon concede al usuario permiso para la acción `iam:PassRole` solo en los roles de IAM que empiecen con el prefijo `service-role/kinesis-analytics`. 

    Si el usuario quiere configurar la aplicación con un rol que no tenga este prefijo, en primer lugar deberá conceder permisos de forma explícita al usuario para la acción `iam:PassRole` del rol específico. 

También puede crear sus propias políticas de IAM personalizadas para conceder permisos a las acciones y recursos de . Puede asociar estas políticas personalizadas a los usuarios o grupos de que requieran esos permisos. 

## Ejemplos de políticas administradas por el cliente
<a name="access-policy-customer-managed-examples"></a>

Los ejemplos que aparecen en esta sección muestran un grupo de políticas de ejemplo que puede asociar a un usuario. Si es la primera vez que crea una política, le recomendamos que cree primer lugar un usuario en su cuenta. A continuación, asocie las políticas al usuario por orden, según se detalla en los pasos de esta sección. Luego, podrá utilizar la consola para comprobar los efectos de cada política a medida que la asigna al usuario. 

En un primer momento como el usuario no tiene permisos no puede hacer nada en la consola. Al asociar políticas al usuario, podrá verificar que este pueda realizar diversas acciones en la consola. 

Le recomendamos que utilice dos ventanas de navegador. En una ventana, cree el usuario y conceda permisos. En la otra, inicie sesión Consola de administración de AWS con las credenciales del usuario y verifique los permisos a medida que los concede.

 Para ver ejemplos que ilustran cómo crear un rol de IAM que puede utilizar como rol de ejecución en la aplicación, consulte [Creación de roles de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create.html) en la *Guía del usuario de IAM*.

**Topics**
+ [Paso 1: Crear un usuario de IAM](#console-permissions-createuser)
+ [Paso 2: conceder permisos al usuario para acciones que no son específicas de](#console-permissions-grant-non-ka-permissions)
+ [Paso 3: Permitir que el usuario vea una lista de aplicaciones y los detalles](#console-permissions-grant-list-applications)
+ [Paso 4: Permitir que el usuario inicie aplicaciones específicas](#console-permissions-start-app)
+ [Paso 5: Permitir que el usuario cree una aplicación de](#console-permissions-grant-create-applications)
+ [Paso 6: permitir a la aplicación utilizar el procesamiento previo de Lambda](#console-permissions-grant-lambda)



### Paso 1: Crear un usuario de IAM
<a name="console-permissions-createuser"></a>

En primer lugar, cree un usuario de IAM, añádalo a un grupo de IAM con permisos administrativos y, a continuación, conceda permisos administrativos al usuario que ha creado. A continuación, podrás acceder AWS mediante una URL especial y las credenciales de ese usuario. 

Para obtener instrucciones, consulte [Creación de su primer grupo de administradores y usuarios de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-started_create-admin-group.html) en la *Guía del usuario de IAM*. 

### Paso 2: conceder permisos al usuario para acciones que no son específicas de
<a name="console-permissions-grant-non-ka-permissions"></a>

En primer lugar, conceda permiso a un usuario para todas las acciones que no son específicas de y que el usuario necesitará para trabajar con aplicaciones de . Estos incluyen permisos para trabajar con transmisiones (acciones de Amazon Kinesis Data Streams, acciones de Amazon Data Firehose) y permisos para acciones. CloudWatch Asigne la siguiente política al usuario.

Es necesario actualizar la política proporcionando un nombre de rol de IAM para el que desea conceder el permiso `iam:PassRole` o especificar un carácter comodín (\$1) para indicar todos los roles de IAM. Esto no es una práctica segura, pero no puede crear un rol de IAM específico durante esta prueba.

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

****  

```
{
    "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"
        }
    ]
}
```

------

### Paso 3: Permitir que el usuario vea una lista de aplicaciones y los detalles
<a name="console-permissions-grant-list-applications"></a>

La siguiente política concede a un usuario los siguientes permisos:
+ Permiso de la acción `kinesisanalytics:ListApplications` para que el usuario pueda ver una lista de aplicaciones. Se trata de una llamada a la API en el nivel de servicio y, por tanto, especifique"\$1" como valor de `Resource`.
+ Permiso de la acción `kinesisanalytics:DescribeApplication` para que pueda obtener información acerca de cualquiera de las aplicaciones.

Añada esta política para el usuario. 

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "kinesisanalytics:ListApplications"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "kinesisanalytics:DescribeApplication"
            ],
            "Resource": "arn:aws:kinesisanalytics:us-east-1:123456789012:application/*"
        }
    ]
}
```

------

 Verifique estos permisos iniciando sesión en la consola con las credenciales de usuario.

### Paso 4: Permitir que el usuario inicie aplicaciones específicas
<a name="console-permissions-start-app"></a>

Si desea que el usuario pueda iniciar una de las aplicaciones de existentes, asocie la siguiente política al usuario. La política proporciona el permiso para la acción `kinesisanalytics:StartApplication`. Debe actualizar la política proporcionando su ID de cuenta, AWS región y nombre de la aplicación. 

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "kinesisanalytics:StartApplication"
            ],
            "Resource": "arn:aws:kinesisanalytics:us-east-1:123456789012:application/application-name"
        }
    ]
}
```

------

### Paso 5: Permitir que el usuario cree una aplicación de
<a name="console-permissions-grant-create-applications"></a>

Si desea que el usuario cree una aplicación de , a continuación puede asociar la política siguiente al usuario. Debe actualizar la política y proporcionar una AWS región, su ID de cuenta y un nombre de aplicación específico que desee que cree el usuario o un «\$1» para que el usuario pueda especificar cualquier nombre de aplicación (y así crear varias aplicaciones).

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

****  

```
{
    "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:us-east-1:123456789012:application/application-name"
        }
    ]
}
```

------

### Paso 6: permitir a la aplicación utilizar el procesamiento previo de Lambda
<a name="console-permissions-grant-lambda"></a>

Si desea que la aplicación pueda utilizar el procesamiento previo de Lambda, asocie la siguiente política al rol. 

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

# Permisos de la API: referencia de acciones, permisos y recursos
<a name="api-permissions-reference"></a>

Cuando configure [Control de acceso](authentication-and-access-control.md#access-control) y escriba una política de permisos que se pueda asociar a una identidad de IAM (políticas basadas en identidad), puede utilizar la siguiente tabla como referencia. En la tabla cada operación de la API, las acciones correspondientes para las que puede conceder permisos para realizar la acción y el AWS recurso para el que puede conceder los permisos. Las acciones se especifican en el campo `Action` de la política y el valor del recurso se especifica en el campo `Resource` de la política. 

Puedes usar claves AWS de condición generales en tus políticas para expresar las condiciones. Para obtener una lista completa de las claves AWS anchas, consulta las [claves disponibles](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html#AvailableKeys) en la Guía del usuario de *IAM*. 

**nota**  
Para especificar una acción, use el prefijo `kinesisanalytics` seguido del nombre de operación de la API (por ejemplo, `kinesisanalytics:AddApplicationInput`).

Utilice las barras de desplazamiento para ver el resto de la tabla.




**API y permisos necesarios para las acciones**  

|  Operaciones de API | Permisos necesarios (acciones de la API) | Recursos | 
| --- | --- | --- | 
|  [AddApplicationInput](API_AddApplicationInput.md)   |  kinesisanalytics:AddApplicationInput  |  `arn:aws:kinesisanalytics: region:accountId:application/application-name`  | 
|  [AddApplicationOutput](API_AddApplicationOutput.md)   |  kinesisanalytics:AddApplicationOutput  |  `arn:aws:kinesisanalytics: region:accountId:application/application-name`  | 
|  [AddApplicationReferenceDataSource](API_AddApplicationReferenceDataSource.md)   |  kinesisanalytics:AddApplicationReferenceDataSource  |  `arn:aws:kinesisanalytics: region:accountId:application/application-name`  | 
|  [CreateApplication](API_CreateApplication.md)   |  kinesisanalytics:CreateApplication  |  `arn:aws:kinesisanalytics: region:accountId:application/application-name`  | 
|  [DeleteApplication](API_DeleteApplication.md)   |  kinesisanalytics:DeleteApplication  |  `arn:aws:kinesisanalytics: region:accountId:application/application-name`  | 
|  [DeleteApplicationOutput](API_DeleteApplicationOutput.md)   |  kinesisanalytics:DeleteApplicationOutput  |  `arn:aws:kinesisanalytics: region:accountId:application/application-name`  | 
|  [DeleteApplicationReferenceDataSource](API_DeleteApplicationReferenceDataSource.md)   |  kinesisanalytics:DeleteApplicationReferenceDataSource  |  `arn:aws:kinesisanalytics: region:accountId:application/application-name`  | 
|  [DescribeApplication](API_DescribeApplication.md)   |  kinesisanalytics:DescribeApplication  |  `arn:aws:kinesisanalytics: region:accountId:application/application-name`  | 
|  [DiscoverInputSchema](API_DiscoverInputSchema.md)   |  kinesisanalytics:DiscoverInputSchema  |  \$1  | 
|  [ListApplications](API_ListApplications.md)   |  kinesisanalytics:ListApplications  |  \$1  | 
|  [StartApplication](API_StartApplication.md)   |  kinesisanalytics:StartApplication  |  `arn:aws:kinesisanalytics: region:accountId:application/application-name`  | 
|  [StopApplication](API_StopApplication.md)   |  kinesisanalytics:StopApplication  |  `arn:aws:kinesisanalytics: region:accountId:application/application-name`  | 
|  [UpdateApplication](API_UpdateApplication.md)   |  kinesisanalytics:UpdateApplication  |  `arn:aws:kinesisanalytics: region:accountId:application/application-name`  | 
|  Acceder a los datos de la consola o probarlos   |  kinesisanalytics:GetApplicationState  |  `arn:aws:kinesisanalytics: region:accountId:application/application-name`  | 





## GetApplicationState
<a name="api-permissions-reference-gas"></a>

La consola utiliza un método interno llamado `GetApplicationState` para crear muestras o acceder a los datos de la aplicación. La aplicación de servicio debe tener permisos para que la API interna de `kinesisanalytics:GetApplicationState` pueda crear muestras o acceder a los datos de la aplicación a través de Consola de administración de AWS.

# Supervisión de Amazon Kinesis Data Analytics
<a name="security-monitoring"></a>

Kinesis Data Analytics proporciona funciones de supervisión para sus aplicaciones. Para obtener más información, consulte [Monitorización de for SQL Applications](monitoring-overview.md).

# Validación de la conformidad de aplicaciones de Amazon Kinesis Data Analytics para SQL
<a name="akda-java-compliance"></a>

Los auditores externos evalúan la seguridad y la conformidad de Amazon Kinesis Data Analytics como parte de AWS varios programas de conformidad. Esto incluye SOC, PCI, HIPAA y otros.

Para ver una lista de AWS los servicios incluidos en el ámbito de los programas de conformidad específicos, consulta [Amazon Services in Scope by Compliance Program](https://aws.amazon.com/compliance/services-in-scope/). Para obtener información general, consulte [Programas de conformidad de AWS](https://aws.amazon.com/compliance/programs/).

Puede descargar informes de auditoría de terceros utilizando AWS Artifact. Para obtener más información, consulte [Descarga de informes en AWS Artifact](https://docs.aws.amazon.com/artifact/latest/ug/downloading-documents.html). 

Su responsabilidad con la conformidad al utilizar Kinesis Data Analytics se determina en función de la confidencialidad de los datos, los objetivos de conformidad de su empresa y la legislación y los reglamentos aplicables. Si su uso de Kinesis Data Analytics está sujeto a conformidad con normas tales como HIPAA o PCI, AWS proporciona recursos para ayudarle:
+ [Guías de inicio rápido sobre seguridad y conformidad](https://aws.amazon.com/quickstart/?awsf.quickstart-homepage-filter=categories%23security-identity-compliance): estas guías de implementación analizan las consideraciones arquitectónicas y proporcionan los pasos para implementar entornos básicos centrados en la seguridad y el cumplimiento. AWS
+  Documento técnico sobre [cómo diseñar una arquitectura para la seguridad y el cumplimiento de la HIPAA: este documento técnico describe cómo las](https://d0.awsstatic.com/whitepapers/compliance/AWS_HIPAA_Compliance_Whitepaper.pdf) empresas pueden utilizar para crear aplicaciones que cumplan con la HIPAA. AWS 
+ [AWS Recursos de cumplimiento](https://aws.amazon.com/compliance/resources/): esta colección de libros de trabajo y guías puede aplicarse a su sector y ubicación.
+ [AWS Config](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config.html)— Este AWS servicio evalúa en qué medida las configuraciones de sus recursos cumplen con las prácticas internas, las directrices del sector y las normativas.
+ [AWS Security Hub CSPM](https://docs.aws.amazon.com/securityhub/latest/userguide/what-is-securityhub.html)— Este AWS servicio proporciona una visión integral del estado de su seguridad AWS que le ayuda a comprobar el cumplimiento de los estándares y las mejores prácticas del sector de la seguridad.

# Resiliencia en Amazon Kinesis Data Analytics
<a name="disaster-recovery-resiliency"></a>

La infraestructura AWS global se basa en AWS regiones y zonas de disponibilidad. AWS Las regiones proporcionan varias zonas de disponibilidad aisladas y separadas físicamente, que están conectadas mediante redes de baja latencia, alto rendimiento y alta redundancia. Con las zonas de disponibilidad, puede diseñar y utilizar aplicaciones y bases de datos que realizan una conmutación por error automática entre zonas de disponibilidad sin interrupciones. Las zonas de disponibilidad tienen una mayor disponibilidad, tolerancia a errores y escalabilidad que las infraestructuras tradicionales de centros de datos únicos o múltiples. 

[Para obtener más información sobre AWS las regiones y las zonas de disponibilidad, consulte Infraestructura global.AWS](https://aws.amazon.com/about-aws/global-infrastructure/)

Además de la infraestructura AWS global, Kinesis Data Analytics ofrece varias funciones que le ayudan a satisfacer sus necesidades de respaldo y resiliencia de datos.

## Recuperación ante desastres
<a name="disaster-recovery"></a>

Kinesis Data Analytics se ejecuta en un modo sin servidor y se ocupa de las reducciones del rendimiento del host, la disponibilidad de las zonas de disponibilidad y otros problemas relacionados con la infraestructura al llevar a cabo una migración automática. Cuando esto sucede, Kinesis Data Analytics se asegura de que la aplicación se procesa sin que se pierdan datos. Para obtener más información, consulte [Modelo de entrega para conservar la salida de las aplicaciones en destinos externos](failover-checkpoint.md).

# Seguridad de la infraestructura en aplicaciones de Kinesis Data Analytics para SQL
<a name="infrastructure-security"></a>

Como servicio gestionado, Amazon Kinesis Data Analytics está protegido por AWS los procedimientos de seguridad de red global que se describen en [el documento técnico Amazon Web Services: Overview of Security Processes](https://d0.awsstatic.com/whitepapers/Security/AWS_Security_Whitepaper.pdf).

Utilice las llamadas a la API AWS publicadas para acceder a Kinesis Data Analytics a través de la red. Los clientes deben ser compatibles con Transport Layer Security (TLS) 1.2 o una versión posterior. Los clientes también deben ser compatibles con conjuntos de cifrado con confidencialidad directa total (PFS) tales como Ephemeral Diffie-Hellman (DHE) o Elliptic Curve Ephemeral Diffie-Hellman (ECDHE). La mayoría de los sistemas modernos como Java 7 y posteriores son compatibles con estos modos.

Además, las solicitudes deben estar firmadas mediante un ID de clave de acceso y una clave de acceso secreta que esté asociada a una entidad principal de IAM. También puedes utilizar [AWS Security Token Service](https://docs.aws.amazon.com/STS/latest/APIReference/Welcome.html) (AWS STS) para generar credenciales de seguridad temporales para firmar solicitudes.

# Prácticas recomendadas de seguridad para Kinesis Data Analytics
<a name="security-best-practices"></a>

Amazon Kinesis Data Analytics proporciona una serie de características de seguridad que debe tener en cuenta a la hora de desarrollar e implementar sus propias políticas de seguridad. Las siguientes prácticas recomendadas son directrices generales y no constituyen una solución de seguridad completa. Puesto que es posible que estas prácticas recomendadas no sean adecuadas o suficientes para el entorno, considérelas como consideraciones útiles en lugar de como normas. 

## Uso de los roles de IAM para obtener acceso a otros servicios de Amazon
<a name="security-best-practices-roles"></a>

La aplicación de Kinesis Data Analytics debe tener credenciales válidas para poder obtener acceso a otros recursos, como los flujos de datos de Kinesis, los flujos de entrega de Firehose o los buckets de Amazon S3. No debe almacenar AWS las credenciales directamente en la aplicación ni en un bucket de Amazon S3. Estas son las credenciales a largo plazo que no rotan automáticamente y que podrían tener un impacto empresarial significativo si se comprometen. 

En su lugar, debería utilizar un rol de IAM para administrar las credenciales temporales que la aplicación utiliza para obtener acceso a otros recursos. Al utilizar un rol, no tiene que utilizar credenciales a largo plazo para acceder a otros recursos.

Para obtener más información, consulte los siguientes temas de la *guía del usuario de IAM*:
+ [Roles de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)
+ [Situaciones habituales con los roles: usuarios, aplicaciones y servicios](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios.html)

## Implementación del cifrado en el servidor en recursos dependientes
<a name="security-best-practices-sse"></a>

Los datos en reposo y los datos en tránsito se cifran en Kinesis Data Analytics y este cifrado no se puede deshabilitar. Debe implementar el cifrado del lado del servidor en los recursos dependientes, como los flujos de datos de Kinesis, los flujos de entrega de Firehose y los buckets de Amazon S3. Para obtener más información acerca de la implementación del cifrado del lado del servidor en recursos dependientes, consulte [Protección de los datos](data-protection.md).

## Úselo CloudTrail para monitorear las llamadas a la API
<a name="security-best-practices-cloudtrail"></a>

Kinesis Data Analytics está integrado AWS CloudTrail con un servicio que proporciona un registro de las acciones realizadas por un usuario, un rol o un servicio de Amazon en Kinesis Data Analytics.

Con la información recopilada por CloudTrail, puede determinar la solicitud que se realizó a Kinesis Data Analytics, la dirección IP desde la que se realizó la solicitud, quién la realizó, cuándo se realizó y detalles adicionales.

Para obtener más información, consulte [Registro de llamadas a la API de AWS CloudTrail con](logging-using-cloudtrail.md).