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.
Controle el acceso a los servicios de Lattice mediante políticas de autenticación VPC
VPCLas políticas de autenticación de Lattice son documentos de IAM política que se adjuntan a las redes o servicios de servicio para controlar si un responsable específico tiene acceso a un grupo de servicios o a un servicio específico. Puede adjuntar una política de autenticación a cada red de servicio o servicio cuyo acceso quiera controlar.
Las políticas de autenticación son diferentes de las políticas basadas en la IAM identidad. IAMLas políticas basadas en la identidad se asocian a IAM los usuarios, grupos o roles y definen qué acciones pueden realizar esas identidades en qué recursos. Las políticas de autenticación están asociadas a los servicios y a las redes de servicios. Para que la autorización funcione, tanto las políticas de autenticación como las políticas basadas en identidades deben incluir instrucciones de autorización explícitas. Para obtener más información, consulte Cómo funciona la autorización.
Puede utilizar el AWS CLI y una consola para ver, añadir, actualizar o eliminar las políticas de autenticación en los servicios y las redes de servicios. Al utilizar la AWS CLI, recuerde que sus comandos se ejecutan en Región de AWS configurado para su perfil. Si desea ejecutar los comandos en otra región, cambie la región predeterminada de su perfil o utilice el parámetro --region
con el comando.
Contenido
Para empezar a utilizar las políticas de autenticación, siga el procedimiento para crear una política de autenticación que se aplique a una red de servicios. Para obtener permisos más restrictivos que no quieran que se apliquen a otros servicios, puede optar por establecer políticas de autenticación en servicios individuales.
Los siguientes ejemplos de AWS CLI las tareas muestran cómo administrar el acceso a una red de servicios mediante políticas de autenticación. Para obtener instrucciones sobre cómo utilizar la consola, consulte Redes de servicios en VPC Lattice.
Tareas
Cómo agregar una política de autenticación a una red de servicios
Siga los pasos de esta sección para usar el AWS CLI a:
-
Habilite el control de acceso en una red de servicio medianteIAM.
-
Agregue una política de autenticación a la red de servicios. Si no agrega una política de autenticación, todo el tráfico recibirá un error de acceso denegado.
Para habilitar el control de acceso y agregar una política de autenticación a una nueva red de servicios
-
Para habilitar el control de acceso de una red de servicios para que pueda usar una política de autenticación, utilice el comando create-service-network con la opción
--auth-type
y un valor deAWS_IAM
.aws vpc-lattice create-service-network --name
Name
--auth-type AWS_IAM [--tagsTagSpecification
]Si se ejecuta correctamente, el comando devolverá información similar a la siguiente.
{ "arn": "
arn
", "authType": "AWS_IAM", "id": "sn-0123456789abcdef0", "name": "Name" } -
Use el comando put-auth-policy y especifique el ID de la red de servicios a la que desea agregar la política de autenticación y la política de autenticación que desea agregar.
Por ejemplo, utilice el siguiente comando para crear una política de autenticación para la red de servicios con el ID
.sn-0123456789abcdef0
aws vpc-lattice put-auth-policy --resource-identifier
sn-0123456789abcdef0
--policyfile://policy.json
Se utiliza para crear una definición de políticaJSON. Para obtener más información, consulte Elementos comunes de una política de autenticación.
Si se ejecuta correctamente, el comando devolverá información similar a la siguiente.
{ "policy": "
policy
", "state": "Active" }
Cómo habilitar el control de acceso y añadir una política de autenticación a una red de servicios existente
-
Para habilitar el control de acceso de una red de servicios para que pueda usar una política de autenticación, utilice el comando update-service-network con la opción
--auth-type
y un valor deAWS_IAM
.aws vpc-lattice update-service-network --service-network-identifier
sn-0123456789abcdef0
--auth-type AWS_IAMSi se ejecuta correctamente, el comando devolverá información similar a la siguiente.
{ "arn": "
arn
", "authType": "AWS_IAM", "id": "sn-0123456789abcdef0", "name": "Name" } -
Use el comando put-auth-policy y especifique el ID de la red de servicios a la que desea agregar la política de autenticación y la política de autenticación que desea agregar.
aws vpc-lattice put-auth-policy --resource-identifier
sn-0123456789abcdef0
--policyfile://policy.json
Se utiliza JSON para crear una definición de política. Para obtener más información, consulte Elementos comunes de una política de autenticación.
Si se ejecuta correctamente, el comando devolverá información similar a la siguiente.
{ "policy": "
policy
", "state": "Active" }
Cambio del tipo de autenticación de una red de servicios
Cómo deshabilitar la política de autenticación de una red de servicios
Utilice el comando update-service-network con la opción --auth-type
y un valor de NONE
.
aws vpc-lattice update-service-network --service-network-identifier
sn-0123456789abcdef0
--auth-type NONE
Si necesita volver a habilitar la política de autenticación más adelante, ejecute este comando con el AWS_IAM
especificado para la opción --auth-type
.
Eliminación de una política de autenticación de una red de servicios
Cómo eliminar una política de autenticación de una red de servicios
Utilice el comando delete-auth-policy.
aws vpc-lattice delete-auth-policy --resource-identifier
sn-0123456789abcdef0
La solicitud falla si elimina una política de autenticación antes de cambiar el tipo de autenticación de una red de servicios a NONE
.
Los siguientes ejemplos de AWS CLI las tareas muestran cómo administrar el acceso a un servicio mediante políticas de autenticación. Para obtener instrucciones sobre cómo utilizar la consola, consulte Servicios en VPC Lattice.
Tareas
Adición de una política de autenticación a un servicio
Siga estos pasos para usar el AWS CLI a:
-
Habilite el control de acceso en un servicio medianteIAM.
-
Agregue una política de autenticación al servicio. Si no agrega una política de autenticación, todo el tráfico recibirá un error de acceso denegado.
Cómo habilitar el control de acceso y agregar una política de autenticación a un nuevo servicio
-
Para habilitar el control de acceso de un servicio para que pueda usar una política de autenticación, utilice el comando create-service con la opción
--auth-type
y un valor deAWS_IAM
.aws vpc-lattice create-service --name
Name
--auth-type AWS_IAM [--tagsTagSpecification
]Si se ejecuta correctamente, el comando devolverá información similar a la siguiente.
{ "arn": "
arn
", "authType": "AWS_IAM", "dnsEntry": { ... }, "id": "svc-0123456789abcdef0", "name": "Name", "status": "CREATE_IN_PROGRESS" } -
Use el comando put-auth-policy y especifique el ID del servicio al que desea agregar la política de autenticación y la política de autenticación que desea agregar.
Por ejemplo, utilice el siguiente comando para crear una política de autenticación para el servicio con el ID
svc-0123456789abcdef0
.aws vpc-lattice put-auth-policy --resource-identifier
svc-0123456789abcdef0
--policyfile://policy.json
Se utiliza JSON para crear una definición de política. Para obtener más información, consulte Elementos comunes de una política de autenticación.
Si se ejecuta correctamente, el comando devolverá información similar a la siguiente.
{ "policy": "
policy
", "state": "Active" }
Cómo habilitar el control de acceso y añadir una política de autenticación a un servicio existente
-
Para habilitar el control de acceso de un servicio para que pueda usar una política de autenticación, utilice el comando update-service con la opción
--auth-type
y un valor deAWS_IAM
.aws vpc-lattice update-service --service-identifier
svc-0123456789abcdef0
--auth-type AWS_IAMSi se ejecuta correctamente, el comando devolverá información similar a la siguiente.
{ "arn": "
arn
", "authType": "AWS_IAM", "id": "svc-0123456789abcdef0", "name": "Name" } -
Use el comando put-auth-policy y especifique el ID del servicio al que desea agregar la política de autenticación y la política de autenticación que desea agregar.
aws vpc-lattice put-auth-policy --resource-identifier
svc-0123456789abcdef0
--policyfile://policy.json
Se utiliza JSON para crear una definición de política. Para obtener más información, consulte Elementos comunes de una política de autenticación.
Si se ejecuta correctamente, el comando devolverá información similar a la siguiente.
{ "policy": "
policy
", "state": "Active" }
Cambio de un tipo de autenticación de servicio
Cómo deshabilitar la política de autenticación de un servicio
Utilice el comando update-service con la opción --auth-type
y un valor de NONE
.
aws vpc-lattice update-service --service-identifier
svc-0123456789abcdef0
--auth-type NONE
Si necesita volver a habilitar la política de autenticación más adelante, ejecute este comando con el AWS_IAM
especificado para la opción --auth-type
.
Eliminación de una política de autenticación de un servicio
Cómo eliminar una política de autenticación de un servicio
Utilice el comando delete-auth-policy.
aws vpc-lattice delete-auth-policy --resource-identifier
svc-0123456789abcdef0
La solicitud falla si elimina una política de autenticación antes de cambiar el tipo de autenticación del servicio a NONE
.
Si habilita políticas de autenticación que requieren solicitudes autenticadas para un servicio, todas las solicitudes para ese servicio deben contener una firma de solicitud válida que se calcule con Signature Version 4 (SigV4). Para obtener más información, consulte SIGv4solicitudes autenticadas para Amazon Lattice VPC.
Elementos comunes de una política de autenticación
VPCLas políticas de autenticación de Lattice se especifican con la misma IAM sintaxis que las políticas. Para obtener más información, consulte las políticas basadas en la identidad y las políticas basadas en recursos en la Guía del usuario. IAM
Una política de autenticación contiene los siguientes elementos:
-
Entidad principal: la persona o la aplicación con permiso de acceso a las acciones y los recursos en la instrucción. En una política de autenticación, el principal es la IAM entidad que recibe este permiso. El principal se autentica como IAM entidad para realizar solicitudes a un recurso específico o a un grupo de recursos, como en el caso de los servicios de una red de servicios.
Debe especificar una entidad principal en una política basada en recursos. Los principales pueden incluir cuentas, usuarios, roles, usuarios federados o AWS servicios. Para obtener más información, consulte AWS JSONelementos de política: principales de la Guía IAM del usuario.
-
Efecto: el efecto cuando la entidad principal específica solicita la acción específica. Puede ser
Allow
oDeny
. De forma predeterminada, cuando se habilita el control de acceso en un servicio o red de servicios medianteIAM, los directores no tienen permisos para realizar solicitudes al servicio o a la red de servicios. -
Acciones: la API acción específica para la que se concede o deniega el permiso. VPCLattice admite las acciones que utilizan el
vpc-lattice-svcs
prefijo. Para obtener más información, consulte Acciones definidas por Amazon VPC Lattice Services en la Referencia de autorización de servicios. -
Recursos: los servicios que se ven afectados por la acción.
-
Condición: las condiciones son opcionales. Puede utilizarlas para controlar cuándo entra en vigor su política. Para obtener más información, consulte las claves de condición de Amazon VPC Lattice Services en la Referencia de autorización de servicio.
Al crear y administrar políticas de autenticación, es posible que desee utilizar el generador de IAMpolíticas.
Requisito
La política no JSON debe contener líneas nuevas o líneas en blanco.
Formato de recurso para políticas de autenticación
Puede restringir el acceso a recursos específicos al crear una política de autenticación que utilice un esquema coincidente con un patrón <serviceARN>/<path>
y codificar el elemento Resource
, como se muestra en los siguientes ejemplos.
Protocolo | Ejemplos |
---|---|
HTTP |
|
g RPC |
|
Utilice el siguiente formato de recurso Amazon Resource Name (ARN) para<serviceARN>
:
arn:aws:vpc-lattice:
region
:account-id
:service/service-id
Por ejemplo:
"Resource": "arn:aws:vpc-lattice:us-west-2:123456789012:service/svc-0123456789abcdef0"
Claves de condición que se pueden utilizar en políticas de autenticación
El acceso puede controlarse aún más mediante las claves de condición en el elemento Condición de las políticas de autenticación. Estas claves de condición están presentes para su evaluación en función del protocolo y de si la solicitud está firmada con Signature Version 4 (SigV4) o es anónima. Las claves de condición distinguen entre mayúsculas y minúsculas.
AWS proporciona claves de condición globales que puede utilizar para controlar el acceso, como aws:PrincipalOrgID
yaws:SourceIp
. Para ver una lista de AWS claves de condición globales, consulte AWS claves de contexto de condiciones globales en la Guía IAM del usuario.
En la siguiente tabla se enumeran las claves de condición de VPC Lattice. Para obtener más información, consulte las claves de condición de Amazon VPC Lattice Services en la Referencia de autorización de servicio.
Claves de condición | Descripción | Ejemplo | Disponibilidad para usuarios anónimos (no autenticados) | ¿Disponible para g? RPC |
---|---|---|---|---|
vpc-lattice-svcs:Port |
Filtra el acceso por el puerto de servicio al que se realiza la solicitud | 80 | Sí | Sí |
vpc-lattice-svcs:RequestMethod |
Filtra el acceso por el método de la solicitud | GET | Sí | ¿Siempre POST |
vpc-lattice-svcs:RequestHeader/ |
Filtra el acceso por un par de nombre-valor de encabezado en los encabezados de la solicitud | content-type: application/json | Sí | Sí |
vpc-lattice-svcs:RequestQueryString/ |
Filtra el acceso por los pares clave-valor de la cadena de consulta de la solicitud URL | quux: [corge, grault] | Sí | No |
vpc-lattice-svcs:ServiceNetworkArn |
Filtra el acceso por parte ARN de la red de servicio del servicio que recibe la solicitud | arn:aws:vpc-lattice:us-west-2:123456789012:servicenetwork/sn-0123456789abcdef0 | Sí | Sí |
vpc-lattice-svcs:ServiceArn |
Filtra el ARN acceso según el servicio que recibe la solicitud | arn:aws:vpc-lattice:us-west-2:123456789012:service/svc-0123456789abcdef0 | Sí | Sí |
vpc-lattice-svcs:SourceVpc |
Filtra el acceso según el lugar desde VPC el que se realiza la solicitud | vpc-1a2b3c4d | Sí | Sí |
vpc-lattice-svcs:SourceVpcOwnerAccount |
Filtra el acceso por la cuenta propietaria de VPC la que procede la solicitud | 123456789012 | Sí | Sí |
Entidades principales anónimas (no autenticadas)
Los directores anónimos son personas que llaman y no firman sus AWS solicitudes con la versión 4 de Signature (SigV4) y se encuentran dentro de una red VPC que está conectada a la red de servicio. Las entidades principales anónimas pueden realizar solicitudes no autenticadas a los servicios de la red de servicios si una política de autenticación así lo permite.
Ejemplo de políticas de autenticación
Los siguientes son ejemplos de políticas de autenticación que requieren que las solicitudes las realicen las entidades principales autenticadas.
Todos los ejemplos utilizan la us-west-2
región y contienen una cuenta ficticia. IDs
Ejemplo 1: Restringir el acceso a los servicios a una persona específica AWS organización
El siguiente ejemplo de política de autenticación concede permisos a cualquier solicitud autenticada para acceder a cualquier servicio de la red de servicios a la que se aplique la política. Sin embargo, la solicitud debe provenir de los directores que pertenezcan a AWS organización especificada en la condición.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": "vpc-lattice-svcs:Invoke", "Resource": "*", "Condition": { "StringEquals": { "aws:PrincipalOrgID": [ "
o-123456example
" ] } } } ] }
Ejemplo 2: restringir el acceso a un servicio a un IAM rol específico
El siguiente ejemplo de política de autenticación concede permisos a cualquier solicitud autenticada que utilice el IAM rol rates-client
para realizar HTTP GET solicitudes en el servicio especificado en el Resource
elemento. El recurso del elemento Resource
es el mismo que el servicio al que está asociada la política.
{ "Version":"2012-10-17", "Statement":[ { "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::
123456789012
:role/rates-client" ] }, "Action": "vpc-lattice-svcs:Invoke", "Resource": [ "arn:aws:vpc-lattice:us-west-2:123456789012
:service/svc-0123456789abcdef0
/*" ], "Condition": { "StringEquals": { "vpc-lattice-svcs:RequestMethod": "GET" } } } ] }
Ejemplo 3: Restringir el acceso a los servicios por parte de los directores autenticados en un entorno específico VPC
El siguiente ejemplo de política de autenticación solo permite las solicitudes autenticadas de los principales cuyo identificador sea. VPC VPC vpc-1a2b3c4d
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": "vpc-lattice-svcs:Invoke", "Resource": "*", "Condition": { "StringNotEquals": { "aws:PrincipalType": "Anonymous" }, "StringEquals": { "vpc-lattice-svcs:SourceVpc": "
vpc-1a2b3c4d
" } } } ] }
Cómo funciona la autorización
Cuando un servicio de VPC Lattice recibe una solicitud, el AWS el código de cumplimiento evalúa todas las políticas de permisos relevantes en conjunto para determinar si se debe autorizar o denegar la solicitud. Evalúa todas las políticas IAM basadas en la identidad y las políticas de autenticación que se aplican en el contexto de la solicitud durante la autorización. De forma predeterminada, todas las solicitudes se deniegan de manera implícita si el tipo de autenticación es AWS_IAM
. Un permiso explícito de todas las políticas relevantes anula el valor predeterminado.
La autorización incluye:
-
Recopila todas las políticas relevantes basadas en la IAM identidad y las políticas de autenticación.
-
Evaluación del conjunto de políticas resultante:
-
Verificar que el solicitante (por ejemplo, un IAM usuario o un rol) tiene permisos para realizar la operación desde la cuenta a la que pertenece el solicitante. Si no hay una declaración de autorización explícita, AWS no autoriza la solicitud.
-
Verificar que la solicitud esté permitida por la política de autenticación de la red de servicios. Si hay una política de autenticación habilitada, pero no hay una declaración de autorización explícita, AWS no autoriza la solicitud. Si hay una instrucción de autorización explícita o el tipo de autenticación es
NONE
, el código continúa. -
Verificar que la solicitud esté permitida por la política de autenticación del servicio. Si hay una política de autenticación habilitada, pero no hay una declaración de autorización explícita, AWS no autoriza la solicitud. Si hay una instrucción de autorización explícita o si el tipo de autenticación es
NONE
, entonces el código de aplicación devuelve una decisión final de Permitir. -
Una denegación explícita en cualquier política invalida cualquier permiso concedido.
-
En el diagrama se muestra el flujo de trabajo de la autorización. Cuando se realiza una solicitud, las políticas relevantes permiten o deniegan el acceso de la solicitud a un servicio determinado.