Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Cómputo
Elastic Cloud Server
Bare Metal Server
Auto Scaling
Image Management Service
Dedicated Host
FunctionGraph
Cloud Phone Host
Huawei Cloud EulerOS
Redes
Virtual Private Cloud
Elastic IP
Elastic Load Balance
NAT Gateway
Direct Connect
Virtual Private Network
VPC Endpoint
Cloud Connect
Enterprise Router
Enterprise Switch
Global Accelerator
Gestión y gobernanza
Cloud Eye
Identity and Access Management
Cloud Trace Service
Resource Formation Service
Tag Management Service
Log Tank Service
Config
Resource Access Manager
Simple Message Notification
Application Performance Management
Application Operations Management
Organizations
Optimization Advisor
Cloud Operations Center
Resource Governance Center
Migración
Server Migration Service
Object Storage Migration Service
Cloud Data Migration
Migration Center
Cloud Ecosystem
KooGallery
Partner Center
User Support
My Account
Billing Center
Cost Center
Resource Center
Enterprise Management
Service Tickets
HUAWEI CLOUD (International) FAQs
ICP Filing
Support Plans
My Credentials
Customer Operation Capabilities
Partner Support Plans
Professional Services
Análisis
MapReduce Service
Data Lake Insight
CloudTable Service
Cloud Search Service
Data Lake Visualization
Data Ingestion Service
GaussDB(DWS)
DataArts Studio
IoT
IoT Device Access
Otros
Product Pricing Details
System Permissions
Console Quick Start
Common FAQs
Instructions for Associating with a HUAWEI CLOUD Partner
Message Center
Seguridad y cumplimiento
Security Technologies and Applications
Web Application Firewall
Host Security Service
Cloud Firewall
SecMaster
Data Encryption Workshop
Database Security Service
Cloud Bastion Host
Data Security Center
Cloud Certificate Manager
Blockchain
Blockchain Service
Servicios multimedia
Media Processing Center
Video On Demand
Live
SparkRTC
Almacenamiento
Object Storage Service
Elastic Volume Service
Cloud Backup and Recovery
Storage Disaster Recovery Service
Scalable File Service
Volume Backup Service
Cloud Server Backup Service
Data Express Service
Dedicated Distributed Storage Service
Contenedores
Cloud Container Engine
SoftWare Repository for Container
Application Service Mesh
Ubiquitous Cloud Native Service
Cloud Container Instance
Bases de datos
Relational Database Service
Document Database Service
Data Admin Service
Data Replication Service
GeminiDB
GaussDB
Distributed Database Middleware
Database and Application Migration UGO
TaurusDB
Middleware
Distributed Cache Service
API Gateway
Distributed Message Service for Kafka
Distributed Message Service for RabbitMQ
Distributed Message Service for RocketMQ
Cloud Service Engine
EventGrid
Dedicated Cloud
Dedicated Computing Cluster
Aplicaciones empresariales
ROMA Connect
Message & SMS
Domain Name Service
Edge Data Center Management
Meeting
AI
Face Recognition Service
Graph Engine Service
Content Moderation
Image Recognition
Data Lake Factory
Optical Character Recognition
ModelArts
ImageSearch
Conversational Bot Service
Speech Interaction Service
Huawei HiLens
Developer Tools
SDK Developer Guide
API Request Signing Guide
Terraform
Koo Command Line Interface
Distribución de contenido y cómputo de borde
Content Delivery Network
Intelligent EdgeFabric
CloudPond
Soluciones
SAP Cloud
High Performance Computing
Servicios para desarrolladores
ServiceStage
CodeArts
CodeArts PerfTest
CodeArts Req
CodeArts Pipeline
CodeArts Build
CodeArts Deploy
CodeArts Artifact
CodeArts TestPlan
CodeArts Check
Cloud Application Engine
aPaaS MacroVerse
KooPhone
KooDrive
Centro de ayuda/ Identity and Access Management/ Guía del usuario/ Proveedores de identidades/ Sintaxis de las reglas de conversión de identidad

Sintaxis de las reglas de conversión de identidad

Actualización más reciente 2024-07-30 GMT+08:00
Una regla de conversión de identidad es un objeto JSON que se puede modificar. El siguiente es un ejemplo de objeto JSON:
[
          {
                    "local": [
                              {
                                        "<user> or <group> or <groups>"
                              }
                    ],
                    "remote": [
                              {
                                        "<condition>"
                              }
                    ]
          }
]

Descripción de parámetros:

  • local: información de identidad de un usuario federado asignado a IAM. El valor de este campo puede contener marcadores de posición, como {0...n}. Los atributos {0} y {1} representan los atributos remotos primero y segundo de la información de usuario, respectivamente.
  • remote: Información sobre un usuario federado del IdP. Este campo es una expresión que consiste en atributos de aserción y operadores. El valor de este campo viene determinado por la aserción.
    • condition: Condiciones para que la regla de conversión de identidad entre en vigor. Se admiten los siguientes tres tipos de condiciones:
      • empty: la regla coincide con todas las notificaciones que contienen el tipo de atributo. No es necesario especificar esta condición. El resultado de la condición es el argumento que se pasa como entrada.
      • any_one_of: La regla solo coincide si alguna de las cadenas especificadas aparece en el tipo de atributo. El resultado de la condición es booleano, no el argumento que se pasa como entrada.
      • not_any_of: La regla no coincide si alguna de las cadenas especificadas aparece en el tipo de atributo. El resultado de la condición es booleano, no el argumento que se pasa como entrada.
AVISO:

La información de usuario asignada a IAM solo puede contener letras, dígitos, espacios, guiones (-) guiones bajos y puntos (.), y no puede comenzar con un dígito.

Ejemplos de la condición empty

La condición empty devuelve cadenas de caracteres para reemplazar los atributos locales {0..n}.

  • En el siguiente ejemplo, el nombre de usuario de un usuario federado será, "el valor del primer atributo remoto+espacio+el valor del segundo atributo remoto" en IAM, es decir, FirstName LastName. El grupo al que pertenece el usuario es el valor del tercer atributo remoto Group. Este atributo solo tiene un valor.
    [ 
            { 
                "local": [ 
                    { 
                        "user": { 
                            "name": "{0} {1}" 
                        } 
                    }, 
                    { 
                        "group": { 
                            "name": "{2}" 
                        } 
                    } 
                ], 
                "remote": [ 
                    { 
                        "type": "FirstName" 
                    }, 
                    { 
                        "type": "LastName" 
                    }, 
                    { 
                        "type": "Group" 
                    } 
                ] 
            } 
    ]     

    Si se recibe la siguiente aserción (simplificada para una fácil comprensión), el nombre de usuario del usuario federado será John Smith y el usuario solo pertenecerá al grupo de admin.

    {FirstName: John} 
    {LastName: Smith} 
    {Group: admin}
  • Si un usuario federado pertenecerá a varios grupos de usuarios en IAM, la regla de conversión de identidad se puede configurar de la siguiente manera:

    En el siguiente ejemplo, el nombre de usuario de un usuario federado será, "el valor del primer atributo remoto+espacio+el valor del segundo atributo remoto" en IAM, es decir, FirstName LastName. Los grupos a los que pertenece el usuario son el valor del tercer atributo remoto Groups.

    [  
            {  
                "local": [  
                    {  
                        "user": {  
                            "name": "{0} {1}"  
                        }  
                    },  
                    {  
                        "group":   {  
                            "name": "{2}"  
                        }   
                    }  
                ],  
                "remote": [  
                    {  
                        "type": "FirstName"  
                    },  
                    {  
                        "type": "LastName"  
                    },  
                    {  
                        "type": "Groups"  
                    }  
                ]  
            }  
    ]  

    Si se recibe la siguiente aserción, el nombre de usuario del usuario federado será John Smith y el usuario pertenecerá a los grupos de admin y manager.

    {FirstName: John}  
    {LastName: Smith}  
    {Groups: [admin, manager]}

Ejemplos de condiciones "any one of" y "not any of"

A diferencia de la condición empty, any one of y not any of ellas devuelven valores booleanos. Estos valores no se utilizarán para reemplazar los atributos locales. En el siguiente ejemplo, solo {0} será reemplazado por el valor devuelto de la primera condición de empty en el bloque remote. El valor de group se fija como admin.

  • El UserName del usuario federado en IAM es el valor del primer atributo remoto, es decir, el UserName. El usuario federado pertenece al grupo de admin. Esta regla solo tiene efecto para los usuarios que son miembros del grupo idp_admin en el IdP.
    [ 
            { 
                "local": [ 
                    { 
                        "user": { 
                            "name": "{0}" 
                        } 
                    }, 
                    { 
                        "group": { 
                            "name": "admin" 
                        } 
                    } 
                ], 
                "remote": [ 
                    { 
                    "type": "UserName" 
                    }, 
                    { 
                        "type": "Groups", 
                        "any_one_of": [ 
                            "idp_admin" 
                        ] 
                    } 
                ] 
            } 
    ]     
  • Si un usuario federado pertenecerá a varios grupos de usuarios en IAM, la regla de conversión de identidad se puede configurar de la siguiente manera:
    El UserName del usuario federado en IAM es el valor del primer atributo remoto, es decir, el UserName. El usuario federado pertenece a los grupos de admin y manager. Esta regla solo tiene efecto para los usuarios que son miembros del grupo idp_admin en el IdP.
    [  
            {  
                "local": [  
                    {  
                        "user": {  
                            "name": "{0}"  
                        }  
                    },  
                    {  
                        "group": {
                               "name":"admin"
                        }
                    },
                    {  
                        "group": {
                               "name":"manager"
                        }
                    }
                ],  
                "remote": [  
                    {  
                    "type": "UserName"  
                    },  
                    {  
                        "type": "Groups",  
                        "any_one_of": [  
                            "idp_admin"  
                        ]  
                    }  
                ]  
            }  
    ]     
    • La siguiente afirmación indica que el usuario federado John Smith es miembro del grupo idp_admin. Por lo tanto, el usuario puede acceder a Huawei Cloud.
      {UserName: John Smith} 
      {Groups: [idp_user, idp_admin, idp_agency]}
    • La siguiente afirmación indica que el usuario federado John Smith no es miembro del grupo idp_admin. Por lo tanto, la regla no tiene efecto para el usuario y el usuario no puede acceder a Huawei Cloud.
      {UserName: John Smith} 
      {Groups: [idp_user, idp_agency]}

Ejemplo de condición que contiene una expresión regular

Puede agregar "regex": true a una condición para calcular los resultados usando una expresión regular.

Esta regla entra en vigor para cualquier usuario cuyo nombre de usuario termine en @mail.com. El UserName de cada usuario federado aplicable es el UserName en IAM y el usuario pertenece al grupo de admin.
[ 
        { 
            "local": [ 
                { 
                    "user": { 
                        "name": "{0}" 
                    } 
                }, 
                { 
                    "group": { 
                        "name": "admin" 
                    } 
                } 
            ], 
            "remote": [ 
                { 
                "type": "UserName" 
                }, 
                { 
                    "type": "Groups", 
                    "any_one_of": [ 
                        ".*@mail.com$" 
                    ], 
                    "regex": true 
                } 
            ] 
        } 
]     

Ejemplos de condiciones combinadas

Se pueden combinar múltiples condiciones usando el operador lógico AND.

Esta regla solo tiene efecto para los usuarios federados que no pertenecen al grupo de usuarios idp_user o idp_agent en el IdP. El UserName de cada usuario federado aplicable es el UserName en IAM y el usuario pertenece al grupo de admin.
[ 
        { 
            "local": [ 
                { 
                    "user": { 
                        "name": "{0}" 
                    } 
                }, 
                { 
                    "group": { 
                        "name": "admin" 
                    } 
                } 
            ], 
            "remote": [ 
                { 
                "type": "UserName" 
                }, 
                { 
                    "type": "Groups", 
                    "not_any_of": [ 
                        "idp_user" 
                    ] 
                }, 
                { 
                    "type": "Groups", 
                    "not_any_of": [ 
                        "idp_agent" 
                    ] 
                } 
            ] 
        } 
]     

La regla anterior es equivalente a la siguiente:

[ 
        { 
            "local": [ 
                { 
                    "user": { 
                        "name": "{0}" 
                    } 
                }, 
                { 
                    "group": { 
                        "name": "admin" 
                    } 
                } 
            ], 
            "remote": [ 
                { 
                "type": "UserName" 
                }, 
                { 
                    "type": "Groups", 
                    "not_any_of": [ 
                        "idp_user", 
                        "idp_agent" 
                    ] 
                } 
            ] 
        } 
]     

Ejemplos de reglas combinadas

Si se combinan varias reglas, los métodos para coincidir nombres de usuario y grupos de usuarios son diferentes.

El nombre de un usuario federado será el nombre de usuario coincidente en la primera regla que surta efecto, y el usuario pertenecerá a todos los grupos coincidentes en todas las reglas que suban efecto. Un usuario federado solo puede iniciar sesión si al menos una regla entra en vigor para que coincida con el nombre de usuario. Para una fácil comprensión, las reglas de nombre de usuario y grupo de usuarios se pueden configurar por separado.

En el siguiente ejemplo, las reglas tienen efecto para los usuarios del grupo idp_admin. El UserName de cada usuario federado aplicable es el UserName en IAM y el usuario pertenece al grupo de admin.

[ 
    { 
        "local": [ 
            { 
                "user": { 
                    "name": "{0}" 
                } 
            } 
        ], 
        "remote": [ 
            { 
                "type": "UserName" 
            } 
        ] 
    }, 
    { 
        "local": [ 
            { 
                "group": { 
                    "name": "admin" 
                } 
            } 
        ], 
        "remote": [ 
            { 
                "type": "Groups", 
                "any_one_of": [ 
                    "idp_admin" 
                ] 
            } 
        ] 
    }
]

La siguiente afirmación indica que el usuario John Smith es miembro del grupo idp_admin en el IdP y, por lo tanto, cumple con las reglas. El nombre de usuario de este usuario será John Smith en IAM, y el usuario pertenecerá al grupo de admin.

{UserName: John Smith} 
{Groups: [idp_user, idp_admin, idp_agency]}

Utilizamos cookies para mejorar nuestro sitio y tu experiencia. Al continuar navegando en nuestro sitio, tú aceptas nuestra política de cookies. Descubre más

Comentarios

Comentarios

Comentarios

0/500

Seleccionar contenido

Enviar el contenido seleccionado con los comentarios