Ajusta los permisos de IAM


En este tema se describe cómo limitar los tipos de recursos de Google Cloud que Config Connector puede crear y administrar mediante la limitación de los permisos de la administración de identidades y accesos (IAM) asignados a tu cuenta de servicio de Google.

Permisos de IAM para Config Connector

IAM autoriza la instalación de Config Connector para tomar medidas sobre recursos específicos. Si limitas los permisos asignados a tu cuenta de servicio de Config Connector, tendrás más control sobre los tipos de recursos que puede crear Config Connector.

Ajusta los permisos para tu Config Connector después de la instalación

Durante la instalación de Config Connector, es posible que hayas seleccionado una función temporal y asignada la función a la cuenta de servicio con la que configuras Config Connector. Por ejemplo, un rol de editor en un solo proyecto de Google Cloud.

Si configuraste Config Connector en el modo con espacio de nombres, es posible que incluso hayas creado más de una cuenta de servicio para cada espacio de nombres con su respectiva asignación de funciones.

Estos permisos de IAM iniciales para estas cuentas de servicio se pueden quitar o actualizar a fin de alinearse con las consideraciones de seguridad específicas de tu organización y los protocolos de control de permisos.

Una de las ventajas principales de Config Connector son las herramientas unificadas. Esto significa que puedes usar Config Connector para seguir ajustando la IAM después de la instalación. Puedes usar los recursos IAMPolicyMember o IAMPartialPolicy en Config Connector para configurar los permisos de IAM. Sin embargo, debes tener una cuenta de servicio con permisos de administrador de IAM en los proyectos, las carpetas o la organización. Esta cuenta de servicio debe estar configurada para vincularse a la instalación de Config Connector a través del modo de clúster o el modo de espacio de nombres.

Luego, puedes usar Config Connector para iniciar y administrar políticas importantes de IAM. En las siguientes secciones, se enumeran diferentes ejemplos de políticas.

Permiso de propietario de la organización

Para expandir los permisos de Config Connector a fin de que pueda administrar todos los proyectos y carpetas de una organización determinada, sigue estos pasos:

  1. Crea el siguiente manifiesto YAML:

    apiVersion: iam.cnrm.cloud.google.com/v1beta1
    kind: IAMPolicyMember
    metadata:
     name: iampolicymember-orglevel-permission
     namespace: NAMESPACE
    spec:
     member: serviceAccount:SERVICE_ACCOUNT_NAME@HOST_PROJECT_ID.iam.gserviceaccount.com
     role: roles/owner
     resourceRef:
       kind: Organization
       external: ORGANIZATION_ID
    

    Reemplaza lo siguiente:

    • NAMESPACE por el nombre del espacio de nombres
    • SERVICE_ACCOUNT_NAME por el nombre de tu cuenta de servicio
    • HOST_PROJECT_ID por el ID del proyecto host de tu cuenta de servicio
    • roles/owner por la función adecuada
    • ORGANIZATION_ID por el ID de la organización
  2. Aplica el manifiesto YAML al clúster con kubectl o las herramientas de Config Management que elijas.

Permiso de propietario de carpeta

Para expandir los permisos de Config Connector a fin de que pueda administrar todos los proyectos y carpetas en una carpeta determinada, haz lo siguiente:

  1. Crea el siguiente manifiesto YAML:

    apiVersion: iam.cnrm.cloud.google.com/v1beta1
    kind: IAMPolicyMember
    metadata:
     name: iampolicymember-orglevel-permission
     namespace: NAMESPACE
    spec:
     member: serviceAccount:SERVICE_ACCOUNT_NAME@HOST_PROJECT_ID.iam.gserviceaccount.com
     role: roles/owner
     resourceRef:
       kind: Folder
       external: folders/FOLDER_ID
    

    Reemplaza lo siguiente:

    • NAMESPACE por el nombre del espacio de nombres
    • SERVICE_ACCOUNT_NAME por el nombre de tu cuenta de servicio
    • HOST_PROJECT_ID por el ID del proyecto host de tu cuenta de servicio
    • roles/owner por la función adecuada
    • FOLDER_ID por el ID de la carpeta
  2. Aplica el manifiesto YAML al clúster con kubectl o las herramientas de Config Management que elijas.

Permisos de propietario del proyecto

Para permitir que Config Connector administre los recursos de un proyecto específico, ejecuta el siguiente comando:

  1. Crea el siguiente manifiesto YAML:

    apiVersion: iam.cnrm.cloud.google.com/v1beta1
    kind: IAMPolicyMember
    metadata:
     name: iampolicymember-orglevel-permission
     namespace: NAMESPACE
    spec:
     member: serviceAccount:SERVICE_ACCOUNT_NAME@HOST_PROJECT_ID.iam.gserviceaccount.com
     role: roles/owner
     resourceRef:
       kind: Project
       external: projects/PROJECT_ID
    

    Reemplaza lo siguiente:

    • NAMESPACE por el nombre del espacio de nombres
    • SERVICE_ACCOUNT_NAME por el nombre de tu cuenta de servicio
    • HOST_PROJECT_ID por el ID del proyecto host de tu cuenta de servicio
    • roles/owner por la función adecuada
    • PROJECT_ID por el ID del proyecto de destino
  2. Aplica el manifiesto YAML al clúster con kubectl o las herramientas de Config Management que elijas.

Permisos limitados

Si prefieres otorgar permisos más limitados a Config Connector, puedes asignar uno o más permisos de IAM a la instalación de Config Connector. Para ello, crea algunos recursos IAMPolicyMember o un recurso IAMPartialPolicy combinado. Las siguientes funciones se asignan, por lo general, a la cuenta de servicio de Config Connector:

  • Editor: si se otorga la función de editor, se permitirán la mayoría de las funciones de Config Connector, excepto las configuraciones en toda la organización o el proyecto, como las modificaciones de IAM.

  • Función de administrador de cuentas de servicio de IAM: otorgar los permisos roles/iam.serviceAccountAdmin permite que Config Connector configure cuentas de servicio de IAM.

  • Resource Manager: Otorgar una función de Resource Manager, como roles/resourcemanager.folderCreator, permite que Config Connector administre carpetas y organizaciones.

Roles personalizados

IAM también proporciona la capacidad de crear funciones personalizadas. Puedes crear una función personalizada con uno o más permisos y, luego, otorgar esa función personalizada a Config Connector. Para obtener más información, consulta Comprende las funciones personalizadas de IAM.

¿Qué sigue?