

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.

# Administración del acceso a Amazon Q Developer con políticas de IAM
<a name="security_iam_manage-access-with-policies"></a>

**nota**  
La información de esta página se refiere al acceso a Amazon Q Developer. Para obtener más información sobre la administración del acceso a Amazon Q Business, consulte [Identity-based policy examples for Amazon Q Business](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/security_iam_id-based-policy-examples.html) en la *Guía del usuario de Amazon Q Business*.   
Las políticas y los ejemplos de este tema son específicos de Amazon Q en el Consola de administración de AWS AWS sitio web y en las aplicaciones de chat. AWS Console Mobile Application AWS Documentation Es posible que otros servicios integrados con Amazon Q requieran políticas o configuraciones diferentes. Los usuarios finales de Amazon Q de terceros no IDEs están obligados a utilizar las políticas de IAM. Para obtener más información, consulte la documentación de los servicios que contienen una característica o integración de Amazon Q.

De forma predeterminada, los usuarios y los roles no tienen permiso para utilizar Amazon Q. Los administradores de IAM pueden administrar el acceso a Amazon Q Developer y sus características mediante la concesión de permisos a las identidades de IAM.

La forma más rápida para que un administrador conceda acceso a los usuarios es mediante una política AWS gestionada. La política `AmazonQFullAccess` se puede asociar a las identidades de IAM para conceder el acceso total a Amazon Q Developer y sus características. Para obtener más información sobre esta política, consulte [AWS políticas gestionadas para Amazon Q Developer](managed-policy.md).

Para administrar acciones específicas que las identidades de IAM pueden realizar con Amazon Q Developer, los administradores pueden crear políticas personalizadas que definan los permisos que tiene un usuario, grupo o rol. También puedes usar las políticas de control de servicios (SCPs) para controlar qué funciones de Amazon Q están disponibles en tu organización.

Para ver una lista de todos los permisos de Amazon Q que puede controlar con políticas, consulte [Referencia de permisos de Amazon Q Developer](security_iam_permissions.md).

**Topics**
+ [Prácticas recomendadas sobre las políticas](#security_iam_policy-best-practices)
+ [Asignar permisos](#setting-up-assign-permissions)
+ [Gestione el acceso con políticas de control de servicios (SCPs)](#service-control-policies)
+ [Ejemplos de políticas basadas en identidad para Amazon Q Developer](security_iam_id-based-policy-examples.md)

## Prácticas recomendadas sobre las políticas
<a name="security_iam_policy-best-practices"></a>

Las políticas basadas en identidad determinan si alguien puede crear, acceder o eliminar los recursos de Amazon Q Developer 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:
+ **Comience con las políticas AWS administradas y avance hacia los permisos con privilegios mínimos**: para empezar a conceder permisos a sus usuarios y cargas de trabajo, utilice las *políticas AWS administradas* que otorgan permisos para muchos casos de uso comunes. Están disponibles en su. Cuenta de AWS Le recomendamos que reduzca aún más los permisos definiendo políticas administradas por el AWS cliente que sean específicas para sus casos de uso. Con el fin de obtener más información, consulte las [políticas administradas por AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) o las [políticas administradas por AWS para funciones de tarea](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html) 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](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) 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, puede escribir una condición de políticas para especificar que todas las solicitudes deben enviarse utilizando SSL. También puedes usar condiciones para conceder el acceso a las acciones del servicio si se utilizan a través de una acción específica Servicio de AWS, por ejemplo CloudFormation. Para obtener más información, consulte [Elementos de la política de JSON de IAM: Condición](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) 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](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-validation.html) en la *Guía del usuario de IAM*.
+ **Requerir autenticación multifactor (MFA**): si tiene un escenario que requiere usuarios de IAM o un usuario raíz en Cuenta de AWS su cuenta, active la MFA para 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](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_configure-api-require.html) 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](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) en la *Guía del usuario de IAM*.

## Asignar permisos
<a name="setting-up-assign-permissions"></a>

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*.

## Gestione el acceso con políticas de control de servicios (SCPs)
<a name="service-control-policies"></a>

Las políticas de control de servicios (SCPs) son un tipo de política organizacional que puede usar para administrar los permisos en su organización. Puede controlar qué características de Amazon Q Developer están disponibles en su organización creando una SCP que especifique los permisos para algunas o todas las acciones de Amazon Q.

Para obtener más información sobre cómo SCPs controlar el acceso en su organización, consulte [Crear, actualizar y eliminar políticas de control de servicios y Adjuntar y separar políticas](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps_create.html) [de control de servicios en la Guía del AWS Organizations](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps_attach.html) *usuario*.

### SCP de ejemplo: denegar el acceso a Amazon Q fuera de las regiones de la UE
<a name="example-scp-deny-q-outside-eu"></a>

El siguiente SCP deniega el acceso a cualquier uso de Amazon Q Developer fuera de la región Europa (Fráncfort) (eu-central-1).

**nota**  
El prefijo `codewhisperer` es un nombre heredado de un servicio que se fusionó con Amazon Q Developer. Para obtener más información, consulte [Cambio de nombres de Amazon Q Developer: resumen de cambios](service-rename.md). 

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "DenyAmazonQDeveloperOutsideEU",
      "Effect": "Deny",
      "Action": [
         "codewhisperer:GenerateRecommendations",
         "q:SendMessage",
         "q:GenerateCodeFromCommands",
         "sqlworkbench:GetQSqlRecommendations"
         ],
      "Resource": "*",
      "Condition": {
        "StringNotEquals": 
        {"aws:RequestedRegion": [ "eu-central-1"] }
      }
    }
  ]
}
```

------

### SCP de ejemplo: denegar el acceso a Amazon Q
<a name="example-scp-deny-q-access"></a>

El siguiente SCP deniega el acceso a Amazon Q Developer. 

**nota**  
Al denegar el acceso a Amazon Q no se inhabilitará el icono o el panel de chat de Amazon Q en la AWS consola, el AWS sitio web, las páginas de AWS documentación o AWS Console Mobile Application. 

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "DenyAmazonQFullAccess",
      "Effect": "Deny",
      "Action": [
        "q:*"
      ],
      "Resource": "*"
    }
  ]
}
```

------

# Ejemplos de políticas basadas en identidad para Amazon Q Developer
<a name="security_iam_id-based-policy-examples"></a>

Las siguientes políticas de IAM de ejemplo controlan los permisos para realizar diversas acciones de Amazon Q Developer. Úselas para permitir o denegar el acceso a Amazon Q Developer a sus usuarios, roles o grupos.

**nota**  
Los siguientes ejemplos de políticas conceden permisos para las características de Amazon Q Developer, pero es posible que los usuarios necesiten permisos adicionales para acceder a Amazon Q con una suscripción a Amazon Q Developer Pro. Para obtener más información, consulte [Permiso para que los usuarios accedan a Amazon Q con una suscripción a Amazon Q Developer Pro](id-based-policy-examples-users.md#id-based-policy-examples-allow-subs-access).

Puede usar estas políticas tal y como están escritas, o bien puede añadir permisos para las características individuales de Amazon Q que quiera usar. Para obtener más información sobre la configuración de los permisos de IAM con Amazon Q, consulte [Administración del acceso a Amazon Q Developer con políticas de IAM](security_iam_manage-access-with-policies.md).

Para obtener una lista de todos los permisos de Amazon Q que puede controlar con políticas, consulte [Referencia de permisos de Amazon Q Developer](security_iam_permissions.md).

**Topics**
+ [Permisos de administrador](id-based-policy-examples-admins.md)
+ [Permisos de usuario](id-based-policy-examples-users.md)

# Permisos de administrador
<a name="id-based-policy-examples-admins"></a>

Las siguientes políticas permiten a los administradores de Amazon Q Developer realizar tareas administrativas en la consola de administración de suscripciones de Amazon Q y en la consola de Amazon Q Developer.

Para conocer las políticas que permiten el uso de las características de Amazon Q Developer, consulte [Permisos de usuario](id-based-policy-examples-users.md).

## Permiso a los administradores para utilizar la consola de Amazon Q
<a name="q-admin-setup-admin-users-sub"></a>

En la siguiente política de ejemplo se conceden permisos a un usuario para realizar acciones en la consola de Amazon Q. La consola Amazon Q es donde se configura la integración de Amazon Q con AWS IAM Identity Center y AWS Organizations. La mayoría de las demás tareas relacionadas con Amazon Q Developer deben realizarse en la consola de Amazon Q Developer. Para obtener más información, consulte [Permiso a los administradores para utilizar la consola de Amazon Q Developer](#q-admin-setup-admin-users).

**nota**  
El prefijo `codewhisperer` es un nombre heredado de un servicio que se fusionó con Amazon Q Developer. Para obtener más información, consulte [Cambio de nombres de Amazon Q Developer: resumen de cambios](service-rename.md). 

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Effect":"Allow",
         "Action":[
            "organizations:ListAWSServiceAccessForOrganization",
            "organizations:DisableAWSServiceAccess",
            "organizations:EnableAWSServiceAccess",
            "organizations:DescribeOrganization"
         ],
         "Resource":[
            "*"
         ]
      },
      {
         "Effect":"Allow",
         "Action":[
            "sso:ListApplications",
            "sso:ListInstances",
            "sso:DescribeRegisteredRegions",
            "sso:GetSharedSsoConfiguration",
            "sso:DescribeInstance",
            "sso:CreateInstance",
            "sso:CreateApplication",
            "sso:PutApplicationAuthenticationMethod",
            "sso:PutApplicationAssignmentConfiguration",
            "sso:PutApplicationGrant",
            "sso:PutApplicationAccessScope",
            "sso:DescribeApplication",
            "sso:DeleteApplication",
            "sso:GetSSOStatus",
            "sso:CreateApplicationAssignment",
            "sso:DeleteApplicationAssignment",
            "sso:UpdateApplication"
         ],
         "Resource":[
            "*"
         ]
      },
      {
         "Effect":"Allow",
         "Action":[
            "sso-directory:DescribeUsers",
            "sso-directory:DescribeGroups",
            "sso-directory:SearchGroups",
            "sso-directory:SearchUsers",
            "sso-directory:DescribeGroup",
            "sso-directory:DescribeUser",
            "sso-directory:DescribeDirectory"
         ],
         "Resource":[
            "*"
         ]
      },
      {
         "Effect":"Allow",
         "Action":[
            "signin:ListTrustedIdentityPropagationApplicationsForConsole",
            "signin:CreateTrustedIdentityPropagationApplicationForConsole"
         ],
         "Resource":[
            "*"
         ]
      },
      {
         "Effect":"Allow",
         "Action":[
            "codewhisperer:ListProfiles",
            "codewhisperer:CreateProfile",
            "codewhisperer:DeleteProfile"
         ],
         "Resource":[
            "*"
         ]
      },
      {
         "Effect":"Allow",
         "Action":[
            "user-subscriptions:ListClaims",
            "user-subscriptions:ListUserSubscriptions",
            "user-subscriptions:CreateClaim",
            "user-subscriptions:DeleteClaim",
            "user-subscriptions:UpdateClaim"
         ],
         "Resource":[
            "*"
         ]
      },
      {
         "Effect":"Allow",
         "Action":[
            "q:CreateAssignment",
            "q:DeleteAssignment"
         ],
         "Resource":[
            "*"
         ]
      },
      {
         "Effect":"Allow",
         "Action":[
            "iam:CreateServiceLinkedRole"
         ],
         "Resource":[
            "arn:aws:iam::*:role/aws-service-role/user-subscriptions.amazonaws.com/AWSServiceRoleForUserSubscriptions"
         ]
      }
   ]
}
```

------

## Permiso a los administradores para utilizar la consola de Amazon Q Developer
<a name="q-admin-setup-admin-users"></a>

En la siguiente política de ejemplo se conceden permisos a un usuario para obtener acceso a la consola de Amazon Q Developer. En la consola de Amazon Q Developer, los administradores realizan la mayoría de las tareas de configuración relacionadas con Amazon Q Developer, incluidas las tareas relacionadas con las suscripciones, las referencias de código, las personalizaciones y los complementos de chat. Esta política también incluye permisos para crear y configurar claves de KMS administradas por el cliente. 

Hay algunas tareas de Amazon Q Developer Pro que los administradores deben completar a través de la consola de Amazon Q (en lugar de la consola de Amazon Q Developer). Para obtener más información, consulte [Permiso a los administradores para utilizar la consola de Amazon Q](#q-admin-setup-admin-users-sub).

**nota**  
Para crear personalizaciones o complementos, el administrador de Amazon Q Developer Pro necesitará permisos adicionales.   
Para conocer los permisos necesarios para las personalizaciones, consulta la sección Requisitos previos para las personalizaciones.
Para obtener más información sobre los permisos necesarios para los complementos, consulte [Permiso a los administradores para configurar complementos](#id-based-policy-examples-admin-plugins).

Necesitará una de estas dos políticas para usar la consola de Amazon Q Developer. La política que necesitas depende de si estás configurando Amazon Q Developer por primera vez o si estás configurando un CodeWhisperer perfil de Amazon antiguo. 

**nota**  
El prefijo `codewhisperer` es un nombre heredado de un servicio que se fusionó con Amazon Q Developer. Para obtener más información, consulte [Cambio de nombres de Amazon Q Developer: resumen de cambios](service-rename.md). 

En el caso de nuevos administradores de Amazon Q Developer, utilice la siguiente política: 

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "sso:ListInstances",
        "sso:CreateInstance",
        "sso:CreateApplication",
        "sso:PutApplicationAuthenticationMethod",
        "sso:PutApplicationGrant",
        "sso:PutApplicationAssignmentConfiguration",
        "sso:ListApplications",
        "sso:GetSharedSsoConfiguration",
        "sso:DescribeInstance",
        "sso:PutApplicationAccessScope",
        "sso:DescribeApplication",
        "sso:DeleteApplication",
        "sso:CreateApplicationAssignment",
        "sso:DeleteApplicationAssignment",
        "sso:UpdateApplication",
        "sso:DescribeRegisteredRegions",
        "sso:GetSSOStatus"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "iam:ListRoles"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "identitystore:DescribeUser"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "sso-directory:GetUserPoolInfo",
        "sso-directory:DescribeUsers",
        "sso-directory:DescribeGroups",
        "sso-directory:SearchGroups",
        "sso-directory:SearchUsers",
        "sso-directory:DescribeDirectory"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "signin:ListTrustedIdentityPropagationApplicationsForConsole",
        "signin:CreateTrustedIdentityPropagationApplicationForConsole"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "user-subscriptions:ListClaims",
        "user-subscriptions:ListApplicationClaims",
        "user-subscriptions:ListUserSubscriptions",
        "user-subscriptions:CreateClaim",
        "user-subscriptions:DeleteClaim",
        "user-subscriptions:UpdateClaim"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "organizations:DescribeAccount",
        "organizations:DescribeOrganization",
        "organizations:ListAWSServiceAccessForOrganization",
        "organizations:DisableAWSServiceAccess",
        "organizations:EnableAWSServiceAccess"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "kms:ListAliases",
        "kms:CreateGrant",
        "kms:Encrypt",
        "kms:Decrypt",
        "kms:GenerateDataKey*",
        "kms:RetireGrant",
        "kms:DescribeKey"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "codeguru-security:UpdateAccountConfiguration"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "iam:CreateServiceLinkedRole"
      ],
      "Resource": [
        "arn:aws:iam::*:role/aws-service-role/q.amazonaws.com/AWSServiceRoleForAmazonQDeveloper"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "codewhisperer:UpdateProfile",
        "codewhisperer:ListProfiles",
        "codewhisperer:TagResource",
        "codewhisperer:UnTagResource",
        "codewhisperer:ListTagsForResource",
        "codewhisperer:CreateProfile"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "q:ListDashboardMetrics", 
        "q:CreateAssignment", 
        "q:DeleteAssignment"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "cloudwatch:GetMetricData", 
        "cloudwatch:ListMetrics"
      ],
      "Resource": [
        "*"
      ]
    }
  ]
}
```

En el caso de CodeWhisperer los perfiles de Amazon antiguos, la siguiente política permitirá a un director de IAM administrar una CodeWhisperer aplicación.

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "sso-directory:SearchUsers",
        "sso-directory:SearchGroups",
        "sso-directory:GetUserPoolInfo",
        "sso-directory:DescribeDirectory",
        "sso-directory:ListMembersInGroup"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "iam:ListRoles"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "pricing:GetProducts"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "sso:AssociateProfile",
        "sso:DisassociateProfile",
        "sso:GetProfile",
        "sso:ListProfiles",
        "sso:ListApplicationInstances",
        "sso:GetApplicationInstance",
        "sso:CreateManagedApplicationInstance",
        "sso:GetManagedApplicationInstance",
        "sso:ListProfileAssociations",
        "sso:GetSharedSsoConfiguration",
        "sso:ListDirectoryAssociations",
        "sso:DescribeRegisteredRegions",
        "sso:GetSsoConfiguration",
        "sso:GetSSOStatus"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "identitystore:ListUsers",
        "identitystore:ListGroups"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "organizations:DescribeAccount",
        "organizations:DescribeOrganization"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "kms:ListAliases",
        "kms:CreateGrant",
        "kms:Encrypt",
        "kms:Decrypt",
        "kms:GenerateDataKey*",
        "kms:RetireGrant",
        "kms:DescribeKey"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "codeguru-security:UpdateAccountConfiguration"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "iam:CreateServiceLinkedRole"
      ],
      "Resource": [
        "arn:aws:iam::*:role/aws-service-role/q.amazonaws.com/AWSServiceRoleForAmazonQDeveloper"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "codewhisperer:UpdateProfile",
        "codewhisperer:ListProfiles",
        "codewhisperer:TagResource",
        "codewhisperer:UnTagResource",
        "codewhisperer:ListTagsForResource",
        "codewhisperer:CreateProfile"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "q:ListDashboardMetrics",
        "cloudwatch:GetMetricData",
        "cloudwatch:ListMetrics"
      ],
      "Resource": [
        "*"
      ]
    }
  ]
}
```

## Permiso a los administradores para crear personalizaciones
<a name="id-based-policy-examples-allow-customizations"></a>

La siguiente política concede a los administradores permiso para crear y administrar personalizaciones en Amazon Q Developer. 

Para configurar las personalizaciones en la consola de Amazon Q Developer, el administrador de Amazon Q Developer necesitará acceso a la consola de Amazon Q Developer. Para obtener más información, consulte [Permiso a los administradores para utilizar la consola de Amazon Q Developer](#q-admin-setup-admin-users).

**nota**  
En la siguiente política, el servicio de IAM informará de los errores en los permisos `codeconnections:ListOwners` y `codeconnections:ListRepositories`. Cree la política con estos permisos de todos modos. Los permisos son obligatorios y la política funcionará a pesar de los errores.

**nota**  
El prefijo `codewhisperer` es un nombre heredado de un servicio que se fusionó con Amazon Q Developer. Para obtener más información, consulte [Cambio de nombres de Amazon Q Developer: resumen de cambios](service-rename.md). 

En el siguiente ejemplo, sustitúyalo *account number* por tu número de AWS cuenta.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "sso-directory:DescribeUsers"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "kms:CreateGrant"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "codewhisperer:CreateCustomization",
                "codewhisperer:DeleteCustomization",
                "codewhisperer:ListCustomizations",
                "codewhisperer:ListCustomizationVersions",
                "codewhisperer:UpdateCustomization",
                "codewhisperer:GetCustomization",
                "codewhisperer:ListCustomizationPermissions",
                "codewhisperer:AssociateCustomizationPermission",
                "codewhisperer:DisassociateCustomizationPermission"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "codeconnections:ListOwners",
                "codeconnections:ListRepositories",
                "codeconnections:ListConnections",
                "codeconnections:GetConnection"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": "codeconnections:UseConnection",
            "Resource": [
                "*"
            ],
            "Condition": {
                "ForAnyValue:StringEquals": {
                    "codeconnections:ProviderAction": [
                        "GitPull",
                        "ListRepositories",
                        "ListOwners"
                    ]
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject*",
                "s3:GetBucket*",
                "s3:ListBucket*"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}
```

------

## Permiso a los administradores para configurar complementos
<a name="id-based-policy-examples-admin-plugins"></a>

En la siguiente política de ejemplo se conceden permisos a los administradores para ver y configurar complementos de terceros en la consola de Amazon Q Developer. 

**nota**  
Para obtener acceso a la consola de Amazon Q Developer, los administradores también necesitan los permisos definidos en [Permiso a los administradores para utilizar la consola de Amazon Q Developer](#q-admin-setup-admin-users).

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "q:CreatePlugin",
        "q:GetPlugin",
        "q:DeletePlugin",
        "q:ListPlugins",
        "q:ListPluginProviders",
        "q:UpdatePlugin",
        "q:CreateAuthGrant",
        "q:CreateOAuthAppConnection",
        "q:SendEvent",
        "q:UpdateAuthGrant",
        "q:UpdateOAuthAppConnection",
        "q:UpdatePlugin",
        "iam:CreateRole",
        "secretsmanager:CreateSecret"
      ],
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "iam:PassRole"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "iam:PassedToService": [
            "q.amazonaws.com"
          ]
        }
      }
    }
  ]
}
```

------

## Permiso a los administradores para configurar complementos de un proveedor
<a name="id-based-policy-examples-admin-plugins-one-provider"></a>

En la siguiente política de ejemplo se concede permiso a un administrador para configurar complementos de un proveedor, especificado por el ARN del complemento con el nombre del proveedor del complemento y un carácter comodín (`*`). Para usar esta política, sustituya lo siguiente en el ARN del campo Resource:
+ *AWS-region*— El Región de AWS lugar donde se creará el complemento.
+ *AWS-account-ID*— El ID de AWS cuenta de la cuenta en la que está configurado el complemento.
+ *plugin-provider*— El nombre del proveedor del plugin cuya configuración quieres permitir, por ejemplo `CloudZero``Datadog`, o`Wiz`. El campo del proveedor del complemento distingue entre mayúsculas y minúsculas.

**nota**  
Para obtener acceso a la consola de Amazon Q Developer, los administradores también necesitan los permisos definidos en [Permiso a los administradores para utilizar la consola de Amazon Q Developer](#q-admin-setup-admin-users).

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowCreateProviderPlugin",
            "Effect": "Allow",
            "Action": [
                "q:CreatePlugin",
                "q:GetPlugin",
                "q:DeletePlugin"
            ],
            "Resource": "arn:aws:qdeveloper:us-east-1:111122223333:plugin/plugin-provider/*"
        }
    ]
}
```

------

## Permiso para migran más de una red o más de una subred
<a name="id-based-policy-examples-ezrc"></a>

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
            "Sid": "MGNNetworkMigrationAnalyzerEC2ResourceSgTag",
            "Effect": "Allow",
            "Action": [
                "ec2:CreateSecurityGroup"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1:111122223333:vpc/*"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/CreatedBy": "AWSApplicationMigrationService"
                }
            }
        },
        {
            "Sid": "MGNNetworkMigrationAnalyzerEC2RequestSgTag",
            "Effect": "Allow",
            "Action": [
                "ec2:CreateSecurityGroup"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1:111122223333:security-group/*",
                "arn:aws:ec2:us-east-1:111122223333:security-group-rule/*"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/CreatedBy": "AWSApplicationMigrationService"
                }
            }
        },

        {
            "Sid": "MGNNetworkMigrationAnalyzerEC2SecurityGroupTags",
            "Effect": "Allow",
            "Action": [
                "ec2:CreateTags"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1:111122223333:security-group/*",
                "arn:aws:ec2:us-east-1:111122223333:security-group-rule/*",
                "arn:aws:ec2:us-east-1:111122223333:network-interface/*",
                "arn:aws:ec2:us-east-1:111122223333:network-insights-path/*",
                "arn:aws:ec2:us-east-1:111122223333:network-insights-analysis/*"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/CreatedBy": "AWSApplicationMigrationService",
                    "ec2:CreateAction": [
                        "CreateSecurityGroup",
                        "CreateNetworkInterface",
                        "CreateNetworkInsightsPath",
                        "StartNetworkInsightsAnalysis"
                    ]
                }
            }
        },
        {
            "Sid": "MGNNetworkMigrationAnalyzerENIResourceTag",
            "Effect": "Allow",
            "Action": [
                "ec2:CreateNetworkInterface"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1:111122223333:subnet/*"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/CreatedBy": "AWSApplicationMigrationService"
                }
            }
        },
        {
            "Sid": "MGNNetworkMigrationAnalyzerENISG",
            "Effect": "Allow",
            "Action": [
                "ec2:CreateNetworkInterface"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1:111122223333:security-group/*"
            ]
        },
        {
            "Sid": "MGNNetworkMigrationAnalyzerEC2ResourceTag",
            "Effect": "Allow",
            "Action": [
                "ec2:CreateNetworkInsightsPath"
            ],
            "Resource": [
                "*"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/CreatedBy": "AWSApplicationMigrationService"
                }
            }
        },
        {
            "Sid": "MGNNetworkMigAnalyzerEC2RequestTag",
            "Effect": "Allow",
            "Action": [
                "ec2:CreateNetworkInterface",
                "ec2:CreateNetworkInsightsPath",
                "ec2:StartNetworkInsightsAnalysis"
            ],
            "Resource": [
                "*"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/CreatedBy": "AWSApplicationMigrationService"
                }
            }
        },
        {
            "Sid": "MGNNetworkMigrationAnalyzeNetwork",
            "Effect": "Allow",
            "Action": [
                "ec2:StartNetworkInsightsAnalysis"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}
```

------

# Permisos de usuario
<a name="id-based-policy-examples-users"></a>

Las siguientes políticas permiten a los usuarios acceder a las funciones de Amazon Q Developer en AWS aplicaciones y sitios web, incluidos el Consola de administración de AWS AWS Documentation sitio y el sitio. AWS Console Mobile Application

Para ver las políticas que permiten el acceso administrativo a Amazon Q Developer, consulte [Permisos de administrador](id-based-policy-examples-admins.md). 

**nota**  
Los usuarios que acceden a [Amazon Q en el IDE](q-in-IDE.md) o a [Amazon Q en la línea de comandos](command-line.md) no necesitan permisos de IAM. 

## Permiso para que los usuarios accedan a Amazon Q con una suscripción a Amazon Q Developer Pro
<a name="id-based-policy-examples-allow-subs-access"></a>

El siguiente ejemplo de política otorga permiso para usar Amazon Q con una suscripción a Amazon Q Developer Pro. Sin estos permisos, los usuarios solo pueden acceder a la capa gratuita de Amazon Q. Para chatear con Amazon Q o utilizar otras características de Amazon Q, los usuarios necesitan permisos adicionales, como los que se conceden en las políticas de ejemplo de esta sección.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowGetIdentity",
            "Effect": "Allow",
            "Action": [
                "q:GetIdentityMetaData"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AllowSetTrustedIdentity",
            "Effect": "Allow",
            "Action": [
                "sts:SetContext"
            ],
            "Resource": "arn:aws:sts::*:self"
        }
    ]
}
```

------

## Permiso para que Amazon Q obtenga acceso a claves administradas por el cliente
<a name="id-based-policy-examples-allow-q-access-encryption"></a>

En la siguiente política de ejemplo se conceden permisos a los usuarios para obtener acceso a características cifradas con una clave administrada por el cliente al permitir que Amazon Q tenga acceso a la clave. Esta política es necesaria para utilizar Amazon Q si un administrador ha configurado una clave administrada por el cliente para el cifrado.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "QKMSDecryptGenerateDataKeyPermissions",
            "Effect": "Allow",
            "Action": [
                "kms:Decrypt",
                "kms:GenerateDataKey",
                "kms:GenerateDataKeyWithoutPlaintext",
                "kms:ReEncryptFrom",
                "kms:ReEncryptTo"
            ],
            "Resource": [
            "arn:aws:kms:us-east-1:111122223333:key/key_id"
            ],
            "Condition": {
                "StringLike": {
                    "kms:ViaService": [
                    "q.us-east-1.amazonaws.com"
                    ]
                }
            }
        }
    ]
}
```

------

## Permiso a los usuarios para chatear con Amazon Q
<a name="id-based-policy-examples-allow-chat"></a>

En la siguiente política de ejemplo se conceden permisos para chatear con Amazon Q en la consola.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowAmazonQConversationAccess",
      "Effect": "Allow",
      "Action": [
        "q:StartConversation",
        "q:SendMessage",
        "q:GetConversation",
        "q:ListConversations",
        "q:UpdateConversation",
        "q:DeleteConversation"
      ],
      "Resource": "*"
    }
  ]
}
```

------

## Permita que los usuarios usen Amazon Q CLI con AWS CloudShell
<a name="id-based-policy-examples-allow-cli-cloudshell"></a>

El siguiente ejemplo de política otorga permisos para usar Amazon Q CLI con AWS CloudShell.

**nota**  
El prefijo `codewhisperer` es un nombre heredado de un servicio que se fusionó con Amazon Q Developer. Para obtener más información, consulte [Cambio de nombres de Amazon Q Developer: resumen de cambios](service-rename.md). 

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "codewhisperer:GenerateRecommendations",
                "codewhisperer:ListCustomizations"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "q:StartConversation",
                "q:SendMessage"
            ],
            "Resource": "*"
        }
    ]
}
```

------

## Permiso a los usuarios para ejecutar transformaciones en la línea de comandos
<a name="id-based-policy-examples-allow-cli-transformations"></a>

El siguiente ejemplo de política concede permisos para transformar código con la [herramienta de línea de comandos Amazon Q para las transformaciones](transform-CLI.md). Esta política no afecta al acceso a [Amazon Q desde la línea de comandos](command-line.md).

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
              "qdeveloper:StartAgentSession",
              "qdeveloper:ImportArtifact",
              "qdeveloper:ExportArtifact",
              "qdeveloper:TransformCode"
            ],
            "Resource": "*"
        }
    ]
}
```

------

## Permiso a los usuarios para diagnosticar errores de la consola con Amazon Q
<a name="id-based-policy-examples-allow-error-diagnosing"></a>

En la siguiente política de ejemplo se conceden permisos para diagnosticar errores de consola con Amazon Q.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowAmazonQTroubleshooting",
      "Effect": "Allow",
      "Action": [
        "q:StartTroubleshootingAnalysis",
        "q:GetTroubleshootingResults",
        "q:StartTroubleshootingResolutionExplanation",
        "q:UpdateTroubleshootingCommandResult",
        "q:PassRequest",
        "cloudformation:GetResource"
      ],
      "Resource": "*"
    }
  ]
}
```

------

## Permiso a los usuarios para generar código a partir de comandos de CLI con Amazon Q
<a name="id-based-policy-examples-allow-console-to-code"></a>

El siguiente ejemplo de política concede permisos para generar código a partir de comandos CLI grabados con Amazon Q, lo que permite el uso de la Console-to-Code función.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
       {
         "Sid": "AllowAmazonQConsoleToCode",
         "Effect": "Allow",
         "Action": "q:GenerateCodeFromCommands",
         "Resource": "*"
       }
   ]
}
```

------

## Permiso a los usuarios para chatear sobre los recursos con Amazon Q
<a name="id-based-policy-examples-allow-resource-chat"></a>

En la siguiente política de ejemplo se concede permiso para chatear sobre los recursos con Amazon Q y se permite a Amazon Q recuperar información sobre los recursos en su nombre. Amazon Q solo tiene permiso para acceder a los recursos para los que la identidad de IAM tenga permiso. 

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowAmazonQPassRequest",
      "Effect": "Allow",
      "Action": [
        "q:StartConversation",
        "q:SendMessage",
        "q:GetConversation",
        "q:ListConversations",
        "q:UpdateConversation",
        "q:DeleteConversation",
        "q:PassRequest"
      ],
      "Resource": "*"
    },
    {
      "Sid": "AllowCloudControlReadAccess",
      "Effect": "Allow",
      "Action": [
         "cloudformation:GetResource",
         "cloudformation:ListResources"
      ],
      "Resource": "*"
    }
  ]
}
```

------

## Permiso a Amazon Q para que realice acciones en su nombre en el chat
<a name="id-based-policy-examples-allow-actions"></a>

El siguiente ejemplo de política otorga permiso para chatear con Amazon Q y permite a Amazon Q realizar acciones en su nombre. Amazon Q solo tiene permiso para realizar acciones para las que su identidad de IAM tenga permiso. 

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowAmazonQPassRequest",
      "Effect": "Allow",
      "Action": [
        "q:StartConversation",
        "q:SendMessage",
        "q:GetConversation",
        "q:ListConversations",
        "q:UpdateConversation",
        "q:DeleteConversation",
        "q:PassRequest"
      ],
      "Resource": "*"
    }
  ]
}
```

------

## Permiso para que Amazon Q obtenga acceso a los datos de costos y proporcione recomendaciones sobre la optimización de los costos
<a name="id-based-policy-examples-allow-cost-chat"></a>

En la siguiente política de ejemplo se concede permiso para chatear con Amazon Q sobre los costos y se permite a Amazon Q obtener acceso a los datos de costos y proporcionar análisis de costos y recomendaciones sobre la optimización. Esta política incluye permisos para AWS Cost Explorer, AWS Cost Optimization Hub, AWS Compute Optimizer, AWS Budgets, AWS Free Tier, AWS Pricing y Savings Plans y recomendaciones de reservas.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowAmazonQChatAndPassRequest",
      "Effect": "Allow",
      "Action": [
        "q:StartConversation",
        "q:SendMessage",
        "q:GetConversation",
        "q:ListConversations",
        "q:UpdateConversation",
        "q:DeleteConversation",
        "q:PassRequest"
      ],
      "Resource": "*"
   },
    {
      "Sid": "AllowCostExplorerAccess",
      "Effect": "Allow",
      "Action": [
        "ce:GetCostAndUsage",
        "ce:GetCostAndUsageWithResources",
        "ce:GetCostForecast",
        "ce:GetUsageForecast",
        "ce:GetTags",
        "ce:GetCostCategories",
        "ce:GetDimensionValues",
        "ce:GetSavingsPlansUtilization",
        "ce:GetSavingsPlansCoverage",
        "ce:GetSavingsPlansUtilizationDetails",
        "ce:GetReservationUtilization",
        "ce:GetReservationCoverage",
        "ce:GetSavingsPlansPurchaseRecommendation",
        "ce:GetReservationPurchaseRecommendation",
        "ce:GetRightsizingRecommendation",
        "ce:GetAnomalies",
       "ce:GetCostAndUsageComparisons",
       "ce:GetCostComparisonDrivers"
      ],
      "Resource": "*"
   },
    {
      "Sid": "AllowCostOptimizationHubAccess",
      "Effect": "Allow",
      "Action": [
        "cost-optimization-hub:GetRecommendation",
        "cost-optimization-hub:ListRecommendations",
        "cost-optimization-hub:ListRecommendationSummaries"
      ],
      "Resource": "*"
   },
    {
      "Sid": "AllowComputeOptimizerAccess",
      "Effect": "Allow",
      "Action": [
        "compute-optimizer:GetAutoScalingGroupRecommendations",
        "compute-optimizer:GetEBSVolumeRecommendations",
        "compute-optimizer:GetEC2InstanceRecommendations",
        "compute-optimizer:GetECSServiceRecommendations",
        "compute-optimizer:GetRDSDatabaseRecommendations",
        "compute-optimizer:GetLambdaFunctionRecommendations",
        "compute-optimizer:GetIdleRecommendations",
        "compute-optimizer:GetLicenseRecommendations",
        "compute-optimizer:GetEffectiveRecommendationPreferences"
      ],
      "Resource": "*"
   },
    {
      "Sid": "AllowBudgetsAccess",
      "Effect": "Allow",
      "Action": [
        "budgets:ViewBudget"
      ],
      "Resource": "*"
   },
    {
      "Sid": "AllowFreeTierAccess",
      "Effect": "Allow",
      "Action": [
        "freetier:GetFreeTierUsage",
        "freetier:GetAccountPlanState",
        "freetier:ListAccountActivities",
       "freetier:GetAccountActivity"
      ],
      "Resource": "*"
   },
    {
      "Sid": "AllowPricingAccess",
      "Effect": "Allow",
      "Action": [
        "pricing:GetProducts",
        "pricing:GetAttributeValues",
        "pricing:DescribeServices"
      ],
      "Resource": "*"
   }
  ]
}
```

------

## Denegación del permiso a Amazon Q para realizar acciones específicas en su nombre
<a name="id-based-policy-examples-deny-some-actions"></a>

El siguiente ejemplo de política otorga permiso para chatear con Amazon Q y permite a Amazon Q realizar cualquier acción en su nombre para la que tenga permiso su identidad de IAM, excepto las acciones de Amazon EC2. Esta política utiliza la [clave de condición global `aws:CalledVia`](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-calledvia) para especificar que las acciones de Amazon EC2 solo se deniegan cuando Amazon Q las llama. 

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "q:StartConversation",
        "q:SendMessage",
        "q:GetConversation",
        "q:ListConversations",
        "q:UpdateConversation",
        "q:DeleteConversation",
        "q:PassRequest"
      ],
      "Resource": "*"
    },
    {
      "Effect": "Deny",
      "Action": [
        "ec2:*"
      ],
      "Resource": "*",
      "Condition": {
            "ForAnyValue:StringEquals": {
               "aws:CalledVia": ["q.amazonaws.com"]
            }
       }
    }
  ]
}
```

------

## Permiso a Amazon Q para realizar acciones específicas en su nombre
<a name="id-based-policy-examples-allow-some-actions"></a>

El siguiente ejemplo de política otorga permiso para chatear con Amazon Q y permite a Amazon Q realizar cualquier acción en su nombre para la que tenga permiso su identidad de IAM, excepto las acciones de Amazon EC2. Esta política concede a su identidad de IAM permiso para realizar cualquier acción de Amazon EC2, pero solo permite que Amazon Q la lleve a cabo la acción `ec2:describeInstances`. Esta política utiliza la [clave de condición global `aws:CalledVia`](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-calledvia) para especificar que Amazon Q solo puede llamar a `ec2:describeInstances` y ninguna otra acción de Amazon EC2.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "q:StartConversation",
        "q:SendMessage",
        "q:GetConversation",
        "q:ListConversations",
        "q:UpdateConversation",
        "q:DeleteConversation",
        "q:PassRequest"
      ],
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "ec2:*"
      ],
      "Resource": "*",
      "Condition": {
            "ForAnyValue:StringNotEquals": {
               "aws:CalledVia": ["q.amazonaws.com"]
            }
       }
    },
    {
      "Effect": "Allow",
      "Action": [
        "ec2:describeInstances"
      ],
      "Resource": "*",
       "Condition": {
            "ForAnyValue:StringEquals": {
               "aws:CalledVia": ["q.amazonaws.com"]
            }
       }
    }
  ]
}
```

------

## Permiso a Amazon Q para realizar acciones en su nombre en regiones específicas
<a name="id-based-policy-examples-allow-actions-some-regions"></a>

El siguiente ejemplo de política otorga permiso para chatear con Amazon Q y permite a Amazon Q realizar llamadas solo a las regiones `us-east-1` y `us-west-2` cuando realice acciones en su nombre. Amazon Q no puede realizar llamadas a ninguna otra región. Para obtener más información sobre cómo especificar las regiones a las que puede realizar llamadas, consulte [aws: RequestedRegion](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-requestedregion) en la *Guía del AWS Identity and Access Management usuario*.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "q:StartConversation",
        "q:SendMessage",
        "q:GetConversation",
        "q:ListConversations",
        "q:UpdateConversation",
        "q:DeleteConversation",
        "q:PassRequest"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
            "aws:RequestedRegion": [ 
                "us-east-1", 
                "us-west-2"
            ] 
        } 
      }
    }
  ]
}
```

------

## Denegación del permiso a Amazon Q para realizar acciones en su nombre
<a name="id-based-policy-examples-deny-actions"></a>

En la siguiente política de ejemplo se impide que Amazon Q realice acciones en su nombre.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "DenyAmazonQPassRequest",
      "Effect": "Deny",
      "Action": [
        "q:PassRequest"
      ],
      "Resource": "*"
    }
  ]
}
```

------

## Permiso a los usuarios para chatear con complementos de un proveedor
<a name="id-based-policy-examples-allow-plugin-type"></a>

En la siguiente política de ejemplo se concede permiso para chatear con cualquier complemento de un determinado proveedor que configure un administrador, especificado por el ARN del complemento con el nombre del proveedor del complemento y un carácter comodín (`*`). Si el complemento se elimina y se vuelve a configurar, un usuario con estos permisos retendrá el acceso al complemento recién configurado. Para usar esta política, sustituya lo siguiente en el ARN del campo `Resource`: 
+ *AWS-region*— El Región de AWS lugar donde se creó el complemento.
+ *AWS-account-ID*— El ID de AWS cuenta de la cuenta en la que está configurado el complemento.
+ *plugin-provider*— El nombre del proveedor del plugin al que quieres permitir el acceso, como `CloudZero``Datadog`, o`Wiz`. El campo del proveedor del complemento distingue entre mayúsculas y minúsculas.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowAmazonQConversationAccess",
            "Effect": "Allow",
            "Action": [
                "q:StartConversation",
                "q:SendMessage",
                "q:GetConversation",
                "q:ListConversations",
                "q:UpdateConversation",
                "q:DeleteConversation"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AllowAmazonQPluginAccess",
            "Effect": "Allow",
            "Action": [
                "q:UsePlugin"
            ],
            "Resource": "arn:aws:qdeveloper:us-east-1:111122223333:plugin/plugin-provider/*"
        }
    ]
}
```

------

## Permiso a los usuarios para chatear con un determinado complemento
<a name="id-based-policy-examples-allow-plugin-arn"></a>

En la siguiente política de ejemplo se concede permiso para chatear con un determinado complemento, especificado por el ARN del complemento. Si el complemento se elimina y se vuelve a configurar, el usuario no tendrá acceso al nuevo complemento a no ser que el ARN del complemento se actualice en esta política. Para usar esta política, sustituya lo siguiente en el ARN del campo `Resource`: 
+ *AWS-region*— El Región de AWS lugar donde se creó el plugin.
+ *AWS-account-ID*— El ID de AWS cuenta de la cuenta en la que está configurado el complemento.
+ *plugin-provider*— El nombre del proveedor del plugin al que quieres permitir el acceso, como `CloudZero``Datadog`, o`Wiz`. El campo del proveedor del complemento distingue entre mayúsculas y minúsculas.
+ *plugin-ARN*— El ARN del plugin al que quieres permitir el acceso.

## Denegación de acceso a Amazon Q
<a name="id-based-policy-examples-deny"></a>

En la siguiente política de ejemplo se deniegan todos los permisos para usar Amazon Q.

**nota**  
Si deniegas el acceso a Amazon Q, el icono y el panel de chat de Amazon Q seguirán apareciendo en la AWS consola, el AWS sitio web, las páginas de AWS documentación o AWS Console Mobile Application.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "DenyAmazonQFullAccess",
      "Effect": "Deny",
      "Action": [
        "q:*"
      ],
      "Resource": "*"
    }
  ]
}
```

------

## Permiso a los usuarios para consultar sus permisos
<a name="id-based-policy-examples-view-own-permissions"></a>

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 completar esta acción en la consola o mediante programación mediante la API AWS CLI 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": "*"
        }
    ]
}
```