Problemas conocidos y limitaciones
Los problemas conocidos y las limitaciones incluyen no poder restringir el acceso a algunos productos en el catálogo de IBM Cloud® y los límites máximos para crear recursos de IBM Cloud Identity and Access Management (IAM).
Para revisar los límites predeterminados de su cuenta, consulte Límites de IAM(IBM Cloud ).
El inicio de sesión de Google no da soporte a los ID federados
El inicio de sesión de ID de Google no está disponible para los usuarios con ID federados debido a un acceso adicional que puede ser necesario para su proveedor de identidad externo corporativo (IdP).
Los valores de gestión de catálogos no se aplican a algunos productos IBM
Algunos productos no se ven afectados por los siguientes valores de visibilidad de catálogo:
- Desactivación de la visibilidad del catálogo IBM Cloud
- Exclusión de todos los productos IBM Cloud del catálogo
- Exclusión de todos los productos IBM Cloud de sus catálogos privados
Puede ver y gestionar los valores de visibilidad del catálogo yendo a Gestionar > Catálogos > Valores en la consola de IBM Cloud.
Los usuarios pueden seguir creando instancias de los productos siguientes utilizando una API o la CLI, independientemente del valor de visibilidad de catálogo en la cuenta o el catálogo privado:
- Block Storage for VPC
- Citrix Netscaler VPX
- Fortigate Security Appliance
- Hardware Firewall
- Cortafuegos de hardware dedicado
- IBM Cloud Backup for Classic
- IBM Cloud Bare Metal Servers
- IBM Cloud Block Storage for Classic
- IBM Cloud Container Registry
- IBM Cloud Content Delivery Network
- IBM Cloud Direct Link
- IBM Cloud Direct Link on Classic
- IBM Cloud Functions
- IBM Cloud Gateway Appliance
- Módulos de seguridad de hardware de IBM Cloud
- IBM Cloud Kubernetes Service
- IBM Cloud Object Storage
- IBM Cloud Schematics
- Equilibrador de carga de IBM Cloud
- IBM Cloud Virtual Servers
- Subredes e IP
- Nube privada virtual
- Virtual Server for VPC
- VLAN
- VPN
- VPN for VPC
Limitaciones de políticas basadas en atributos
Las etiquetas de gestión de acceso sólo están disponibles cuando se crea una política de acceso con alcance para todos los servicios habilitados para IAM. En este caso, cuando habilita el acceso basado en etiquetas, no se pueden añadir otros atributos. Cuando basa la política en un grupo de recursos o una ubicación específica, no se puede añadir ninguna etiqueta a la política de acceso.
Limitaciones de versión de política de acceso
A partir del 25 de enero de 2023, IAM da soporte a dos versiones de la API de gestión de políticas de IAM: /v2/policies
y /v1/policies
. v1/polices
permite comparaciones de series con atributos en el asunto
y los recursos de una política. v2/polices
presenta un nuevo esquema que proporciona compatibilidad funcional hacia atrás al tiempo que permite comparaciones y operadores más complejos y condiciones basadas en el tiempo.
Comparaciones entre cadenas de caracteres
La siguiente tabla enumera los operadores de comparación de cadenas que puede utilizar para crear políticas de acceso con una sintaxis de /v2/policies
. Para obtener más información sobre cada versión, consulte Comparación de la sintaxis de /v1/policies
y /v2/policies
.
Para ver ejemplos de casos de uso de los operadores, consulte Condiciones basadas en atributos de recursos.
Puede tener hasta 10 condiciones y anidar hasta 2 niveles.
Operador | Descripción |
---|---|
stringEquals |
Comparación de series sensible a mayúsculas y minúsculas. Los valores booleanos o numéricos se convierten en una serie antes de la comparación. |
stringMatch |
La coincidencia de cadenas con distinción entre mayúsculas y minúsculas se realiza entre el patrón y la cadena de destino utilizando un asterisco ( * ), un signo de interrogación ( ? ), ambos o ninguno (igual
que el valor literal). Un asterisco ( * ) representa cualquier secuencia de cero o más caracteres en la cadena, y un signo de interrogación ( ? ) representa cualquier carácter individual. También puede expresar
un asterisco * y un signo de interrogación ? como un valor literal encerrándolos entre dos pares de llaves {{}} . |
stringExists |
Booleano donde true indica que la cadena debe estar presente y puede estar vacía. false indica que la cadena no debe estar presente. |
stringEqualsAnyOf |
Cadena exacta que distingue entre mayúsculas y minúsculas y coincide con cualquiera de las cadenas de una matriz de cadenas. Límite de 10 valores. |
stringMatchAnyOf |
Cadena sensible a mayúsculas y minúsculas que coincide con cualquiera de las cadenas de una matriz de cadenas. Los valores de cadena pueden incluir un asterisco ( * ), un signo de interrogación ( ? ), ambos
o ninguno (igual que el valor literal). Un asterisco ( * ) representa cualquier secuencia de cero o más caracteres en la cadena, y un signo de interrogación ( ? ) representa cualquier carácter individual.
También puede expresar un asterisco * y un signo de interrogación ? como un valor literal encerrándolos entre dos pares de llaves {{}} . Límite de 10 valores. |
Por ejemplo, la sentencia siguiente contiene un elemento operator
que utiliza stringEquals
para especificar que el ID de cuenta y el nombre de servicio deben coincidir exactamente con el elemento value
.
La sentencia también contiene un elemento operator
que utiliza stringMatch
para especificar una pauta de nomenclatura para Event Streams temas que puede utilizar para organizar el acceso a esos recursos específicos.
De esta forma, puede asignar una política a todos los temas de la cuenta que empiecen por messagehub-topic-dev
.
"resource": {
"attributes": [
{
"operator": "stringEquals",
"value": "0aeab68aabd14d89bd72e4330150710a0",
"key": "accountId"
},
{
"value": "messagehub",
"operator": "stringEquals",
"key": "serviceName"
},
{
"value": "messagehub-topic-dev*",
"operator": "stringMatch",
"key": "resource"
}
]
},
Las políticas de autorización sólo están soportadas actualmente en /v1/policies
.
Comprobación de una versión de política en la consola
Las condiciones basadas en tiempo y en atributos de recursos para las políticas de acceso de IAM utilizan la sintaxis /v2/policies
. Las políticas que utilizan la sintaxis /v1/policies
no son aptas para añadir condiciones
basadas en el tiempo y en atributos de recursos. Para actualizar /v1/policies
a /v2/policies
utilizando la API, consulte Actualización de /v1/policies
a /v2/policies
con condiciones utilizando la API.
Para comprobar si puede añadir estas condiciones a una política existente en la consola, realice los pasos siguientes.
-
Vaya a Gestionar > Acceso (IAM).
-
Seleccione Usuarios, Perfiles de confianza, ID de servicio o Grupos de acceso, en función de la política que desee comprobar.
-
Seleccione un usuario específico, un perfil de confianza, un ID de servicio o un grupo de acceso.
-
Vaya a Acceso > Políticas de acceso.
-
Pulse en una política.
/v1/policies
se indican mediante la notificación siguiente:Condiciones no disponibles para las políticas v1
-
(Opcional) Para añadir condiciones a una política que utiliza la sintaxis
/v1/policies
, suprima la política original y cree una nueva. En la consola, las nuevas políticas utilizan la sintaxis/v2/policies
.
Actualización de /v1/policies
a /v2/policies
con condiciones utilizando la API
Las políticas que utilizan la sintaxis /v1/policies
no son aptas para añadir condiciones basadas en el tiempo y en atributos de recursos. Para actualizar la versión, puede utilizar PUT /v2/policies/{id} con el ID V1 y las condiciones que desee incluir. Para obtener más información, consulte /v2/policies
.
Comparación de la sintaxis /v1/policies
y /v2/policies
La política de cada ejemplo otorga a un usuario acceso al servicio de facturación con el rol de editor. El ejemplo /v2/policies
incluye condiciones temporales basadas en el tiempo, indicadas por el parámetro "conditions"
.
Al editar, crear y suprimir políticas, utilice la versión de API correspondiente.
/v1/policies
{
"type": "access",
"roles": [
{
"role_id": "crn:v1:bluemix:public:iam::::role:Editor"
}
],
"resources": [
{
"attributes": [
{
"name": "accountId",
"value": "000c49bc2724a07000010b1da94c4d0"
},
{
"name": "serviceName",
"value": "billing"
}
]
}
],
"subjects": [
{
"attributes": [
{
"name": "iam_id",
"value": "IBMid-00000AV0S0"
}
]
}
]
}
Cuando lista políticas con /v1/policies
, la API devuelve /v1/
y una política de marcador para cada política de /v2/
que está en la cuenta. Para obtener más información, consulte /v1/policies
devuelve un marcador para /v2/
políticas de la cuenta
/v2/policies
{
"type": "access",
"control": {
"grant": {
"roles": [
{
"role_id": "crn:v1:bluemix:public:iam::::role:Editor"
}
]
}
},
"resource": {
"attributes": [
{
"operator": "stringEquals",
"value": "000c49bc2724a07000010b1da94c4d0",
"key": "accountId"
},
{
"value": "billing",
"operator": "stringEquals",
"key": "serviceName"
}
]
},
"rule": {
"operator": "and",
"conditions": [
{
"key": "{{environment.attributes.current_date_time}}",
"operator": "dateTimeGreaterThanOrEquals",
"value": "2023-01-01T09:00:00+00:00"
},
{
"key": "{{environment.attributes.current_date_time}}",
"operator": "dateTimeLessThanOrEquals",
"value": "2023-01-06T17:59:59+00:00"
}
]
},
"pattern": "time-based-conditions:once",
"subject": {
"attributes": [
{
"key": "iam_id",
"operator": "stringEquals",
"value": "IBMid-00000AV0S0"
}
]
}
}
/v1/policies
devuelve un marcador para las políticas de /v2/
Cuando lista políticas con /v1/policies
, la API devuelve /v1/
y una política de marcador para cada política de /v2/
que está en la cuenta. Los marcadores indican la existencia de políticas adicionales
en la cuenta mientras se respeta el esquema /v1/
. Para ver el contenido completo de una política /v2/
, liste las políticas utilizando /v2/policies
o recupere la política individual utilizando GET: v2/policies/<ID>
.
Por ejemplo, consulte la siguiente política de marcador:
{
"id": "33b901fa-8ec5-4432-a2e6-24b6a212c20a",
"type": "access",
"description": "**This is a unsupported policy version placeholder, to view the full content, please call GET with provided href**",
"subjects": [{
"attributes": [{
"name": "iam_id",
"value": "unsupported version"
}]
}],
"roles": [{
"role_id": "crn:v1:bluemix:public:iam::::role:UnsupportedVersion",
"display_name": "Unsupported Version",
"description": "**This is a unsupported policy version placeholder, to view the full content, please call GET with provided href**"
}],
"resources": [{
"attributes": [{
"name": "accountId",
"value": "000c49bc2724a07000010b1da94c4d0"
}]
}],
"href": "https://iam.cloud.ibm.com/v2/policies/88b901fa-6ec5-888-a2e6-24b6a212c20a"
}
Servicios afectados por la limitación de las interacciones con identidades externas
La limitación de las interacciones de identidades externas requiere que los usuarios con una política de acceso de IAM a los recursos de su cuenta accedan a dichos recursos únicamente cuando estén autenticados en su cuenta o en una cuenta de la lista permitida. Es posible que los siguientes servicios, o algunas de sus características, no funcionen como se espera si la configuración de las interacciones de identidad externa se establece en modo Limitado:
- IBM Cloud Satellite
- IBM Cloud Object Storage- los cubos de acceso público no serán accesibles
- IBM Cloud Code Engine
- IBM Cloud® DevOps Insights
- Informe de acceso (generación de informe de acceso a recursos CSV o JSON)
Para obtener más información sobre esta configuración, consulte Gestión de interacciones de identidad externas.