Exemplos de políticas baseadas em identidade para o Amazon Connect
Por padrão, as entidades do IAM não têm permissão para criar ou modificar recursos do Amazon Connect. Eles também não podem executar tarefas usando o AWS Management Console, a AWS CLI ou uma API da AWS. Um administrador do IAM deve criar políticas do IAM que concedam às entidades do IAM permissões para executar operações de API específicas nos recursos especificados dos quais ele precisa. O administrador do IAM deve anexar as políticas às entidades do IAM que exijam essas permissões.
Para saber como criar uma política baseada em identidade do IAM usando esses exemplos de documentos de política JSON, consulte Criar políticas na guia JSON no Guia do usuário do IAM.
Tópicos
- Melhores práticas de política
- Permitir que os usuários do IAM visualizem suas próprias permissões
- Conceder permissões para “Visualizar usuário”
- Permitir que os usuários se integrem a aplicações externas
- Descrever e atualizar os usuários do Amazon Connect com base em tags
- Criar usuários do Amazon Connect com base em tags
- Criar e visualizar recursos do Amazon Connect
- Criar e exibir assistentes do Amazon Q in Connect
- Gerenciar recursos de campanhas externas
Melhores práticas de política
As políticas baseadas em identidade determinam se alguém pode criar, acessar ou excluir recursos do Amazon Connect em sua conta. Essas ações podem incorrer em custos para seus Conta da AWS. Ao criar ou editar políticas baseadas em identidade, siga estas diretrizes e recomendações:
-
Comece com as políticas gerenciadas pela AWS e avance para as permissões de privilégio mínimo –- para começar a conceder permissões a seus usuários e workloads, use as políticas gerenciadas pela AWS, que concedem permissões para muitos casos de uso comuns. Elas estão disponíveis em seus Conta da AWS. Recomendamos que você reduza ainda mais as permissões definindo políticas gerenciadas pelo cliente AWS específicas para seus casos de uso. Para obter mais informações, consulte Políticas gerenciadas pela AWS ou Políticas gerenciadas pela AWS para funções de trabalho no Guia do Usuário do IAM.
-
Aplique permissões de privilégio mínimo –- ao definir permissões com as políticas do IAM, conceda apenas as permissões necessárias para executar uma tarefa. Você faz isso definindo as ações que podem ser executadas em atributos específicos sob condições específicas, também conhecidas como permissões de privilégio mínimo. Para obter mais informações sobre como usar o IAM para aplicar permissões, consulte Políticas e permissões no IAM no Guia do Usuário do IAM.
-
Use condições nas políticas do IAM para restringir ainda mais o acesso –- você pode adicionar uma condição às políticas para limitar o acesso a ações e recursos. Por exemplo, você pode gravar uma condição de política para especificar que todas as solicitações devem ser enviadas usando SSL. Você também pode usar condições para conceder acesso a ações de serviço, se elas forem usadas por meio de um AWS service (Serviço da AWS) específico, como o AWS CloudFormation. Para obter mais informações, consulte Elementos da política JSON do IAM: Condição no Guia do usuário do IAM.
-
Use o IAM Access Analyzer para validar suas políticas do IAM a fim de garantir permissões seguras e funcionais –- o IAM Access Analyzer valida as políticas novas e existentes para que elas sigam a linguagem de política do IAM (JSON) e as práticas recomendadas do IAM. O IAM Access Analyzer oferece mais de 100 verificações de política e recomendações acionáveis para ajudá-lo a criar políticas seguras e funcionais. Para obter mais informações, consulte Validação de políticas do IAM Access Analyzer no Guia do Usuário do IAM.
-
Exigir autenticação multifator (MFA) –- se houver um cenário que exija usuários do IAM ou um usuário raiz em sua Conta da AWS, ative a MFA para obter segurança adicional. Para exigir MFA quando as operações de API forem chamadas, adicione condições de MFA às suas políticas. Para obter mais informações, consulte Acesso seguro à API com a MFA no Guia do usuário do IAM.
Para obter mais informações sobre as práticas recomendadas do IAM, consulte Práticas Recomendadas de Segurança no IAM no Guia do Usuário do IAM.
Permitir que os usuários do IAM visualizem suas próprias permissões
Este exemplo mostra como criar uma política que permita que os usuários do IAM visualizem as políticas gerenciadas e em linha anexadas a sua identidade de usuário. Essa política inclui permissões para concluir essa ação no console ou de forma programática usando a AWS CLI ou a AWS API.
{ "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": "*" } ] }
Conceder permissões para “Visualizar usuário”
Ao criar um grupo ou usuário do IAM em sua conta da AWS, você pode associar uma política do IAM a esse grupo ou usuário, que especifica as permissões que você deseja conceder.
Por exemplo, imagine que você tem um grupo de desenvolvedores em nível de entrada. É possível criar um grupo do IAM chamado Junior application developers
, e incluir todos os desenvolvedores em nível de entrada. Depois, associe uma política a esse grupo que conceda a eles permissões para visualizar usuários do Amazon Connect. Nesse cenário, você pode ter uma política como a do exemplo a seguir:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "connect:DescribeUser", "connect:ListUsers" ], "Resource": "*" } ] }
Este exemplo de política concede permissões às ações da API listadas no elemento Action
.
nota
Se não especificar um ARN ou um ID do usuário em sua declaração, você também deverá conceder a permissão de uso de todos os recursos à ação usando o caractere curinga * para o elemento Resource
.
Permitir que os usuários se integrem a aplicações externas
Este exemplo mostra como você pode criar uma política que permite que os usuários interajam com integrações de aplicações externas.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAllAppIntegrationsActions", "Effect": "Allow", "Action": [ "app-integrations:ListEventIntegrations", "app-integrations:CreateEventIntegration", "app-integrations:GetEventIntegration", "app-integrations:UpdateEventIntegration", "app-integrations:DeleteEventIntegration", "app-integrations:ListDataIntegrations", "app-integrations:CreateDataIntegration", "app-integrations:GetDataIntegration", "app-integrations:UpdateDataIntegration", "app-integartions:DeleteDataIntegration" ], "Resource": "*" } ] }
Descrever e atualizar os usuários do Amazon Connect com base em tags
Em uma política do IAM, você pode opcionalmente especificar condições que controlam quando uma política está em vigor. Por exemplo, é possível definir uma política que permita que os usuários atualizem apenas um usuário do Amazon Connect que esteja trabalhando no ambiente de teste.
É possível definir algumas condições específicas do Amazon Connect e definir outras condições que se aplicam a toda a AWS. Para obter mais informações e uma lista de condições gerais da AWS, consulte Condição na Referência de elemento de política JSON do IAM no Guia do usuário do IAM.
A política de exemplo a seguir permite as ações "descrever" e "atualizar" para usuários com tags específicas.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "connect:DescribeUser", "connect:UpdateUser*" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/Department": "Test" } } } ] }
Essa política permite “descrever usuário” e “atualizar usuário”, mas apenas para os usuários do Amazon Connect marcados com a tag “Department: Test", em que "Department" é a chave da tag e "Test" é o valor da tag.
Criar usuários do Amazon Connect com base em tags
A política de exemplo a seguir permite criar ações para usuários com tags de solicitação específicas.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "connect:CreateUser", "connect:TagResource" ], "Resource": "*", "Condition": { "StringEquals": { "aws:RequestTag/Owner": "TeamA" } } } ] }
Essa política permite “criar usuário” e “marcar recurso”, mas a tag "Owner: TeamA" deve estar presente nas solicitações.
Criar e visualizar recursos do Amazon Connect
O exemplo de política a seguir permite criar, listar e buscar integrações de eventos.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "app-integrations:CreateEventIntegration", "app-integrations:GetEventIntegration", "app-integrations::ListEventIntegrations", ], "Resource": "*" } ] }
Criar e exibir assistentes do Amazon Q in Connect
O exemplo de política a seguir permite criar, listar, buscar e excluir assistentes do Amazon Q in Connect.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "wisdom:CreateContent", "wisdom:DeleteContent", "wisdom:CreateKnowledgeBase", "wisdom:GetAssistant", "wisdom:GetKnowledgeBase", "wisdom:GetContent", "wisdom:GetRecommendations", "wisdom:GetSession", "wisdom:NotifyRecommendationsReceived", "wisdom:QueryAssistant", "wisdom:StartContentUpload", "wisdom:UpdateContent", "wisdom:UntagResource", "wisdom:TagResource", "wisdom:CreateSession" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/AmazonConnectEnabled": "True" } } }, { "Action": [ "wisdom:ListAssistants", "wisdom:ListKnowledgeBases" ], "Effect": "Allow", "Resource": "*" } ] }
Gerenciar recursos de campanhas externas
Permissões de integração: o exemplo de política a seguir permite integrar instâncias do Amazon Connect a campanhas externas.
"Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "kms:DescribeKey", "kms:CreateGrant" ], "Resource": [ "arn:aws:kms:
region
:account-id
:key/key-id
" ] }, { "Sid": "VisualEditor1", "Effect": "Allow", "Action": [ "connect:DescribeInstance" ], "Resource": [ "arn:aws:connect:region
:account-id
:instance/instance-id
" ] }, { "Sid": "VisualEditor2", "Effect": "Allow", "Action": [ "events:PutTargets", "events:PutRule", "iam:CreateServiceLinkedRole", "iam:AttachRolePolicy", "iam:PutRolePolicy", "ds:DescribeDirectories", "connect-campaigns:StartInstanceOnboardingJob", "connect-campaigns:GetConnectInstanceConfig", "connect-campaigns:GetInstanceOnboardingJobStatus", "connect-campaigns:DeleteInstanceOnboardingJob", "connect:DescribeInstanceAttribute", "connect:UpdateInstanceAttribute", "connect:ListInstances", "kms:ListAliases" ], "Resource": "*" }
Para desabilitar campanhas externas para uma instância, adicione as seguintes permissões:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "kms:DescribeKey", "kms:RetireGrant" ], "Resource": [ "arn:aws:kms:
region
:account-id
:key/key-id
" ] }, { "Sid": "VisualEditor1", "Effect": "Allow", "Action": [ "events:DeleteRule", "events:RemoveTargets", "events:DescribeRule", "iam:DeleteRolePolicy", "events:ListTargetsByRule", "iam:DeleteServiceLinkedRole", "connect-campaigns:DeleteConnectInstanceConfig" ], "Resource": "*" } ]
Permissões de gerenciamento: o exemplo de política a seguir permite todas as operações de leitura e gravação em campanhas externas.
{ "Sid": "AllowConnectCampaignsOperations", "Effect": "Allow", "Action": [ "connect-campaigns:CreateCampaign", "connect-campaigns:DeleteCampaign", "connect-campaigns:DescribeCampaign", "connect-campaigns:UpdateCampaignName", "connect-campaigns:GetCampaignState" "connect-campaigns:UpdateOutboundCallConfig", "connect-campaigns:UpdateDialerConfig", "connect-campaigns:PauseCampaign", "connect-campaigns:ResumeCampaign", "connect-campaigns:StopCampaign", "connect-campaigns:GetCampaignStateBatch", "connect-campaigns:ListCampaigns" ], "Resource": "*" }
Permissões somente leitura: o exemplo de política a seguir permite acesso somente leitura às campanhas.
{ "Sid": "AllowConnectCampaignsReadOnlyOperations", "Effect": "Allow", "Action": [ "connect-campaigns:DescribeCampaign", "connect-campaigns:GetCampaignState", "connect-campaigns:GetCampaignStateBatch", "connect-campaigns:ListCampaigns" ], "Resource": "*", }
Permissões baseadas em tags: o exemplo de política a seguir restringe o acesso às campanhas integradas a uma instância específica do Amazon Connect usando tags. Mais permissões podem ser adicionadas com base no caso de uso.
{ "Sid": "AllowConnectCampaignsOperations", "Effect": "Allow", "Action": [ "connect-campaigns:DescribeCampaign", "connect-campaigns:GetCampaignState" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/owner": "arn:aws:connect:
region
:customer_account_id
:instance/connect_instance_id
" } } }
nota
As operações connect-campaigns:ListCampaigns
e connect-campaigns:GetCampaignStateBatch
não podem ser restritas por tag.