Creación de una política personalizada
Puede crear políticas personalizadas para complementar las políticas definidas por el sistema e implementar un control de acceso más refinado.
Puede crear las políticas personalizadas de cualquiera de las siguientes maneras:
- Editor visual: Seleccionar servicios en la nube, acciones, recursos y condiciones de solicitud. Esto no requiere conocimiento de la sintaxis de políticas.
- JSON: Crear una política JSON o editar una existente.
En esta sección se describe cómo crear políticas personalizadas en la página Permissions > Policies/Roles. También puede crear políticas personalizadas durante la autorización (consulte Figura 1).
Creación de una política personalizada en el editor visual
- Inicie sesión en la consola de IAM.
- En la consola de IAM, seleccione Permissions > Policies/Roles en el panel de navegación y haga clic en Create Custom Policy en la esquina superior derecha.
Figura 2 Creación de una política personalizada
- Introduzca un nombre de política.
Figura 3 Introducir un nombre de política
- Seleccione Visual editor para Policy View.
- Establezca el contenido de la política.
- Seleccione Allow o Deny.
- Seleccione un servicio en la nube.
- Solo se puede seleccionar un servicio en la nube para cada bloque de permisos. Para configurar permisos para varios servicios en la nube, haga clic en Add Permissions, o cambie a la vista JSON (consulte Creación de una política personalizada en la vista JSON).
- Una política personalizada puede contener permisos para servicios globales o a nivel de proyecto. Para definir los permisos necesarios para acceder a los servicios globales y a nivel de proyecto, incluya los permisos en dos directivas personalizadas independientes para la autorización refinada.
- Seleccione acciones.
- (Opcional) Seleccione todos los recursos o seleccione recursos específicos especificando sus rutas.
Para obtener más información sobre los servicios en la nube que admiten la autorización a nivel de recursos, consulte Servicios en la nube que admiten la autorización a nivel de recursos mediante IAM.
Tabla 1 Tipo de recurso Parámetro
Descripción
Specific
Permisos para recursos específicos. Por ejemplo, para definir permisos para buckets cuyos nombres comiencen por TestBucket especifique la ruta del recurso del bucket como OBS:*:*:bucket:TestBucket*.
NOTA:- Especificación de recursos de bucket
Formato: "OBS:*:*:bucket:Bucket name".
Para los recursos del bucket, IAM genera automáticamente el prefijo de la ruta del recurso: obs:*:*:bucket:. Para la ruta de un bucket específico, agregue el bucket name al final. También puede utilizar un carácter comodín (*) para indicar cualquier bucket. Por ejemplo, obs:*:*:bucket:* indica cualquier bucket OBS.
- Especificación de recursos de objeto
Formato: "OBS:*:*:object:Bucket name/object name".
Para los recursos de objetos, IAM genera automáticamente el prefijo de la ruta de recursos: obs:*:*:object:. Para la ruta de acceso de un objeto específico, agregue el bucket name/object name al final de la ruta de acceso del recurso. También puede utilizar un carácter comodín (*) para indicar cualquier objeto de un bucket. Por ejemplo, obs:*:*:object:my-bucket/my-object/* indica cualquier objeto en el directorio my-object del bucket de my-bucket.
All
Permisos para todos los recursos.
- (Opcional) Agregue las condiciones de solicitud especificando claves de condición, operadores y valores.
Tabla 2 Parámetros de condición Nombre
Descripción
Condition Key
Una clave en el elemento Condition de una sentencia. Hay claves de condición globales y específicas de servicio. Las claves de condición globales (comenzando con g:) están disponibles para las operaciones de todos los servicios, mientras que las claves de condición específicas de servicio (comenzando con un nombre de abreviatura de servicio como obs:) están disponibles sólo para las operaciones del servicio correspondiente. Para obtener más información, consulte la guía del usuario del servicio en la nube correspondiente, por ejemplo, consulte Condiciones de solicitud de OBS.
Operator
Se utiliza junto con una clave de condición y un valor de condición para formar una sentencia de condición completa.
Value
Se utiliza junto con una clave de condición y un operador que requiere una palabra clave, para formar una sentencia de condición completa.
Figura 4 Adición de una condición de solicitud
Tabla 3 Claves de condición globales Clave de condición global
Tipo
Descripción
g:CurrentTime
Time
Tiempo en la que se recibe una solicitud de autenticación. La hora está en formato ISO 8601, por ejemplo 2012-11-11T23:59:59Z.
g:DomainName
String
Nombre de cuenta.
g:MFAPresent
Boolean
Si se obtiene un token a través de la autenticación MFA.
g:MFAAge
Number
Período de validez de un token obtenido mediante autenticación MFA. Esta condición debe usarse junto con g:MFAPresent.
g:ProjectName
String
Nombre del proyecto.
g:ServiceName
String
Nombre del servicio.
g:UserId
String
ID de usuario de IAM.
g:UserName
String
Nombre de usuario de IAM.
- (Opcional) Cambie a la vista JSON y modifique el contenido de la política en formato JSON.
Si el contenido de la política modificada es incorrecto, vuelva a comprobarlo y modificarlo o haga clic en Reset para cancelar las modificaciones.
- (Opcional) Para agregar otro bloque de permisos a la política, haga clic en Add Permissions. También puede hacer clic en el icono de (+) más a la derecha de un bloque de permisos existente para clonar sus permisos.
- (Opcional) Introduzca una breve descripción de la política.
- Haga clic en OK.
- Adjunte la política a un grupo de usuarios. Los usuarios del grupo heredan los permisos definidos en esta política.
Puede adjuntar políticas personalizadas a un grupo de usuarios del mismo modo que adjuntar políticas definidas por el sistema. Para obtener más información, véase Creación de un grupo de usuarios y asignación de permisos.
Creación de una política personalizada en la vista JSON
- Inicie sesión en la consola de IAM.
- En la consola de IAM, seleccione Permissions > Policies/Roles en el panel de navegación y haga clic en Create Custom Policy en la esquina superior derecha.
Figura 5 Creación de una política personalizada
- Introduzca un nombre de política.
Figura 6 Introducir un nombre de política
- Seleccione JSON para Policy View.
- (Opcional) Haga clic en Select Existing Policy/Role y seleccione una política o función para usarla como plantilla, por ejemplo, seleccione EVS FullAccess.
Si selecciona varias políticas, todas deben tener el mismo ámbito, es decir, Global services o Project-level services. Para definir los permisos necesarios para acceder a los servicios globales y a nivel de proyecto, incluya los permisos en dos directivas personalizadas independientes para la autorización refinada.
- Haga clic en OK.
- Modifique la sentencia en la plantilla.
- Effect: Establezca como Allow o Deny.
- Action: Ingrese las acciones que aparecen en la tabla de acciones de la API (consulte Figura 7) del servicio EVS, por ejemplo, evs:volumes:create.
- La versión de cada política personalizada se fija en 1.1.
- Para obtener más información sobre las acciones de la API admitidas por cada servicio, consulte Permisos definidos por el sistema.
- (Opcional) Introduzca una breve descripción de la política.
- Haga clic en OK. Si se muestra la lista de políticas, la política se crea correctamente. Si se muestra un mensaje que indica contenido de política incorrecto, modifique la política.
- Adjunte la política a un grupo de usuarios. Los usuarios del grupo heredan los permisos definidos en esta política.
Puede adjuntar políticas personalizadas a un grupo de usuarios del mismo modo que adjuntar políticas definidas por el sistema. Para obtener más información, véase Creación de un grupo de usuarios y asignación de permisos.