Políticas de AWS AppSync basadas en identidades - AWS AppSync GraphQL

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.

Políticas de AWS AppSync basadas en identidades

De forma predeterminada, los usuarios y roles no tienen permiso para crear, ver ni modificar recursos de AWS AppSync. Tampoco pueden realizar tareas mediante la AWS Management Console, AWS Command Line Interface (AWS CLI) o AWS la API. Un administrador de IAM puedes crear políticas de IAM para conceder permisos a los usuarios para realizar acciones en los recursos que necesitan. A continuación, el administrador puedes añadir las políticas de IAM a roles y los usuarios puedes asumirlos.

Para obtener información acerca de cómo crear una política basada en identidades de IAM mediante el uso de estos documentos de políticas JSON de ejemplo, consulte Creación de políticas de IAM (consola) en la Guía del usuario de IAM.

Para obtener más información sobre las acciones y los tipos de recursos definidos AWS AppSync, incluido el formato ARNs de cada uno de los tipos de recursos, consulte las claves de condición, recursos y acciones de AWS AppSync la Referencia de autorización de servicios.

Para conocer las prácticas recomendadas para crear y configurar políticas de IAM basadas en la identidad, consulte Prácticas recomendadas sobre políticas de IAM.

Para obtener una lista de las políticas de IAM basadas en la identidad, consulte. AWS AppSync AWS políticas gestionadas para AWS AppSync

Mediante la consola de AWS AppSync

Para acceder a la AWS AppSync consola, debe tener un conjunto mínimo de permisos. Estos permisos deben permitirle enumerar y ver detalles sobre los AWS AppSync recursos de su cuenta Cuenta de AWS. Si crea una política basada en identidades que sea más restrictiva 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.

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

Para garantizar que los usuarios y los roles de IAM puedan seguir utilizando la AWS AppSync consola, vincule también la política ReadOnly AWS gestionada AWS AppSync ConsoleAccess o la política gestionada a las entidades. Para obtener más información, consulte Adición de permisos a un usuario en la Guía del usuario de IAM:

Cómo permitir a los usuarios consultar 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 gestionadas e insertadas que se asocian a la identidad de sus usuarios. Esta política incluye permisos para completar esta acción en la consola o mediante programación mediante la AWS CLI API o. 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": "*" } ] }

Acceso a un bucket de Amazon S3

En este ejemplo, quiere conceder a un usuario de IAM de su AWS cuenta acceso a uno de sus buckets de Amazon S3,. examplebucket También desea permitir al usuario añadir, actualizar o eliminar objetos.

Además de conceder los permisos s3:PutObject, s3:GetObject y s3:DeleteObject al usuario, la política también concede los permisos s3:ListAllMyBuckets, s3:GetBucketLocation y s3:ListBucket. Estos son los permisos adicionales que requiere la consola. Las acciones s3:PutObjectAcl y s3:GetObjectAcl también son necesarias para poder copiar, cortar y pegar objetos en la consola. Para ver un tutorial de ejemplo en el que se conceden permisos a los usuarios y se prueban con la consola, consulte Tutorial de ejemplo: uso de las políticas del usuario para controlar el acceso al bucket.

{ "Version":"2012-10-17", "Statement":[ { "Sid":"ListBucketsInConsole", "Effect":"Allow", "Action":[ "s3:ListAllMyBuckets" ], "Resource":"arn:aws:s3:::*" }, { "Sid":"ViewSpecificBucketInfo", "Effect":"Allow", "Action":[ "s3:ListBucket", "s3:GetBucketLocation" ], "Resource":"arn:aws:s3:::examplebucket" }, { "Sid":"ManageBucketContents", "Effect":"Allow", "Action":[ "s3:PutObject", "s3:PutObjectAcl", "s3:GetObject", "s3:GetObjectAcl", "s3:DeleteObject" ], "Resource":"arn:aws:s3:::examplebucket/*" } ] }

Visualización AWS AppSync widgets basada en etiquetas

Puede utilizar las condiciones de su política basada en identidad para controlar el acceso a los recursos de AWS AppSync basados en etiquetas. En este ejemplo, se muestra cómo crear una política que permita visualizar una widget. Sin embargo, los permisos solo se conceden si el Owner de la etiqueta widget 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.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ListWidgetsInConsole", "Effect": "Allow", "Action": "appsync:ListWidgets", "Resource": "*" }, { "Sid": "ViewWidgetIfOwner", "Effect": "Allow", "Action": "appsync:GetWidget", "Resource": "arn:aws:appsync:*:*:widget/*", "Condition": { "StringEquals": {"aws:ResourceTag/Owner": "${aws:username}"} } } ] }

También puede asociar esta política al usuario de IAM en su cuenta. Si un usuario con el nombre richard-roe intenta visualizar un widget de AWS AppSync, el widget se debe etiquetar 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, consulta Elementos de la política de JSON de IAM: Condición en la Guía del usuario de IAM.