Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /
/ / /

Configure integraciones unificadas de proveedores de nube

Algunas características de Atlas, incluidas Data Federation y Cifrado en reposo, autenticarse con Roles de AWS IAM. Cuando Atlas accede a los servicios de AWS, asume un rol IAM.

Puedes configurar un rol IAM asumido para tu cuenta de Atlas para usarlo con la API de administración de Atlas o la interfaz de usuario de Atlas si tienes los siguientes requisitos: Rol Project Owner. Atlas admite acceso unificado solo para AWS.

Puede utilizar Atlas Kubernetes Operator para configurar el acceso unificado para una función de AWS IAM en AtlasProject Recurso personalizado.

Importante

Si operas Atlas Kubernetes Operator bajo un modelo CRD independiente, no puedes configurar la autenticación de AWS IAM usando atlasProject parámetros. Para configurar la autenticación de AWS IAM directamente para tu proyecto de Atlas, consulta Configura la autenticación con AWS IAM.

Necesita la siguiente llave pública de API, llave privada de API y la información del Identificador de la Organización para configurar el acceso de Atlas Kubernetes Operator a Atlas.

  • Si deseas que el Atlas Kubernetes Operator cree un nuevo Proyecto de Atlas, otorga acceso programático a una organización. Si tu organización requiere una lista de acceso IP para la API de administración de Atlas, también deberás configurar la lista de acceso a la API.

    Importante

    Debes asignar la clave API al Organization Project Creator rol en la organización o superior.

  • Si deseas trabajar con un proyecto Atlas existente, Añadir acceso al proyecto desde un proyecto. Si tu organización requiere una lista de acceso IP para la API de Administración de Atlas, también debes configurar la lista de acceso a la API.

    Importante

    Debe asignar al clave API el rol de proyecto Project Owner.

Para saber más, consulta Configura el acceso a Atlas.

1
  1. Especifique un marcador de posición de valor vacío dentro del especificación.integracionesProveedorDeNube.arnRolAsumidoIam parámetro del AtlasProject Custom recurso.

  2. Especifica AWS dentro de spec.cloudProviderIntegrations.providerName parámetro del AtlasProject Recurso personalizado.

Ejemplo:

cat <<EOF | kubectl apply -f -
apiVersion: atlas.mongodb.com/v1
kind: AtlasProject
metadata:
name: my-project
spec:
name: Test Project
projectIpAccessList:
- ipAddress: "192.0.2.15"
comment: "IP address for Application"
cloudProviderIntegrations:
- providerName: "AWS"
iamAssumedRoleArn: ""
EOF

Importante

Completa todo este procedimiento para configurar el rol del marcador de posición de valor vacío antes de agregar cualquier rol de acceso adicional a tu recurso personalizado AtlasProject.

2
  1. Ejecute el comando para recuperar el atlasAWSAccountArn, que necesitarás para los siguientes pasos.

    kubectl get atlasprojects my-project -o=jsonpath='{.status.cloudProviderIntegrations.atlasAWSAccountArn.type}'
    arn:aws:iam::198765432109:root
  2. Ejecute el comando para recuperar el atlasAssumedRoleExternalId, que necesitarás para los siguientes pasos.

    kubectl get atlasprojects my-project -o=jsonpath='{.status.cloudProviderIntegrations.atlasAssumedRoleExternalId.type}'
    1a234b56-c789-0d12-345e-67f89012345a
3

Puedes usar un rol de IAM existente o crear un nuevo rol de IAM para acceso unificado.

Modifique la política de confianza de su rol de AWS IAM con la siguiente política de confianza personalizada. Reemplace las líneas resaltadas con los valores obtenidos en un paso anterior.

{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Principal":{
"AWS":"<atlasAWSAccountArn>"
},
"Action":"sts:AssumeRole",
"Condition":{
"StringEquals":{
"sts:ExternalId":"<atlasAssumedRoleExternalId>"
}
}
}
]
}

Crea el rol de AWS IAM </svg utilizando la siguiente política de confianza personalizada. Sustituya las líneas resaltadas con los valores que recuperó en un paso anterior.

{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Principal":{
"AWS":"<atlasAWSAccountArn>"
},
"Action":"sts:AssumeRole",
"Condition":{
"StringEquals":{
"sts:ExternalId":"<atlasAssumedRoleExternalId>"
}
}
}
]
}
4

En la sección Roles de la Consola de gestión de AWS, haz clic en el rol de IAM que editaste o creaste para el acceso a Atlas. AWS muestra el ARN en la sección Summary.

5

Reemplace el marcador de valor vacío dentro del spec.cloudProviderIntegrations.iamAssumedRoleArn parámetro del AtlasProject recurso personalizado con el rol IAM de AWS ARN del paso anterior.

Ejemplo:

cat <<EOF | kubectl apply -f -
apiVersion: atlas.mongodb.com/v1
kind: AtlasProject
metadata:
name: my-project
spec:
name: Test Project
projectIpAccessList:
- ipAddress: "192.0.2.15"
comment: "IP address for Application"
cloudProviderIntegrations:
- providerName: "AWS"
iamAssumedRoleArn: "arn:aws:iam::123456789012:role/aws-service-role/support.amazonaws.com/myRole"
EOF
6
  1. Ejecuta el comando para recuperar el estado:

    kubectl get atlasprojects my-project -o=jsonpath='{.status.cloudProviderIntegrations}'
  2. Verifica el estado de READY.

    • Si el estado CREATED es, Atlas creó el rol pero no lo ha autorizado dentro de AWS.

    • Si el estado es EMPTY_ARN, Atlas creó el rol, pero usted no ha especificado el spec.cloudProviderIntegrations.iamAssumedRoleArn.

    • Si el estado READY es, Atlas ha creado el rol y usted lo ha autorizado dentro de AWS.

Volver

Federado

En esta página