Pular para o conteúdo principal

Configurar a autenticação do AWS para a implantação do SageMaker

Este artigo descreve como configurar o perfil da instância para permitir que o senhor implante modelosMLflow em AWS SageMaker. É possível usar a chave de acesso para um usuário AWS com permissões semelhantes às do IAM role especificadas aqui, mas o Databricks recomenda usar o perfil da instância para dar uma permissão de clustering para ser implantado no SageMaker.

Etapa 1: Criar um site AWS IAM role e anexar a política de permissão do SageMaker

  1. No console da AWS, acesse o serviço IAM .

  2. Clique na guia Funções na barra lateral.

  3. Clique em Criar função .

    1. Em Selecionar tipo de entidade confiável , selecione Serviço da AWS .

    2. Em Escolher o serviço que utilizará essa função , clique no serviço EC2 .

      Selecionar serviço

    3. Clique em Próximo: permissões .

  4. Na tela Anexar políticas de permissões , selecione AmazonSageMakerFullAccess .

    Anexar permissão do SageMaker

  5. Clique em Próximo: revisão .

  6. No campo Nome da função , insira um nome de papel.

  7. Clique em Criar função .

  8. Na lista Funções, clique no nome da função.

    Resumo da função

Anote o ARN da sua função, que tem o formato arn:aws:iam::<account-id>:role/<role-name>.

Etapa 2: Adicionar uma política em linha para acesso ao recurso de implantação do SageMaker

Adicione uma política à função.

  1. Clique Política em linha.

  2. Cole a seguinte definição JSON:

    JSON
    {
    "Version": "2012-10-17",
    "Statement": [
    {
    "Action": ["s3:PutObjectAcl", "s3:PutObjectTagging"],
    "Resource": ["arn:aws:s3:::mlflow-sagemaker-*-<account-id>", "arn:aws:s3:::mlflow-sagemaker-*-<account-id>/*"],
    "Effect": "Allow"
    },
    {
    "Action": ["iam:GetRole"],
    "Resource": ["arn:aws:iam::<account-id>:role/<role-name>"],
    "Effect": "Allow"
    },
    {
    "Action": ["ecr:DescribeGitRepositories"],
    "Resource": ["arn:aws:ecr:*:<account-id>:repository/*"],
    "Effect": "Allow"
    }
    ]
    }

Essas permissões são necessárias para permitir que o cluster Databricks:

  1. Obtenha o ARN canônico da nova função.
  2. Faça upload de objetos com escopo de permissão para o S3 para uso pelos servidores de endpoint do SageMaker.

As permissões da função terão a seguinte aparência:

Permissões de função

Etapa 3: atualizar a política de confiança da função

Adicione iam:AssumeRole acesso ao sagemaker.amazonaws.com.

  1. Acesse Resumo da função > Relações de confiança > Editar relação de confiança .

  2. Cole e salve o seguinte JSON:

    JSON
    {
    "Version": "2012-10-17",
    "Statement": [
    {
    "Effect": "Allow",
    "Principal": {
    "Service": "ec2.amazonaws.com"
    },
    "Action": "sts:AssumeRole"
    },
    {
    "Effect": "Allow",
    "Principal": {
    "Service": "sagemaker.amazonaws.com"
    },
    "Action": "sts:AssumeRole"
    }
    ]
    }

Os relacionamentos de confiança da sua função devem se assemelhar ao seguinte:

Relações de confiança

Etapa 4: Permita que sua função Databricks workspace AWS passe a função

  1. Acesse sua funçãoDatabricks workspace AWS.

  2. Clique Política em linha.

  3. Cole e salve a seguinte definição JSON:

    JSON
    {
    "Version": "2012-10-17",
    "Statement": [
    {
    "Action": ["iam:PassRole"],
    "Resource": ["arn:aws:iam::<account-id>:role/<role-name>"],
    "Effect": "Allow"
    }
    ]
    }

em que account-id é o ID da account que executa o serviço AWS SageMaker e role-name é a função que você definiu na Etapa 1.

Etapa 5: Criar um clustering Databricks instance profile

  1. Nas configurações de administrador do Databricks workspace , acesse Security tab e clique em gerenciar ao lado de instance profile .

  2. Clique em Add instance profile (Adicionar perfil de instância ).

  3. Cole o ARN do instance profile associado à função da AWS que você criou. Esse ARN tem o formato arn:aws:iam::<account-id>:instance-profile/<role-name> e pode ser encontrado no console da AWS:

    ARN instance profile

  4. Clique no botão Adicionar .

    Adicionar IAM role

Para obter detalhes, consulte o tutorial: Configurar o acesso S3 com um instance profile.

Etapa 6: Inicie um clustering com o comando instance profile

Veja o perfil da instância.