

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Guia de instalação
<a name="scheduled-notebook-installation"></a>

A seguir, são apresentadas informações sobre o que você precisa instalar para usar o Notebook Jobs em seu JupyterLab ambiente.

**Para Amazon SageMaker Studio e Amazon SageMaker Studio Lab**

Se o seu notebook estiver no Amazon SageMaker Studio ou no Amazon SageMaker Studio Lab, você não precisará realizar instalações adicionais. O SageMaker Notebook Jobs está incorporado à plataforma. Para configurar as permissões necessárias para o Studio, consulte [Configurar políticas e permissões para o Studio](scheduled-notebook-policies-studio.md).

**Para cadernos Jupyter locais**

Se você quiser usar o SageMaker Notebook Jobs em seu JupyterLab ambiente local, precisará realizar uma instalação adicional.

Para instalar o SageMaker Notebook Jobs, conclua as seguintes etapas:

1. Instalar o Python 3. Para obter detalhes, consulte [Instalando o Python 3 e os pacotes do Python](https://www.codecademy.com/article/install-python3).

1. Instale JupyterLab a versão 4 ou superior. Para obter detalhes, consulte a [documentação JupyterLab do SDK](https://jupyterlab.readthedocs.io/en/stable/getting_started/installation.html).

1. Instale AWS CLI o. Para obter detalhes, consulte [Instalar ou atualizar a versão mais recente da AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html).

1. Instale dois conjuntos de permissões. O usuário do IAM precisa de permissões para enviar trabalhos para a SageMaker IA e, uma vez enviado, o trabalho do notebook em si assume uma função do IAM que precisa de permissões para acessar recursos, dependendo das tarefas do trabalho.

   1. Se você ainda não criou um usuário do IAM, consulte [Criação de um usuário do IAM na sua conta da AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html).

   1. Se você ainda não criou sua função de trabalho do caderno, consulte [Criar uma função para delegar permissões a um usuário do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user.html).

   1. Anexe as permissões e a política de confiança necessárias para vincular ao seu usuário e função. Para step-by-step obter instruções e detalhes da permissão, consulte[Instale políticas e permissões para ambientes Jupyter locais](scheduled-notebook-policies-other.md).

1. Gere AWS credenciais para seu usuário IAM recém-criado e salve-as no arquivo de credenciais (\$1/.aws/credentials) do seu ambiente. JupyterLab Isto pode ser feito com o Comando `aws configure` da CLI. Para obter instruções, consulte a seção *Definir e visualizar as configurações usando comandos* em [Configuração e configurações do arquivo de credenciais](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html).

1. (opcional) Por padrão, a extensão do agendador usa uma imagem pré-criada do SageMaker AI Docker com Python 2.0. Qualquer kernel não padrão usado no caderno deve ser instalado no contêiner. Se você quiser executar seu caderno em um contêiner ou imagem do Docker, precisará criar uma imagem do Amazon Elastic Container Registry (Amazon ECR). Para obter informações sobre como enviar uma imagem do Docker para um Amazon ECR, consulte [Enviando uma](https://docs.aws.amazon.com/AmazonECR/latest/userguide/docker-push-ecr-image.html) imagem do Docker.

1. Adicione a JupyterLab extensão para SageMaker Notebook Jobs. Você pode adicioná-lo ao seu JupyterLab ambiente com o comando:`pip install amazon_sagemaker_jupyter_scheduler`. Talvez seja necessário reiniciar o servidor Jupyter com o comando: `sudo systemctl restart jupyter-server`.

1. Comece JupyterLab com o comando:`jupyter lab`.

1. Verifique se o widget Notebook Jobs (![\[Blue icon of a calendar with a checkmark, representing a scheduled task or event.\]](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/images/icons/notebook-schedule.png)) aparece na barra de tarefas do caderno Jupyter.

# Configurar políticas e permissões para o Studio
<a name="scheduled-notebook-policies-studio"></a>

Você precisará instalar as políticas e permissões adequadas antes de agendar sua primeira execução de caderno. As seguintes instruções foram fornecidas para a configuração das seguintes permissões:
+ Relações de confiança, função de execução de trabalhos
+ Permissões adicionais do IAM anexadas à função de execução do trabalho
+ (opcional) A política de AWS KMS permissão para usar uma chave KMS personalizada

**Importante**  
Se sua AWS conta pertence a uma organização com políticas de controle de serviço (SCP) em vigor, suas permissões efetivas são a interseção lógica entre o que é permitido pelo SCPs e o que é permitido pela sua função do IAM e pelas políticas de usuário. Por exemplo, se o SCP da sua organização especificar que você só pode acessar recursos em `us-east-1` e `us-west-1`, e suas políticas só permitem que você acesse recursos em `us-west-1` e `us-west-2`, em última análise, você só pode acessar recursos em `us-west-1`. Se você quiser exercer todas as permissões permitidas em sua função e políticas de usuário, sua organização SCPs deve conceder o mesmo conjunto de permissões que suas próprias políticas de usuário e função do IAM. Para obter detalhes sobre como determinar as solicitações permitidas, consulte [Determinar se uma solicitação é permitida ou negada em uma conta](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html#policy-eval-denyallow).

**Relações de confiança**

Para modificar as relações de confiança, conclua as seguintes etapas:

1. Abra o [console do IAM](https://console.aws.amazon.com/iam/).

1. Selecione **Funções** no painel do lado esquerdo.

1. Encontre a função de execução do trabalho para seu trabalho do caderno e escolha o nome da função. 

1. Selecione a guia **Trust relationships (Relações de confiança)**.

1. Selecione **Edit trust policy** (Editar política de confiança).

1. Copie e cole a política a seguir:

------
#### [ JSON ]

****  

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

------

1. Escolha **Atualizar política**.

## Permissões do IAM adicionais
<a name="scheduled-notebook-policies-add"></a>

Talvez seja necessário incluir permissões adicionais do IAM nas seguintes situações:
+ Suas funções de execução no Studio e de caderno são diferentes
+ Você precisa acessar os recursos do Amazon S3 por meio de um endpoint da VPC do S3
+ Você deseja usar uma chave KMS personalizada para criptografar seus buckets de entrada e saída do Amazon S3

A discussão a seguir fornece as políticas necessárias para cada caso.

### Permissões necessárias se a execução do Studio e as funções de trabalho do caderno forem diferentes
<a name="scheduled-notebook-policies-add-diffrole"></a>

O trecho JSON a seguir é um exemplo de política que você deve adicionar às funções de execução do Studio e do caderno se não usar a função de execução do Studio como função de trabalho do caderno. Revise e modifique essa política se precisar restringir ainda mais os privilégios.

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Effect":"Allow",
         "Action":"iam:PassRole",
         "Resource":"arn:aws:iam::*:role/*",
         "Condition":{
            "StringLike":{
               "iam:PassedToService":[
                  "sagemaker.amazonaws.com",
                  "events.amazonaws.com"
               ]
            }
         }
      },
      {
         "Effect":"Allow",
         "Action":[
            "events:TagResource",
            "events:DeleteRule",
            "events:PutTargets",
            "events:DescribeRule",
            "events:PutRule",
            "events:RemoveTargets",
            "events:DisableRule",
            "events:EnableRule"
         ],
         "Resource":"*",
         "Condition":{
            "StringEquals":{
               "aws:ResourceTag/sagemaker:is-scheduling-notebook-job":"true"
            }
         }
      },
      {
         "Effect":"Allow",
         "Action":[
            "s3:CreateBucket",
            "s3:PutBucketVersioning",
            "s3:PutEncryptionConfiguration"
         ],
         "Resource":"arn:aws:s3:::sagemaker-automated-execution-*"
      },
      {
            "Sid": "S3DriverAccess",
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket",
                "s3:GetObject",
                "s3:GetBucketLocation"
            ],
            "Resource": [
                "arn:aws:s3:::sagemakerheadlessexecution-*"
            ]
      },
      {
         "Effect":"Allow",
         "Action":[
            "sagemaker:ListTags"
         ],
         "Resource":[
            "arn:aws:sagemaker:*:*:user-profile/*",
            "arn:aws:sagemaker:*:*:space/*",
            "arn:aws:sagemaker:*:*:training-job/*",
            "arn:aws:sagemaker:*:*:pipeline/*"
         ]
      },
      {
         "Effect":"Allow",
         "Action":[
            "sagemaker:AddTags"
         ],
         "Resource":[
            "arn:aws:sagemaker:*:*:training-job/*",
            "arn:aws:sagemaker:*:*:pipeline/*"
         ]
      },
      {
         "Effect":"Allow",
         "Action":[
            "ec2:DescribeDhcpOptions",
            "ec2:DescribeNetworkInterfaces",
            "ec2:DescribeRouteTables",
            "ec2:DescribeSecurityGroups",
            "ec2:DescribeSubnets",
            "ec2:DescribeVpcEndpoints",
            "ec2:DescribeVpcs",
            "ecr:BatchCheckLayerAvailability",
            "ecr:BatchGetImage",
            "ecr:GetDownloadUrlForLayer",
            "ecr:GetAuthorizationToken",
            "s3:ListBucket",
            "s3:GetBucketLocation",
            "s3:GetEncryptionConfiguration",
            "s3:PutObject",
            "s3:DeleteObject",
            "s3:GetObject",
            "sagemaker:DescribeApp",
            "sagemaker:DescribeDomain",
            "sagemaker:DescribeUserProfile",
            "sagemaker:DescribeSpace",
            "sagemaker:DescribeStudioLifecycleConfig",
            "sagemaker:DescribeImageVersion",
            "sagemaker:DescribeAppImageConfig",
            "sagemaker:CreateTrainingJob",
            "sagemaker:DescribeTrainingJob",
            "sagemaker:StopTrainingJob",
            "sagemaker:Search",
            "sagemaker:CreatePipeline",
            "sagemaker:DescribePipeline",
            "sagemaker:DeletePipeline",
            "sagemaker:StartPipelineExecution"
         ],
         "Resource":"*"
      }
   ]
}
```

------

### Permissões necessárias para acessar recursos do Amazon S3 por meio de um endpoint da VPC do S3
<a name="scheduled-notebook-policies-add-vpc"></a>

Se você executar o SageMaker Studio no modo VPC privado e acessar o S3 por meio do VPC endpoint do S3, poderá adicionar permissões à política do VPC endpoint para controlar quais recursos do S3 são acessíveis por meio do VPC endpoint. Adicione as seguintes permissões à sua política de endpoint da VPC: Você pode modificar a política se precisar restringir ainda mais as permissões: por exemplo, você pode fornecer uma especificação mais restrita para o campo `Principal`.

```
{
    "Sid": "S3DriverAccess",
    "Effect": "Allow",
    "Principal": "*",
    "Action": [
        "s3:GetBucketLocation",
        "s3:GetObject",
        "s3:ListBucket"
    ],
    "Resource": "arn:aws:s3:::sagemakerheadlessexecution-*"
}
```

Para obter detalhes sobre como configurar uma política de endpoint de VPC do S3, consulte [Editar a política de endpoint de VPC](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-s3.html#edit-vpc-endpoint-policy-s3).

### Permissões necessárias para usar uma chave KMS personalizada (opcional)
<a name="scheduled-notebook-policies-add-kms"></a>

Por padrão, os buckets de entrada e saída do Amazon S3 são criptografados usando criptografia do lado do servidor, mas você pode especificar uma chave do KMS personalizada para criptografar seus dados no bucket de saída do Amazon S3 e no volume de armazenamento anexado ao trabalho do caderno.

Se você quiser usar uma chave KMS personalizada, anexe a política a seguir e forneça seu próprio ARN da chave KMS.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
      {
         "Effect":"Allow",
         "Action":[
            "kms:Encrypt",
            "kms:Decrypt",
            "kms:ReEncrypt*",
            "kms:GenerateDataKey*",
            "kms:DescribeKey",
            "kms:CreateGrant"
         ],
         "Resource":"arn:aws:kms:us-east-1:111122223333:key/key-id"
      }
   ]
}
```

------

# Instale políticas e permissões para ambientes Jupyter locais
<a name="scheduled-notebook-policies-other"></a>

Você precisará configurar as permissões e políticas necessárias para programar trabalhos de cadernos em um ambiente Jupyter local. O usuário do IAM precisa de permissões para enviar trabalhos para a SageMaker IA e a função do IAM, que o próprio trabalho do notebook presume, precisa de permissões para acessar recursos, dependendo das tarefas do trabalho. A seguir, forneceremos instruções sobre como configurar as permissões e políticas necessárias.

Você precisará instalar dois conjuntos de permissões. O diagrama a seguir mostra a estrutura de permissão para você agendar trabalhos do caderno em um ambiente Jupyter local. O usuário do IAM precisa configurar as permissões do IAM para enviar trabalhos para a SageMaker IA. Depois que o usuário envia o trabalho do caderno, o trabalho em si assume um perfil do IAM que tem permissões para acessar recursos, dependendo das tarefas do trabalho.

![\[\]](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/images/notebook-jobs-permissions.png)


As seções a seguir ajudam você a instalar as políticas e permissões necessárias tanto para o usuário do IAM quanto para a função de execução do trabalho.

## Permissões de usuário do IAM
<a name="scheduled-notebook-policies-other-user"></a>

**Permissões para enviar trabalhos para a SageMaker IA**

Para adicionar permissões para enviar trabalhos, conclua as seguintes etapas:

1. Abra o [console do IAM](https://console.aws.amazon.com/iam/).

1. Selecione **Usuários** no painel do lado esquerdo.

1. Encontre o usuário do IAM para seu trabalho no caderno e escolha o nome do usuário.

1. Escolha **Adicionar permissões** e depois **Criar política em linha** no menu suspenso.

1. Selecione a guia **JSON**.

1. Copie e cole a política a seguir:

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "EventBridgeSchedule",
               "Effect": "Allow",
               "Action": [
                   "events:TagResource",
                   "events:DeleteRule",
                   "events:PutTargets",
                   "events:DescribeRule",
                   "events:EnableRule",
                   "events:PutRule",
                   "events:RemoveTargets",
                   "events:DisableRule"
               ],
               "Resource": "*",
               "Condition": {
                   "StringEquals": {
                       "aws:ResourceTag/sagemaker:is-scheduling-notebook-job": "true"
                   }
               }
           },
           {
               "Sid": "IAMPassrole",
               "Effect": "Allow",
               "Action": "iam:PassRole",
               "Resource": "arn:aws:iam::*:role/*",
               "Condition": {
                   "StringLike": {
                       "iam:PassedToService": [
                           "sagemaker.amazonaws.com",
                           "events.amazonaws.com"
                       ]
                   }
               }
           },
           {
               "Sid": "IAMListRoles",
               "Effect": "Allow",
               "Action": "iam:ListRoles",
               "Resource": "*"
           },
           {
               "Sid": "S3ArtifactsAccess",
               "Effect": "Allow",
               "Action": [
                   "s3:PutEncryptionConfiguration",
                   "s3:CreateBucket",
                   "s3:PutBucketVersioning",
                   "s3:ListBucket",
                   "s3:PutObject",
                   "s3:GetObject",
                   "s3:GetEncryptionConfiguration",
                   "s3:DeleteObject",
                   "s3:GetBucketLocation"
               ],
               "Resource": [
                   "arn:aws:s3:::sagemaker-automated-execution-*"
               ]
           },
           {
               "Sid": "S3DriverAccess",
               "Effect": "Allow",
               "Action": [
                   "s3:ListBucket",
                   "s3:GetObject",
                   "s3:GetBucketLocation"
               ],
               "Resource": [
                   "arn:aws:s3:::sagemakerheadlessexecution-*"
               ]
           },
           {
               "Sid": "SagemakerJobs",
               "Effect": "Allow",
               "Action": [
                   "sagemaker:DescribeTrainingJob",
                   "sagemaker:StopTrainingJob",
                   "sagemaker:DescribePipeline",
                   "sagemaker:CreateTrainingJob",
                   "sagemaker:DeletePipeline",
                   "sagemaker:CreatePipeline"
               ],
               "Resource": "*",
               "Condition": {
                   "StringEquals": {
                       "aws:ResourceTag/sagemaker:is-scheduling-notebook-job": "true"
                   }
               }
           },
           {
               "Sid": "AllowSearch",
               "Effect": "Allow",
               "Action": "sagemaker:Search",
               "Resource": "*"
           },
           {
               "Sid": "SagemakerTags",
               "Effect": "Allow",
               "Action": [
                   "sagemaker:ListTags",
                   "sagemaker:AddTags"
               ],
               "Resource": [
                   "arn:aws:sagemaker:*:*:pipeline/*",
                   "arn:aws:sagemaker:*:*:space/*",
                   "arn:aws:sagemaker:*:*:training-job/*",
                   "arn:aws:sagemaker:*:*:user-profile/*"
               ]
           },
           {
               "Sid": "ECRImage",
               "Effect": "Allow",
               "Action": [
                   "ecr:GetAuthorizationToken",
                   "ecr:BatchGetImage"
               ],
               "Resource": "*"
           }
       ]
   }
   ```

------

**AWS KMS política de permissão (opcional)**

Por padrão, os buckets de entrada e saída do Amazon S3 são criptografados usando criptografia do lado do servidor, mas você pode especificar uma chave do KMS personalizada para criptografar seus dados no bucket de saída do Amazon S3 e no volume de armazenamento anexado ao trabalho do caderno.

Se você quiser usar uma chave KMS personalizada, repita as instruções anteriores, anexando a política a seguir e forneça seu próprio ARN da chave KMS.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
      {
         "Effect":"Allow",
         "Action":[
            "kms:Encrypt",
            "kms:Decrypt",
            "kms:ReEncrypt*",
            "kms:GenerateDataKey*",
            "kms:DescribeKey",
            "kms:CreateGrant"
         ],
         "Resource":"arn:aws:kms:us-east-1:111122223333:key/key-id"
      }
   ]
}
```

------

## Permissões da função de execução de trabalhos
<a name="scheduled-notebook-policies-other-job"></a>

**Relações de confiança**

Para modificar as relações de confiança da função de execução do trabalho, conclua as seguintes etapas:

1. Abra o [console do IAM](https://console.aws.amazon.com/iam/).

1. Selecione **Funções** no painel do lado esquerdo.

1. Encontre a função de execução do trabalho para seu trabalho do caderno e escolha o nome da função.

1. Selecione a guia **Trust relationships (Relações de confiança)**.

1. Selecione **Edit trust policy** (Editar política de confiança).

1. Copie e cole a política a seguir:

------
#### [ JSON ]

****  

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

------

**Permissões adicionais**

Depois de enviado, o trabalho do caderno precisa de permissões para acessar os recursos. As instruções a seguir mostram como adicionar um conjunto mínimo de permissões. Se necessário, adicione mais permissões com base nas necessidades de trabalho do seu caderno. Para adicionar permissões à sua função de execução de trabalho, conclua as seguintes etapas:

1. Abra o [console do IAM](https://console.aws.amazon.com/iam/).

1. Selecione **Funções** no painel do lado esquerdo.

1. Encontre a função de execução do trabalho para seu trabalho do caderno e escolha o nome da função.

1. Escolha **Adicionar permissões** e depois **Criar política em linha** no menu suspenso.

1. Selecione a guia **JSON**.

1. Copie e cole a política a seguir:

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "PassroleForJobCreation",
               "Effect": "Allow",
               "Action": "iam:PassRole",
               "Resource": "arn:aws:iam::*:role/*",
               "Condition": {
                   "StringLike": {
                       "iam:PassedToService": "sagemaker.amazonaws.com"
                   }
               }
           },
           {
               "Sid": "S3ForStoringArtifacts",
               "Effect": "Allow",
               "Action": [
                   "s3:PutObject",
                   "s3:GetObject",
                   "s3:ListBucket",
                   "s3:GetBucketLocation"
               ],
               "Resource": "arn:aws:s3:::sagemaker-automated-execution-*"
           },
           {
               "Sid": "S3DriverAccess",
               "Effect": "Allow",
               "Action": [
                   "s3:ListBucket",
                   "s3:GetObject",
                   "s3:GetBucketLocation"
               ],
               "Resource": [
                   "arn:aws:s3:::sagemakerheadlessexecution-*"
               ]
           },
           {
               "Sid": "SagemakerJobs",
               "Effect": "Allow",
               "Action": [
                   "sagemaker:StartPipelineExecution",
                   "sagemaker:CreateTrainingJob"
               ],
               "Resource": "*"
           },
           {
               "Sid": "ECRImage",
               "Effect": "Allow",
               "Action": [
                   "ecr:GetDownloadUrlForLayer",
                   "ecr:BatchGetImage",
                   "ecr:GetAuthorizationToken",
                   "ecr:BatchCheckLayerAvailability"
               ],
               "Resource": "*"
           }
       ]
   }
   ```

------

1. Adicione permissões a outros recursos que seu trabalho do caderno acessa.

1. Selecione **Revisar política**.

1. Insira um nome para sua política.

1. Selecione **Criar política**.