Menu Docs
Página inicial do Docs
/ /
Kubernetes Operator do MongoDB Atlas
/

Configurar integrações unificadas do fornecedor de nuvem

Nesta página

  • Pré-requisitos
  • Procedimento

Algumas funcionalidades do Atlas , incluindo Data Federation e Encryption at Rest, autenticam com Funções do Amazon Web ServicesAmazon Web Services IAM . Quando o Atlas acessa Amazon Web Services os serviços do Amazon Web Services, ele assume uma função do IAM.

Você pode configurar uma role presumida do IAM para sua conta Atlas usar com a API de administração do Atlas ou a UI do Atlas se tiver a role Project Owner . O Atlas oferece suporte ao acesso unificado apenas para Amazon Web Services.

Você pode usar Atlas Kubernetes Operator para configurar o acesso unificado para uma função do Amazon Web Services IAM no AtlasProject Recurso personalizado.

Importante

Você precisa das seguintes informações da chave de API pública, chave de API privada e ID da organização para configurar o acesso do Atlas Kubernetes Operator ao Atlas.

  • Se você quiser que o Atlas Kubernetes Operator crie um novo projeto do Atlas , concedaacesso programático a uma organização. Se sua organização exigir uma lista de acesso IP para a API Atlas Administration, você também deverá configurar a lista de acesso da API.

    Importante

    Você deve atribuir a chave API ao role da organização Organization Project Creator ou superior.

  • Se você quiser trabalhar com um projeto Atlas existente, adicione acesso a um projeto. Se sua organização exigir uma lista de acesso IP para a API Atlas Administration, você também deverá configurar a lista de acesso da API.

    Importante

    Você deve atribuir à chave de API ao role de projeto Project Owner .

Para saber mais, consulte Configurar Acesso ao Atlas.

1
  1. Especifique um espaço reservado de valor vazio dentro do parâmetro spec.cloudProviderIntegrations.iamAssumedRoleArn do Recurso Personalizado doAtlasProject .

  2. Especifique AWS dentro do parâmetro spec.cloudProviderIntegrations.providerName do Recurso PersonalizadoAtlasProject .

Exemplo:

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

Conclua todo este procedimento para configurar o papel para o espaço reservado de valor vazio antes de adicionar quaisquer papéis de acesso adicionais ao seu recurso personalizado do AtlasProject .

2
  1. Execute o comando para recuperar o atlasAWSAccountArn, que você precisa para as próximas etapas.

    kubectl get atlasprojects my-project -o=jsonpath='{.status.cloudProviderIntegrations.atlasAWSAccountArn.type}'
    arn:aws:iam::198765432109:root
  2. Execute o comando para recuperar o atlasAssumedRoleExternalId, que você precisa para as próximas etapas.

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

Você pode usar uma role IAM existente ou criar uma nova role IAM para acesso unificado.

Modifique a política de confiança para sua Amazon Web Services função IAM do usando a seguinte política de confiança personalizada. Substitua as linhas destacadas pelos valores que você recuperou em uma etapa anterior.

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

Criar a Amazon Web Services função IAM do usando a seguinte política de confiança personalizada. Substitua as linhas destacadas pelos valores que você recuperou em uma etapa anterior.

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

Na seção Roles do Console de Gerenciamento Amazon Web Services , clique no papel IAM que você editou ou criou para acesso do Atlas. A Amazon Web Services exibe o ARN na seção Summary .

5

Substitua o espaço reservado de valor vazio no parâmetro spec.cloudProviderIntegrations.iamAssumedRoleArn do AtlasProject Recurso personalizado pelo AWS ARN da função IAM da etapa anterior.

Exemplo:

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. Execute o comando para recuperar o status:

    kubectl get atlasprojects my-project -o=jsonpath='{.status.cloudProviderIntegrations}'
  2. Verifique o status READY .

    • Se o status for CREATED, o Atlas criou o role, mas você não o autorizou na Amazon Web Services.

    • Se o status for EMPTY_ARN, o Atlas criou o role, mas você não especificou o spec.cloudProviderIntegrations.iamAssumedRoleArn.

    • Se o status for READY , o Atlas criou a role e você a autorizou na AWS .

Voltar

Federado