Actualiza una asignación de roles en la organización especificada de la federación especificada. Para usar este recurso, la cuenta de servicio o la clave API solicitantes deben tener el rol de propietario de la organización.
Cadena de dígitos hexadecimales 24única que identifica su federación.
El formato debe coincidir con el siguiente patrón: ^([a-f0-9]{24})$.
string única de 24 dígitos hexadecimales que identifica la asignación de rol que desea actualizar.
El formato debe coincidir con el siguiente patrón: ^([a-f0-9]{24})$.
Cadena 24hexadecimal única que identifica la organización que contiene sus proyectos. Utilice el /orgs punto de conexión para recuperar todas las organizaciones a las que el usuario autenticado tiene acceso.
El formato debe coincidir con el siguiente patrón: ^([a-f0-9]{24})$.
Indicador que indica si la aplicación encapsula la respuesta en un objeto JSON envelope. Algunos clientes de la API no pueden acceder a los encabezados de respuesta HTTP ni al código de estado. Para solucionar esto, configure envelope=true en la consulta. Los endpoints que devuelven una lista de resultados utilizan el objeto de resultados como encapsulado. La aplicación añade el parámetro de estado al cuerpo de la respuesta.
El valor predeterminado es false.
La asignación de roles que desea actualizar.
Etiqueta única legible por humanos que identifica el grupo de proveedores de identidad al que se aplica esta asignación de rol.
La longitud mínima es 1, la longitud máxima es 200.
Roles de Atlas y los identificadores únicos de los grupos y organizaciones asociados a cada rol. La matriz debe incluir al menos un elemento con un rol de organización y su respectivo orgId. Cada elemento de la matriz puede tener un valor para orgId o groupId, pero no ambos.
atlas api federatedAuthentication updateRoleMapping --help
import (
"os"
"context"
"log"
sdk "go.mongodb.org/atlas-sdk/v20250312001/admin"
)
func main() {
ctx := context.Background()
clientID := os.Getenv("MONGODB_ATLAS_CLIENT_ID")
clientSecret := os.Getenv("MONGODB_ATLAS_CLIENT_SECRET")
// See https://dochub.mongodb.org/core/atlas-go-sdk-oauth
client, err := sdk.NewClient(sdk.UseOAuthAuth(clientID, clientSecret))
if err != nil {
log.Fatalf("Error: %v", err)
}
params = &sdk.UpdateFederationSettingConnectedOrgConfigRoleMappingApiParams{}
sdkResp, httpResp, err := client.FederatedAuthenticationApi.
UpdateFederationSettingConnectedOrgConfigRoleMappingWithParams(ctx, params).
Execute()
}
curl --include --header "Authorization: Bearer ${ACCESS_TOKEN}" \
--header "Accept: application/vnd.atlas.2025-03-12+json" \
--header "Content-Type: application/json" \
-X PUT "https://cloud.mongodb.com/api/atlas/v2/federationSettings/{federationSettingsId}/connectedOrgConfigs/{orgId}/roleMappings/{id}" \
-d '{ <Payload> }'
curl --user "${PUBLIC_KEY}:${PRIVATE_KEY}" \
--digest --include \
--header "Accept: application/vnd.atlas.2025-03-12+json" \
--header "Content-Type: application/json" \
-X PUT "https://cloud.mongodb.com/api/atlas/v2/federationSettings/{federationSettingsId}/connectedOrgConfigs/{orgId}/roleMappings/{id}" \
-d '{ <Payload> }'
{
"externalGroupName": "string",
"roleAssignments": [
{
"groupId": "32b6e34b3d91647abb20e7b8",
"orgId": "32b6e34b3d91647abb20e7b8",
"role": "string"
}
]
}
{
"externalGroupName": "string",
"id": "32b6e34b3d91647abb20e7b8",
"roleAssignments": [
{
"groupId": "32b6e34b3d91647abb20e7b8",
"orgId": "32b6e34b3d91647abb20e7b8",
"role": "string"
}
]
}
{
"error": 400,
"detail": "(This is just an example, the exception may not be related to this endpoint) No provider AWS exists.",
"reason": "Bad Request",
"errorCode": "VALIDATION_ERROR"
}
{
"error": 401,
"detail": "(This is just an example, the exception may not be related to this endpoint)",
"reason": "Unauthorized",
"errorCode": "NOT_ORG_GROUP_CREATOR"
}
{
"error": 403,
"detail": "(This is just an example, the exception may not be related to this endpoint)",
"reason": "Forbidden",
"errorCode": "CANNOT_CHANGE_GROUP_NAME"
}
{
"error": 404,
"detail": "(This is just an example, the exception may not be related to this endpoint) Cannot find resource AWS",
"reason": "Not Found",
"errorCode": "RESOURCE_NOT_FOUND"
}
{
"error": 500,
"detail": "(This is just an example, the exception may not be related to this endpoint)",
"reason": "Internal Server Error",
"errorCode": "UNEXPECTED_ERROR"
}