Docs Menu
Docs Home
/ /
Acceso al Atlas
/ / /

Configurar integraciones de proveedores de nube unificados

Algunas funciones de Atlas, incluidas la federación de datos y el cifrado en reposo, se autentican con Roles de AWS IAMCuando Atlas accede a los servicios de AWS, asume un rol de IAM.

Puede configurar un rol de IAM asumido para su cuenta de Atlas para usar con la API de administración de Atlas o la interfaz de usuario de Atlas si tiene la 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 opera Atlas Kubernetes Operator con un modelo CRD independiente, no podrá configurar la autenticación de AWS IAM mediante los atlasProject parámetros. Para configurar la autenticación de AWS IAM directamente para su proyecto Atlas, consulte Configurar la autenticación con AWS IAM.

Necesita la siguiente clave API pública, clave API privada y la información de ID de la organización para configurar el acceso del operador de Kubernetes de Atlas a Atlas.

  • Si desea que el operador de Kubernetes de Atlascree un nuevo proyecto de Atlas, otorgue acceso programático a unaorganización. Si su organización requiere una lista de acceso de IP para la API de administración de Atlas, también debe configurarla.

    Importante

    Debes asignar la clave API a la Organization Project Creator rol organizacional o superior.

  • Si desea trabajar con un proyecto de Atlas existente, agregue el acceso al proyecto desdeun proyecto. Si su organización requiere una lista de acceso IP para la API de administración de Atlas, también debe configurarla.

    Importante

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

Para obtener más información, consulte Configurar el acceso a Atlas.

1
  1. Especifique un marcador de posición de valor vacío dentro del parámetro spec.cloudProviderIntegrations.iamAssumedRoleArn del AtlasProject recurso personalizado.

  2. Especifique AWS dentro del parámetro spec.cloudProviderIntegrations.providerName 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

Complete todo este procedimiento para configurar el rol para el marcador de valor vacío antes de agregar cualquier rol de acceso adicional a su recurso personalizado AtlasProject.

2
  1. Ejecute el comando para recuperar el atlasAWSAccountArn que necesita 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 necesita para los siguientes pasos.

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

Puede utilizar 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>"
}
}
}
]
}

Cree el 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>"
}
}
}
]
}
4

En la Roles sección de la consola de administración de AWS, haga clic en el rol de IAM que editó o creó para acceder a Atlas. AWS muestra el ARN en la Summary sección.

5

Reemplace el marcador de posición de valor vacío dentro del spec.cloudProviderIntegrations.iamAssumedRoleArn parámetro del AtlasProject recurso personalizado con el ARN de AWS del rol de IAM 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. Ejecute el comando para recuperar el estado:

    kubectl get atlasprojects my-project -o=jsonpath='{.status.cloudProviderIntegrations}'
  2. Verifique el estado 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 no ha especificado 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