Ejemplos de políticas de nivel de recursos de Amazon Connect - Amazon Connect

Ejemplos de políticas de nivel de recursos de Amazon Connect

Amazon Connect admite permisos de nivel de recursos para los usuarios, de modo que puede especificar acciones para ellos en una instancia, como se muestra en las siguientes políticas.

Denegar las acciones eliminar y actualizar

La siguiente política de ejemplo deniega las acciones “eliminar” y “actualizar” a los usuarios en una instancia de Amazon Connect. Utiliza un carácter comodín al final del ARN de usuario de Amazon Connect para que “eliminar usuario” y “actualizar usuario” se denieguen en el ARN de usuario completo (es decir, todos los usuarios de Amazon Connect de la instancia que se ha proporcionado, por ejemplo, arn:aws:connect:us-east-1:123456789012:instance/00fbeee1-123e-111e-93e3-11111bfbfcc1/agent/00dtcddd1-123e-111e-93e3-11111bfbfcc1).

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "connect:DeleteUser", "connect:UpdateUser*" ], "Resource": "arn:aws:connect:us-east-1:123456789012:instance/00fbeee1-123e-111e-93e3-11111bfbfcc1/agent/*" } ] }

Permiso de acciones para integraciones con nombres específicos

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAllAppIntegrationsActions", "Effect": "Allow", "Action": [ "app-integrations:ListEventIntegrations", "app-integrations:CreateEventIntegration", "app-integrations:GetEventIntegration", "app-integrations:UpdateEventIntegration", "app-integartions:DeleteEventIntegration" ], "Resource":"arn:aws:appintegrations:*:*:event-integration/MyNamePrefix-*" } ] }

Permitir la acción "crear usuarios" pero denegarla si se le asigna a un perfil de seguridad específico

La siguiente política de ejemplo permite las acciones "create users" (crear usuarios), pero deniega explícitamente el uso de arn:aws:connect:us-west-2:123456789012:instance/00fbeee1-123e-111e-93e3-11111bfbfcc1/security-profile/11dtcggg1-123e-111e-93e3-11111bfbfcc17 como el parámetro del perfil de seguridad de la solicitud CreateUser.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "connect:CreateUser" ], "Resource": "*", }, { "Effect": "Deny", "Action": [ "connect:CreateUser" ], "Resource": "arn:aws:connect:us-west-2:123456789012:instance/00fbeee1-123e-111e-93e3-11111bfbfcc17/security-profile/11dtcggg1-123e-111e-93e3-11111bfbfcc17", } ] }

Permiso para grabar acciones en un contacto

La siguiente política de ejemplo permite “iniciar la grabación de contactos” en un contacto de una instancia específica. Como ContactID es dinámico, se usa *.

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "connect:StartContactRecording" ], "Resource": "arn:aws:connect:us-west-2:accountID:instance/instanceId/contact/*", "Effect": "Allow" } ] }

Configure una relación de confianza con accountID.

Se han definido las siguientes acciones para las API de grabación:

  • “connect:StartContactRecording”

  • “connect:StopContactRecording”

  • “connect:SuspendContactRecording”

  • “connect:ResumeContactRecording”

Permiso para más acciones de contacto en el mismo rol

Si se utiliza el mismo rol para llamar a otras API de contacto, puede enumerar las siguientes acciones de contacto:

  • GetContactAttributes

  • ListContactFlows

  • StartChatContact

  • StartOutboundVoiceContact

  • StopContact

  • UpdateContactAttributes

O utilice un carácter comodín para permitir todas las acciones de contacto, por ejemplo “connect:*”.

Permiso para más recursos

También puede utilizar un comodín para permitir más recursos. Por ejemplo, a continuación le mostramos cómo permitir todas las acciones de conexión en todos los recursos de contacto:

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "connect:*" ], "Resource": "arn:aws:connect:us-west-2:accountID:instance/*/contact/*", "Effect": "Allow" } ] }

Permiso o denegación de acciones de la API de cola para números de teléfono en una región de réplica

Las API CreateQueue y UpdateQueueOutboundCallerConfig contienen un campo de entrada denominado OutboundCallerIdNumberId. Este campo representa un recurso de número de teléfono que puede solicitarse para un grupo de distribución de tráfico. Admite tanto el formato ARN V1 del número de teléfono que devuelve ListPhoneNumbers como el formato ARN V2 que devuelve ListPhoneNumbersV2.

A continuación, se indican los formatos ARN V1 y V2 que OutboundCallerIdNumberId admite:

  • Formato ARN V1: arn:aws:connect:your-region:your-account_id:instance/instance_id/phone-number/resource_id

  • Formato ARN V2: arn:aws:connect:your-region:your-account_id:phone-number/resource_id

nota

Le recomendamos que utilice el formato ARN V2. El formato ARN V1 quedará obsoleto en el futuro.

Suministro de ambos formatos de ARN para los recursos de números de teléfono en la región de réplica

Si el número de teléfono está solicitado para un grupo de distribución de tráfico, para permitir o denegar correctamente el acceso a las acciones de la API de cola para los recursos de número de teléfono mientras opera en la región de réplica, debe proporcionar el recurso de número de teléfono en los formatos ARN V1 y V2. Si proporciona el recurso del número de teléfono solo en un formato ARN, no se producirá el comportamiento correcto de permitir o denegar al operar en la región de réplica.

Ejemplo 1: denegar el acceso a CreateQueue

Por ejemplo, está operando en la región de réplica us-west-2 con cuenta de 123456789012 e instancia aaaaaaaa-bbbb-cccc-dddd-0123456789012. Desea denegar el acceso a la API CreateQueue cuando el valor OutboundCallerIdNumberId es un número de teléfono solicitado para un grupo de distribución de tráfico con ID de recurso aaaaaaaa-eeee-ffff-gggg-0123456789012. En este escenario debe utilizar la siguiente política:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "DenyCreateQueueForSpecificNumber", "Effect": "Deny", "Action": "connect:CreateQueue", "Resource": [ "arn:aws:connect:us-east-1:123456789012:phone-number/aaaaaaaa-eeee-ffff-gggg-0123456789012", "arn:aws:connect:us-west-2:123456789012:instance/aaaaaaaa-bbbb-cccc-dddd-0123456789012/phone-number/aaaaaaaa-eeee-ffff-gggg-0123456789012" ] } ] }

Donde us-west-2 es la región donde se realiza la solicitud.

Ejemplo 2: permitir el acceso únicamente a UpdateQueueOutboundCallerConfig

Por ejemplo, está operando en la región de réplica us-west-2 con cuenta de 123456789012 e instancia aaaaaaaa-bbbb-cccc-dddd-0123456789012. Solo desea permitir el acceso a la API UpdateQueueOutboundCallerConfig cuando el valor OutboundCallerIdNumberId sea un número de teléfono solicitado a un grupo de distribución de tráfico con ID de recurso aaaaaaaa-eeee-ffff-gggg-0123456789012. En este escenario debe utilizar la siguiente política:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "OnlyAllowUpdateQueueOutboundCallerConfigForSpecificNumber", "Effect": "Allow", "Action": "connect:UpdateQueueOutboundCallerConfig", "Resource": [ "arn:aws:connect:us-east-1:123456789012:phone-number/aaaaaaaa-eeee-ffff-gggg-0123456789012", "arn:aws:connect:us-west-2:123456789012:instance/aaaaaaaa-bbbb-cccc-dddd-0123456789012/phone-number/aaaaaaaa-eeee-ffff-gggg-0123456789012" ] } ] }

Consulta de recursos específicos de Amazon AppIntegrations

La siguiente política de ejemplo permite recuperar integraciones de eventos específicas.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "app-integrations:GetEventIntegration" ], "Resource": "arn:aws:app-integrations:us-west-2:accountID:event-integration/Name" } ] }

Concesión de acceso a Perfiles de clientes de Amazon Connect

Perfiles de clientes de Amazon Connect utiliza profile como prefijo para las acciones en lugar de connect. La siguiente política concede acceso total a un dominio específico en Perfiles de clientes de Amazon Connect.

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "profile:*" ], "Resource": "arn:aws:profile:us-west-2:accountID:domains/domainName", "Effect": "Allow" } ] }

Configure una relación de confianza con accountID para el dominio domainName.

Concesión de acceso de solo lectura a los datos de Perfiles de clientes

A continuación, se muestra un ejemplo para conceder acceso de lectura a los datos de Perfiles de clientes de Amazon Connect.

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "profile:SearchProfiles", "profile:ListObjects" ], "Resource": "arn:aws:profile:us-west-2:accountID:domains/domainName", "Effect": "Allow" } ] }

Consulta de Amazon Q in Connect solo para un asistente específico

La siguiente política de ejemplo permite consultar solo un asistente específico.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "wisdom:QueryAssistant " ], "Resource": "arn:aws:wisdom:us-west-2:accountID:assistant/assistantID" } ] }

Concesión de acceso total a Amazon Connect Voice ID

Amazon Connect Voice ID utiliza voiceid como prefijo para las acciones en lugar de “connect”. La siguiente política concede acceso total a un dominio específico en Amazon Connect Voice ID:

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "voiceid:*" ], "Resource": "arn:aws:voiceid:us-west-2:accountID:domain/domainName", "Effect": "Allow" } ] }

Configure una relación de confianza con accountID para el dominio domainName.

Concesión de acceso a los recursos de Campañas externas de Amazon Connect

Las campañas externas utilizan connect-campaign como prefijo para las acciones en lugar de connect. La siguiente política concede acceso total a una campaña externa específica.

{ "Sid": "AllowConnectCampaignsOperations", "Effect": "Allow", "Action": [ "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" ], "Resource": "arn:aws:connect-campaigns:us-west-2:accountID:campaign/campaignId", }

Restricción de la capacidad de búsqueda en las transcripciones analizadas por Amazon Connect Contact Lens

La siguiente política permite buscar y describir contactos, pero no permite buscar un contacto mediante las transcripciones analizadas por Amazon Connect Contact Lens.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "connect:DescribeContact" ], "Resource": "arn:aws:connect:region:account-id:instance/instance-id/contact/*" }, { "Sid": "VisualEditor1", "Effect": "Allow", "Action": [ "connect:SearchContacts" ], "Resource": "arn:aws:connect:region:account-id:instance/instance-id" }, { "Sid": "VisualEditor2", "Effect": "Deny", "Action": [ "connect:SearchContacts" ], "Resource": "arn:aws:connect:region:account-id:instance/instance-id", "Condition": { "ForAnyValue:StringEquals": { "connect:SearchContactsByContactAnalysis": [ "Transcript" ] } } } ] }