En esta página, se describe cómo usar grupos de identidades en reglas de entrada y salida para permitir el acceso a recursos protegidos por perímetros de servicio.
Los Controles del servicio de VPC usan reglas de entrada y salida para permitir el acceso desde y hacia los recursos y los clientes protegidos por los perímetros de servicio. Para definir aún mejor el acceso, puedes especificar grupos de identidades en tus reglas de entrada y salida.
Un grupo de identidades es una forma conveniente de aplicar controles de acceso a un conjunto de usuarios y te permite administrar identidades que tienen políticas de acceso similares.
Para configurar grupos de identidades en las reglas de entrada o salida, puedes usar los siguientes grupos de identidades admitidos en el atributo identities:
- Grupo de Google
Identidades externas, como identidades para cargas de trabajo y usuarios de grupos de personal.
Los Controles del servicio de VPC no admiten la Workload Identity Federation for GKE.
Si quieres obtener información para aplicar las políticas de reglas de entrada y salida, consulta Configura políticas de entrada y salida.
Antes de comenzar
- Asegúrate de leer las Reglas de entrada y salida.
Configura grupos de identidades en reglas de entrada
Consola
Cuando actualizas una política de entrada de un perímetro de servicio o estableces una política de entrada durante la creación del perímetro con la consola de Google Cloud , puedes configurar la regla de entrada para que use grupos de identidades.
Cuando crees o edites un perímetro en la consola de Google Cloud , selecciona Política de entrada.
En la sección De de tu política de entrada, selecciona Seleccionar identidades y grupos en la lista Identidades.
Haz clic en Agregar identidades.
En el panel Agrega identidades, especifica un Grupo de Google o una identidad de terceros a los que deseas proporcionar acceso a los recursos del perímetro. Para especificar un grupo de identidades, usa el formato detallado en Grupos de identidades admitidos.
Haz clic en Agregar identidades.
Haz clic en Guardar.
Para obtener información sobre los otros atributos de reglas de entrada, consulta la Referencia de reglas de entrada.
gcloud
Puedes configurar una regla de entrada para usar grupos de identidades con un archivo JSON o YAML. En el siguiente ejemplo, se usa el formato YAML:
- ingressFrom:
identities:
- PRINCIPAL_IDENTIFIER
sources:
- resource: RESOURCE
*OR*
- accessLevel: ACCESS_LEVEL
ingressTo:
operations:
- serviceName: SERVICE_NAME
methodSelectors:
- method: METHOD_NAME
resources:
- projects/PROJECT_NUMBER
Reemplaza lo siguiente:
PRINCIPAL_IDENTIFIER: Especifica un Grupo de Google o una identidad de terceros a la que deseas proporcionar acceso a los recursos del perímetro. Para especificar un grupo de identidades, usa el formato detallado en Grupos de identidades admitidos.
Para obtener información sobre los otros atributos de reglas de entrada, consulta la Referencia de reglas de entrada.
Después de actualizar una regla de entrada existente para configurar grupos de identidades, debes actualizar las políticas de reglas del perímetro de servicio:
gcloud access-context-manager perimeters update PERIMETER_ID --set-ingress-policies=RULE_POLICY.yaml
Reemplaza lo siguiente:
PERIMETER_ID: Es el ID del perímetro de servicio que deseas actualizar.RULE_POLICY: Es la ruta de acceso al archivo de regla de entrada modificado.
Para obtener más información, consulta Actualiza las políticas de entrada y salida de un perímetro de servicio.
Configura grupos de identidades en reglas de salida
Consola
Cuando actualizas una política de salida de un perímetro de servicio o estableces una política de salida durante la creación del perímetro con la consola de Google Cloud , puedes configurar la regla de salida para que use grupos de identidades.
Cuando crees o edites un perímetro en la consola de Google Cloud , selecciona Política de salida.
En la sección De de tu política de salida, selecciona Seleccionar identidades y grupos en la lista Identidades.
Haz clic en Agregar identidades.
En el panel Agrega identidades, especifica un Grupo de Google o una identidad de terceros que pueda acceder a los recursos especificados fuera del perímetro. Para especificar un grupo de identidades, usa el formato detallado en Grupos de identidades admitidos.
Haz clic en Agregar identidades.
Haz clic en Guardar.
Para obtener información sobre los otros atributos de reglas de salida, consulta Referencia de reglas de salida.
gcloud
Puedes configurar una regla de salida para usar grupos de identidades con un archivo JSON o YAML. En el siguiente ejemplo, se usa el formato YAML:
- egressTo:
operations:
- serviceName: SERVICE_NAME
methodSelectors:
- method: METHOD_NAME
resources:
- projects/PROJECT_NUMBER
egressFrom:
identities:
- PRINCIPAL_IDENTIFIER
Reemplaza lo siguiente:
PRINCIPAL_IDENTIFIER: Especifica un Grupo de Google o una identidad de terceros que pueda acceder a los recursos detallados fuera del perímetro. Para especificar un grupo de identidades, usa el formato detallado en Grupos de identidades admitidos.
Para obtener información sobre los otros atributos de reglas de salida, consulta Referencia de reglas de salida.
Después de actualizar una regla de salida existente para configurar grupos de identidades, debes actualizar las políticas de reglas del perímetro de servicio:
gcloud access-context-manager perimeters update PERIMETER_ID --set-egress-policies=RULE_POLICY.yaml
Reemplaza lo siguiente:
PERIMETER_ID: Es el ID del perímetro de servicio que deseas actualizar.RULE_POLICY: Es la ruta de acceso al archivo de regla de salida modificado.
Para obtener más información, consulta Actualiza las políticas de entrada y salida de un perímetro de servicio.
Grupos de identidad admitidos
Los Controles del servicio de VPC admiten los siguientes grupos de identidades de los identificadores principales de la API v1 de IAM:
| Tipo de principal | Identificador |
|---|---|
| Grupo | group:GROUP_EMAIL_ADDRESS |
| Una identidad única en un grupo de identidades de personal | principal://iam.googleapis.com/locations/global/workforcePools/POOL_ID/subject/SUBJECT_ATTRIBUTE_VALUE |
| Todas las identidades del personal de un grupo | principalSet://iam.googleapis.com/locations/global/workforcePools/POOL_ID/group/GROUP_ID |
| Todas las identidades del personal con un valor del atributo específico | principalSet://iam.googleapis.com/locations/global/workforcePools/POOL_ID/attribute.ATTRIBUTE_NAME/ATTRIBUTE_VALUE |
| Todas las identidades en un grupo de identidades de personal | principalSet://iam.googleapis.com/locations/global/workforcePools/POOL_ID/* |
| Una identidad única en un grupo de identidades para cargas de trabajo | principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/SUBJECT_ATTRIBUTE_VALUE |
| Conjunto de un grupo de identidades para cargas de trabajo | principalSet://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/group/GROUP_ID |
| Todas las identidades de un grupo de identidades para cargas de trabajo con un atributo determinado | principalSet://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/attribute.ATTRIBUTE_NAME/ATTRIBUTE_VALUE |
| Todas las identidades en un grupo de identidades para cargas de trabajo | principalSet://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/* |
Para obtener más información sobre estas identidades, consulta Identificadores principales para políticas de permiso.
Limitaciones
- Antes de usar grupos de identidades, debes comprender las funciones no admitidas en las reglas de entrada y salida.
- Cuando usas grupos de identidades en una regla de salida, no puedes establecer el campo
resourcesen el atributoegressTocomo"*". - No puedes usar una identidad para carga de trabajo en las reglas de entrada y salida para permitir las operaciones de la interfaz web de Apache Airflow en Cloud Composer. Sin embargo, puedes usar el tipo de identidad
ANY_IDENTITYen las reglas de entrada y salida para permitir el acceso a todas las identidades, incluidas las identidades para carga de trabajo. Para obtener más información sobre el tipo de identidadANY_IDENTITY, consulta Reglas de entrada y salida. - Si quieres obtener información sobre las reglas de límites de entrada y salida, consulta Cuotas y límites.