Permissões de administrador
As políticas a seguir permitem que os administradores do Amazon Q Developer realizem tarefas administrativas no console de gerenciamento de assinaturas do Amazon Q e no console do Amazon Q Developer.
Para políticas que permitem o uso dos atributos do Amazon Q Developer, consulte Permissões de usuário.
Permitir que administradores usem o console do Amazon Q
A política de exemplo a seguir concede permissões ao usuário para realizar ações no console do Amazon Q. O console do Amazon Q é onde você configura a integração do Amazon Q com o AWS IAM Identity Center e o AWS Organizations. A maioria das outras tarefas relacionadas ao Amazon Q Developer deve ser concluída no console do Amazon Q Developer. Para obter mais informações, consulte Permitir que administradores usem o console do Amazon Q Developer.
- 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"
]
}
]
}
Permitir que administradores usem o console do Amazon Q Developer
A política de exemplo a seguir concede permissões ao usuário para acessar o console do Amazon Q Developer. Os administradores realizam a maioria das tarefas de configuração relacionadas ao Amazon Q Developer no console do Amazon Q Developer, incluindo tarefas relacionadas a assinaturas, referências de código, personalizações e plug-ins de chat. Essa política também inclui permissões para criar e configurar chaves do KMS gerenciadas pelo cliente.
Há algumas tarefas do Amazon Q Developer Pro que os administradores devem realizar pelo console do Amazon Q (em vez do console do Amazon Q Developer). Para obter mais informações, consulte Permitir que administradores usem o console do Amazon Q.
Para criar personalizações ou plug-ins, seu administrador do Amazon Q Developer Pro precisará de permissões adicionais.
Você precisará de uma das duas políticas para usar o console do Amazon Q Developer. A política necessária depende se você está configurando o Amazon Q Developer pela primeira vez ou se está configurando um perfil legado do Amazon CodeWhisperer.
Para novos administradores do Amazon Q Developer, use a seguinte política:
- JSON
-
-
{
"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": [
"*"
]
}
]
}
Para perfis legados do Amazon CodeWhisperer, a política a seguir permitirá que uma entidade principal do IAM administre um aplicativo do CodeWhisperer.
- JSON
-
-
{
"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": [
"*"
]
}
]
}
Permita que os administradores criem personalizações
A política a seguir concede aos administradores permissão para criar e gerenciar personalizações no Amazon Q Developer.
Para configurar personalizações no console do Amazon Q Developer, seu administrador do Amazon Q Developer precisará acessar o console do Amazon Q Developer. Para obter mais informações, consulte Permitir que administradores usem o console do Amazon Q Developer.
Na política a seguir, o serviço do IAM reportará erros nas permissões codeconnections:ListOwners e codeconnections:ListRepositories. De qualquer forma, crie a política com essas permissões. As permissões são necessárias e a política funcionará apesar dos erros.
No exemplo a seguir, substitua o account number pelo número da sua conta da AWS.
Permitir que administradores configurem plug-ins
A política de exemplo a seguir concede permissões aos administradores para visualizar e configurar plug-ins de terceiros no console do Amazon Q Developer.
- 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"
]
}
}
}
]
}
Permitir que administradores configurem plug-ins de um provedor
A política de exemplo a seguir concede a um administrador permissão para configurar plug-ins de um provedor especificado pelo ARN do plug-in com o nome do provedor e um caractere curinga (*). Para usar essa política, substitua os seguintes campos no ARN no campo Resource:
-
AWS-region: a Região da AWS onde o plug-in será criado.
-
AWS-account-ID: o ID da conta da AWS na qual seu plug-in está configurado.
-
plugin-provider: o nome do provedor de plug-in para o qual você deseja permitir a configuração, como CloudZero, Datadog ou Wiz. O campo do provedor do plug-in diferencia maiúsculas de minúsculas.
Permitir a migração de mais de uma rede ou mais de uma sub-rede