Ejemplos de políticas basadas en identidades de Amazon Pinpoint - Amazon Pinpoint

Aviso de fin de soporte: el 30 de octubre de 2026, AWS finalizará el soporte para Amazon Pinpoint. Después del 30 de octubre de 2026, ya no podrá acceder a la consola de Amazon Pinpoint ni a los recursos de Amazon Pinpoint (puntos de conexión, segmentos, campañas, recorridos y análisis). Para obtener más información, consulte Fin de soporte de Amazon Pinpoint. Nota: Este cambio no afecta a las API relacionadas con los SMS, los mensajes de voz, las notificaciones push móviles, la OTP y la validación de números de teléfono, por lo que son compatibles con Mensajería para usuarios finales de AWS.

Ejemplos de políticas basadas en identidades de Amazon Pinpoint

De forma predeterminada, los usuarios y roles no tienen permiso para crear ni modificar los recursos de Amazon Pinpoint. Tampoco pueden realizar tareas mediante la Consola de administración de AWS, la AWS CLI, o una API de AWS. Un administrador de IAM debe crear políticas de IAM que concedan permisos a los usuarios y a los roles para realizar operaciones de API concretas en los recursos necesarios. El administrador debe asociar esas políticas a los usuarios o grupos que necesiten esos permisos.

Para obtener más información acerca de cómo crear una política basada en identidad de IAM con estos documentos de políticas de JSON de ejemplo, consulte Creación de políticas en la pestaña JSON en la Guía del usuario de IAM.

Prácticas recomendadas relativas a políticas

Las políticas basadas en identidades determinan si alguien puede crear, acceder o eliminar los recursos de Amazon Pinpoint de la cuenta. Estas acciones pueden generar costos adicionales para su Cuenta de AWS. Siga estas directrices y recomendaciones al crear o editar políticas basadas en identidades:

  • Comienza con las políticas administradas por AWSy continúa con los permisos de privilegio mínimo: a fin de comenzar a conceder permisos a los usuarios y las cargas de tarea, utiliza las políticas administradas por AWS, que conceden permisos para muchos casos de uso comunes. Están disponibles en su Cuenta de AWS. Se recomienda definir políticas gestionadas por el cliente de AWS específicas para sus casos de uso a fin de reducir aún más los permisos. Con el fin de obtener más información, consulte las políticas administradas por AWS o las políticas administradas por AWS para funciones de tarea en la Guía de usuario de IAM.

  • Aplique permisos de privilegio mínimo: cuando establezca permisos con políticas de IAM, conceda solo los permisos necesarios para realizar una tarea. Para ello, debe definir las acciones que se pueden llevar a cabo en determinados recursos en condiciones específicas, también conocidos como permisos de privilegios mínimos. Con el fin de obtener más información sobre el uso de IAM para aplicar permisos, consulte Políticas y permisos en IAM en la Guía del usuario de IAM.

  • Utilice condiciones en las políticas de IAM para restringir aún más el acceso: puede agregar una condición a sus políticas para limitar el acceso a las acciones y los recursos. Por ejemplo, puedes escribir una condición de políticas para especificar que todas las solicitudes deben enviarse utilizando SSL. También puedes usar condiciones para conceder acceso a acciones de servicios si se emplean a través de un Servicio de AWS determinado como, por ejemplo, CloudFormation. Para obtener más información, consulte Elementos de la política de JSON de IAM: Condición en la Guía del usuario de IAM.

  • Utiliza el analizador de acceso de IAM para validar las políticas de IAM con el fin de garantizar la seguridad y funcionalidad de los permisos: el analizador de acceso de IAM valida políticas nuevas y existentes para que respeten el lenguaje (JSON) de las políticas de IAM y las prácticas recomendadas de IAM. El analizador de acceso de IAM proporciona más de 100 verificaciones de políticas y recomendaciones procesables para ayudar a crear políticas seguras y funcionales. Para más información, consulte Validación de políticas con el Analizador de acceso de IAM en la Guía del usuario de IAM.

  • Solicite la autenticación multifactor (MFA): si se encuentra en una situación en la que necesite usuarios raíz o de IAM en su Cuenta de AWS, active la MFA para obtener una mayor seguridad. Para exigir la MFA cuando se invoquen las operaciones de la API, añada condiciones de MFA a sus políticas. Para más información, consulte Acceso seguro a la API con MFA en la Guía del usuario de IAM.

Para obtener más información sobre las prácticas recomendadas de IAM, consulte Prácticas recomendadas de seguridad en IAM en la Guía del usuario de IAM.

Uso de la consola de Amazon Pinpoint

Para acceder a la consola de Amazon Pinpoint, debe tener un conjunto mínimo de permisos. Estos permisos deben permitirle mostrar y consultar los detalles sobre los recursos de Amazon Pinpoint en la cuenta de AWS. Si crea una política basada en identidad que aplica permisos más restrictivos que el mínimo de permisos necesarios, la consola no funcionará del modo esperado para las entidades (usuarios o roles) que tengan esa política. Para asegurarse de que esas entidades puedan utilizar la consola de Amazon Pinpoint, asocie una política a dichas entidades. Para obtener más información, consulte Adición de permisos a un usuario en la Guía del usuario de IAM:

La siguiente política de ejemplo concede acceso de solo lectura a la consola de Amazon Pinpoint en una región de AWS específica. Incluye acceso de solo lectura a otros servicios de los que depende la consola de Amazon Pinpoint, como Amazon Simple Email Service (Amazon SES), IAM y Amazon Kinesis.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "UseConsole", "Effect": "Allow", "Action": [ "mobiletargeting:Get*", "mobiletargeting:List*" ], "Resource": "arn:aws:mobiletargeting:us-east-1:111122223333:*" }, { "Effect": "Allow", "Action": [ "firehose:ListDeliveryStreams", "iam:ListRoles", "kinesis:ListStreams", "s3:List*", "ses:Describe*", "ses:Get*", "ses:List*", "sns:ListTopics" ], "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": "accountId" } } } ] }

En el ejemplo de política anterior, sustituya region por el nombre de la región de AWS y reemplace accountId por su ID de cuenta de AWS.

No es necesario que conceda permisos mínimos para la consola a los usuarios que solo realizan llamadas a la AWS CLI o a la API de AWS. En su lugar, permite el acceso únicamente a las acciones que coincidan con la operación de API que intentan realizar.

Ejemplo: acceder a un único proyecto de Amazon Pinpoint

También puede crear políticas de solo lectura que proporcionan acceso únicamente a proyectos específicos. La siguiente política de ejemplo permite a los usuarios iniciar sesión en la consola y ver una lista de proyectos. También permite a los usuarios ver información sobre recursos relacionados para otros servicios de AWS de los que depende la consola de Amazon Pinpoint, como Amazon SES, IAM y Amazon Kinesis. Sin embargo, la política solo permite ver a los usuarios información adicional sobre el proyecto que está especificado en la política. Puede modificar esta política para permitir el acceso a proyectos o regiones adicionales de AWS.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "ViewProject", "Effect": "Allow", "Action": "mobiletargeting:GetApps", "Resource": "arn:aws:mobiletargeting:us-east-1:111122223333:*" }, { "Effect": "Allow", "Action": [ "mobiletargeting:Get*", "mobiletargeting:List*" ], "Resource": [ "arn:aws:mobiletargeting:us-east-1:111122223333:apps/projectId", "arn:aws:mobiletargeting:us-east-1:111122223333:apps/projectId/*", "arn:aws:mobiletargeting:us-east-1:111122223333:reports" ] }, { "Effect": "Allow", "Action": [ "ses:Get*", "kinesis:ListStreams", "firehose:ListDeliveryStreams", "iam:ListRoles", "ses:List*", "sns:ListTopics", "ses:Describe*", "s3:List*" ], "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": "accountId" } } } ] }

En el ejemplo anterior, sustituya region por el nombre de una región de AWS, accountId por el ID de la cuenta de AWS y projectId por el ID del proyecto de Amazon Pinpoint al que desea proporcionar acceso.

Del mismo modo, puede crear políticas que concedan a un usuario en la cuenta de AWS acceso de escritura limitado a uno de los proyectos de Amazon Pinpoint, como el proyecto que tiene el ID de proyecto 810c7aab86d42fb2b56c8c966example. En este caso, desea permitir que el usuario vea, agregue y actualice componentes del proyecto, como segmentos y campañas, pero que no elimine ningún componente.

Además de conceder permisos para las acciones mobiletargeting:Get y mobiletargeting:List, cree una política que conceda permisos para las siguientes acciones: mobiletargeting:Create; mobiletargeting:Update; y mobiletargeting:Put. Estos son los permisos adicionales necesarios para crear y administrar la mayoría de los componentes del proyecto. Por ejemplo:

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "LimitedWriteProject", "Effect": "Allow", "Action": "mobiletargeting:GetApps", "Resource": "arn:aws:mobiletargeting:us-east-1:111122223333:*" }, { "Effect": "Allow", "Action": [ "mobiletargeting:Get*", "mobiletargeting:List*", "mobiletargeting:Create*", "mobiletargeting:Update*", "mobiletargeting:Put*" ], "Resource": [ "arn:aws:mobiletargeting:us-east-1:111122223333:apps/810c7aab86d42fb2b56c8c966example", "arn:aws:mobiletargeting:us-east-1:111122223333:apps/810c7aab86d42fb2b56c8c966example/*", "arn:aws:mobiletargeting:us-east-1:111122223333:reports" ] }, { "Effect": "Allow", "Action": [ "ses:Get*", "kinesis:ListStreams", "firehose:ListDeliveryStreams", "iam:ListRoles", "ses:List*", "sns:ListTopics", "ses:Describe*", "s3:List*" ], "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333" } } } ] }

Ejemplo: visualización de recursos de Amazon Pinpoint en función de las etiquetas

Puede utilizar las condiciones de una política basada en la identidad para controlar el acceso a los recursos de Amazon Pinpoint basados en etiquetas. Esta política de ejemplo muestra cómo puede crear este tipo de política para permitir la consulta de recursos de Amazon Pinpoint. Sin embargo, los permisos solo se conceden si la etiqueta de recurso Owner tiene el valor del nombre de usuario de dicho usuario. Esta política también proporciona los permisos necesarios para llevar a cabo esta acción en la consola.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "ListResources", "Effect": "Allow", "Action": [ "mobiletargeting:Get*", "mobiletargeting:List*" ], "Resource": "*" }, { "Sid": "ViewResourceIfOwner", "Effect": "Allow", "Action": [ "mobiletargeting:Get*", "mobiletargeting:List*" ], "Resource": "arn:aws:mobiletargeting:*:*:*", "Condition": { "StringEquals": { "aws:ResourceTag/Owner": "userName" }, "StringEquals": { "aws:SourceAccount": "111122223333" }, "ArnLike": { "aws:SourceArn": "arn:aws:mobiletargeting:us-east-1:111122223333:*" } } } ] }

También puede asociar este tipo de política a los usuarios de de su cuenta. Si un usuario llamado richard-roe intenta ver un recurso de Amazon Pinpoint, el recurso debe estar etiquetado como Owner=richard-roe o owner=richard-roe. De lo contrario, se le deniega el acceso. La clave de la etiqueta de condición Owner coincide con los nombres de las claves de condición Owner y owner porque no distinguen entre mayúsculas y minúsculas. Para obtener más información, consulte Elementos de la política de JSON de IAM: Condición en la Guía del usuario de IAM.

Ejemplo: permitir que los usuarios vean sus propios permisos

En este ejemplo, se muestra cómo podría crear una política que permita a los usuarios de IAM ver las políticas administradas e insertadas que se asocian a la identidad de sus usuarios. Esta política incluye permisos para llevar a cabo esta acción en la consola o mediante programación con la AWS CLI o la API de AWS.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ViewOwnUserInfo", "Effect": "Allow", "Action": [ "iam:GetUserPolicy", "iam:ListGroupsForUser", "iam:ListAttachedUserPolicies", "iam:ListUserPolicies", "iam:GetUser" ], "Resource": ["arn:aws:iam::*:user/${aws:username}"] }, { "Sid": "NavigateInConsole", "Effect": "Allow", "Action": [ "iam:GetGroupPolicy", "iam:GetPolicyVersion", "iam:GetPolicy", "iam:ListAttachedGroupPolicies", "iam:ListGroupPolicies", "iam:ListPolicyVersions", "iam:ListPolicies", "iam:ListUsers" ], "Resource": "*" } ] }

Ejemplos: proporcionar acceso a acciones de la API de Amazon Pinpoint

Esta sección proporciona políticas de ejemplo que permiten el acceso a las características que están disponibles desde la API de Amazon Pinpoint, que es la API principal de Amazon Pinpoint. Para obtener más información sobre esta API, consulte la referencia de la API de Amazon Pinpoint.

Acceso de solo lectura

La siguiente política de ejemplo permite acceso de solo lectura a todos los recursos de la cuenta de Amazon Pinpoint en una región de AWS específica.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "ViewAllResources", "Effect": "Allow", "Action": [ "mobiletargeting:Get*", "mobiletargeting:List*" ], "Resource": "arn:aws:mobiletargeting:us-east-1:111122223333:*" } ] }

En el ejemplo anterior, sustituya region por el nombre de la región de AWS y reemplace accountId por su ID de cuenta de AWS.

Acceso de administrador

La política de ejemplo siguiente permite el acceso completo a todas las acciones y recursos de Amazon Pinpoint en la cuenta de Amazon Pinpoint:

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "FullAccess", "Effect": "Allow", "Action": [ "mobiletargeting:*" ], "Resource": "arn:aws:mobiletargeting:us-east-1:111122223333:*" } ] }

En el ejemplo anterior, sustituya accountId por el ID de la cuenta de AWS.

Ejemplos: proporcionar acceso a acciones de la API de SMS y voz de Amazon Pinpoint

En esta sección se proporcionan políticas de ejemplo que permiten el acceso a las características que están disponibles en la API de SMS y voz de Amazon Pinpoint. Esta es una API complementaria que proporciona opciones avanzadas para usar y administrar los canales de SMS y voz en Amazon Pinpoint. Para obtener más información sobre esta API, consulte la Referencia de la API de SMS y voz de Amazon Pinpoint.

Acceso de solo lectura

La política de ejemplo siguiente permite el acceso de solo lectura a todas las acciones y recursos de la API de SMS y voz de Amazon Pinpoint en la cuenta de AWS:

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "SMSVoiceReadOnly", "Effect": "Allow", "Action": [ "sms-voice:Get*", "sms-voice:List*" ], "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333" }, "ArnLike": { "aws:SourceArn": "arn:aws:sms-voice:us-east-1:111122223333:*" } } } ] }

Acceso de administrador

La política de ejemplo siguiente permite el acceso completo a todas las acciones y recursos de la API de SMS y voz de Amazon Pinpoint en la cuenta de AWS:

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "SMSVoiceFullAccess", "Effect": "Allow", "Action": [ "sms-voice:*" ], "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333" }, "ArnLike": { "aws:SourceArn": "arn:aws:sms-voice:us-east-1:111122223333:*" } } } ] }

Ejemplo: restringir el acceso de un proyecto de Amazon Pinpoint a direcciones IP específicas

La política de ejemplo siguiente concede permisos a cualquier usuario para realizar cualquier acción de Amazon Pinpoint en un proyecto especificado (projectId). Sin embargo, la solicitud debe proceder del intervalo de direcciones IP especificado en la condición.

La condición de esta instrucción identifica el intervalo 54.240.143.* de direcciones permitidas en formato de Protocolo de Internet versión 4 (IPv4), con una excepción: 54.240.143.188. El bloque Condition utiliza las condiciones IpAddress y NotIpAddress, y la clave de condición aws:SourceIp, que es una clave de condición general de AWS. Para obtener más información acerca de estas claves de condición, consulte Especificación de condiciones en una política en la Guía del usuario de IAM. Los valores de IPv4 aws:SourceIp utilizan la notación CIDR estándar. Para obtener más información, consulte Operadores de condición de dirección IP en la Guía del usuario de IAM.

JSON
{ "Version":"2012-10-17", "Id":"AMZPinpointPolicyId1", "Statement":[ { "Sid":"IPAllow", "Effect":"Allow", "Principal":"*", "Action":"mobiletargeting:*", "Resource":[ "arn:aws:mobiletargeting:us-east-1:111122223333:apps/projectId", "arn:aws:mobiletargeting:us-east-1:111122223333:apps/projectId/*" ], "Condition":{ "IpAddress":{ "aws:SourceIp":"54.240.143.0/24" }, "NotIpAddress":{ "aws:SourceIp":"54.240.143.188/32" } } } ] }

Ejemplo: restringir el acceso de Amazon Pinpoint en función de las etiquetas

La política de ejemplo siguiente concede permisos para realizar cualquier acción de Amazon Pinpoint en un proyecto especificado (projectId). Sin embargo, los permisos solo se conceden si la solicitud proviene de un usuario cuyo nombre es un valor en la etiqueta de recurso Owner del proyecto, como se especifica en la condición.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "ModifyResourceIfOwner", "Effect": "Allow", "Action": "mobiletargeting:*", "Resource": [ "arn:aws:mobiletargeting:us-east-1:111122223333:apps/projectId", "arn:aws:mobiletargeting:us-east-1:111122223333:apps/projectId/*" ], "Condition": { "StringEquals": { "aws:ResourceTag/Owner": "userName" } } } ] }

Ejemplo: permitir que Amazon Pinpoint envíe correos electrónicos con identidades que se verificaron en Amazon SES

Cuando verifique la identidad de un correo electrónico (por ejemplo, una dirección de correo electrónico o un dominio) a través de la consola de Amazon Pinpoint, esa identidad se configura automáticamente para que Amazon Pinpoint y Amazon SES puedan utilizarla. Sin embargo, si verifica la identidad de un correo electrónico a través de Amazon SES y quiere usar esa identidad con Amazon Pinpoint, debe aplicar una política a esa identidad.

El siguiente ejemplo de política adjudica a Amazon Pinpoint permiso para enviar correos electrónicos con una identidad de correo electrónico verificada a través de Amazon SES.

JSON
{ "Version":"2012-10-17", "Statement":[ { "Sid":"PinpointEmail", "Effect":"Allow", "Principal":{ "Service":"pinpoint.amazonaws.com" }, "Action":"ses:*", "Resource":"arn:aws:ses:us-east-1:111122223333:identity/emailId", "Condition":{ "StringEquals":{ "aws:SourceAccount":"111122223333" }, "ArnLike":{ "aws:SourceArn":"arn:aws:mobiletargeting:us-east-1:111122223333:apps/*" } } } ] }

Si usa Amazon Pinpoint en la región de AWS GovCloud (Oeste de EE. UU.), utilice el siguiente ejemplo de política en su lugar:

JSON
{ "Version":"2012-10-17", "Statement":[ { "Sid":"PinpointEmail", "Effect":"Allow", "Principal":{ "Service":"pinpoint.amazonaws.com" }, "Action":"ses:*", "Resource":"arn:aws-us-gov:ses:us-gov-west-1:111122223333:identity/emailId", "Condition":{ "StringEquals":{ "aws:SourceAccount":"111122223333" }, "ArnLike":{ "aws:SourceArn":"arn:aws-us-gov:mobiletargeting:us-gov-west-1:111122223333:apps/*" } } } ] }