Cloud Shell

O Oracle Cloud Infrastructure (OCI) Cloud Shell é um terminal baseado em web browser acessível pela Console do Oracle Cloud.

O Oracle Cloud Infrastructure (OCI) Cloud Shell é um terminal baseado em web browser acessível pela Console do Oracle Cloud. O Cloud Shell é gratuito para uso (dentro dos limites mensais da tenancy) e fornece acesso a um shell Linux, com uma CLI do Oracle Cloud Infrastructure pré-autenticada, uma instalação do Ansible pré-autenticada e outras ferramentas úteis para seguir os tutoriais e laboratórios de serviço do Oracle Cloud Infrastructure.
Observação

O Cloud Shell só fornecerá acesso à internet pública se políticas de segurança apropriadas estiverem em vigor. Consulte Rede do Cloud Shell para obter mais informações.
O Cloud Shell é um recurso disponível para todos os usuários do OCI, acessível pela Console. Seu Cloud Shell aparecerá na Console do Oracle Cloud como um quadro persistente da Console e permanecerá ativo quando você navegar para diferentes páginas da Console.

O Cloud Shell oferece:

  • Uma máquina efêmera a ser usada como host para um shell Linux, pré-configurada com a versão mais recente da CLI (Interface de Linha de Comando) do OCI e várias ferramentas úteis

  • 5 GB de armazenamento persistente criptografado para seu diretório home

  • Um quadro persistente da Console que permanece ativo enquanto você navega para diferentes páginas da console

Como o Cloud Shell Funciona

A máquina do Cloud Shell é uma máquina virtual pequena executando um shell Bash que você acessa por meio da Console do OCI. O Cloud Shell vem com uma CLI do OCI pré-autenticada, definida para a região da home page da tenancy da Console, bem como ferramentas e utilitários atualizados.
Observação

O Cloud Shell só fornecerá acesso à internet pública se políticas de segurança apropriadas estiverem em vigor. Consulte Rede do Cloud Shell para obter mais informações.

O Cloud Shell vem com 5 GB de armazenamento persistente criptografado para o diretório home, para que você possa fazer alterações locais no seu diretório home e continuar trabalhando no seu projeto quando voltar ao Cloud Shell.

O Cloud Shell é gratuito (dentro do limite mensal da sua tenancy) e não requer nenhuma configuração ou pré-requisitos além de uma política do IAM que conceda acesso ao Cloud Shell. Seu Cloud Shell inclui uma VM provisionada para você que executa em sua própria tenancy (para que não use nenhum dos recursos da sua tenancy) e hospeda seu shell em um SO Oracle Linux enquanto você está usando ativamente o Cloud Shell.

O que está Incluído no Cloud Shel

Cloud Shell é executado no Oracle Linux 8.

Além do OCI CLI, a VM do Cloud Shell que executa o Oracle Linux 8 vem com versões atuais de muitas ferramentas e utilitários úteis, incluindo:

  • Git
  • Java
    Observação

    O Cloud Shell agora permite instalar uma release Oracle Java usando o Kit de Ferramentas para Download Java. Para obter mais informações, consulte Download do Kit de Ferramentas para Java.

  • Python
    Observação

    Várias versões do Python estão incluídas no Cloud Shell. Use csruntimectl para alternar versões do Python. Por exemplo: execute "csruntimectl python list" para obter uma lista da versão do Python disponível e "csruntimectl python set <python-alias>" para alternar a versão do Python.
  • Oracle GraalVM JDK 17 e Native Image
  • A maioria dos SDKs do OCI, incluindo:
    • Java
    • Python
    • Go
    • TypeScript e JavaScript
  • SQLcl
  • kubectl
  • helm
  • maven
  • terraform
  • ansible
  • nodes
  • podman
    Observação

    O Mecanismo do Docker não está mais instalado no Cloud Shell baseado no Oracle Linux 8. O Podman fornece uma experiência de gerenciamento de contêiner semelhante com uma arquitetura sem daemon. Para compatibilidade com versões anteriores, o Cloud Shell fornece um alias "docker", que é um encapsulador do comando "podman". Você pode usar o comando "podman" ou "docker" para executar contêineres com comandos amplamente compatíveis com o Docker. Para obter mais informações sobre o podman, consulte o Oracle Linux Podman User's Guide.

    Quando você executa o comando podman login ou docker login para acessar um registro de contêiner, o arquivo auth.json é gravado no local a seguir, por exemplo, /run/user/<uid>/containers/auth.json, /run/user/1101/containers/auth.json.

  • buildah
  • skopeo
  • runc
  • iputils
  • jqmake
  • tmux
  • vim
  • NPM
  • wget
  • zip/unzip
  • nano
  • emacs
  • pip
  • bash
  • sh
  • tar
  • nvm
  • mysql-community-client
  • mysqlsh
  • ipython
  • OCI-powershell-modules (x86_64 only)
  • GoldenGate Admin client (x86_64 only)
  • CLI do Fn Project

    Obrigatório para trabalhar com o OCI Functions.

    Observação

    Ao usar a CLI Fn no Cloud Shell, o OCI Functions não suporta a criação e a implantação de funções com base em imagens de várias arquiteturas e não suporta aplicativos com formas de várias arquiteturas. A arquitetura da sessão do Cloud Shell deve corresponder à arquitetura do aplicativo.

Política Obrigatória do Serviço IAM

Para começar a usar o Cloud Shell, você precisará conceder ao usuário acesso ao Cloud Shell por meio de uma política do serviço IAM. Cada serviço do Oracle Cloud Infrastructure se integra ao IAM para autenticação e autorização, para todas as interfaces (Console, SDK ou CLI e API REST).
Observação

Para permitir que os usuários acessem a Rede Pública gerenciada pelo Cloud Shell, você precisará conceder acesso ao usuário por meio de uma política de Identidade. Para obter mais informações, consulte Cloud Shell Public Network.

Para usar o Oracle Cloud Infrastructure, você deve receber o tipo necessário de acesso em uma política gravada por um administrador no compartimento raiz da tenancy, se você estiver usando a Console ou a API REST com um SDK, uma CLI ou outra ferramenta. Se você tentar executar uma ação e receber uma mensagem de que não tem permissão ou que não está autorizado, confirme com o administrador se você recebeu acesso.

Observação

O Cloud Shell não suporta políticas no nível do compartimento, somente no nível da tenancy.
O nome do recurso do Cloud Shell é `cloud-shell`. Veja a seguir um exemplo de política para conceder acesso ao Cloud Shell:
allow group <GROUP-NAME> to use cloud-shell in tenancy
Este exemplo de política mostra como permitir que um grupo dentro de um domínio use o Cloud Shell:
allow group <DOMAIN-NAME>/<GROUP-NAME> to use cloud-shell in tenancy

Se você for iniciante em políticas, consulte Gerenciando Domínios de Identidade e Políticas Comuns e Criando uma Política e um Grupo Dinâmico.

Limitações do Serviço Cloud Shell

Lembre-se das seguintes limitações ao usar o Cloud Shell:

  • O Mecanismo do Docker não está mais instalado no Cloud Shell baseado no Oracle Linux 8. O Podman fornece uma experiência de gerenciamento de contêiner semelhante com uma arquitetura sem daemon. Para compatibilidade com versões anteriores, o Cloud Shell fornece um alias "docker", que é um encapsulador do comando "podman". Você pode usar o comando "podman" ou "docker" para executar contêineres com comandos amplamente compatíveis com o Docker. Para obter mais informações sobre o podman, consulte o Oracle Linux Podman User's Guide.
  • Por padrão, o Cloud Shell limita o acesso à rede aos recursos internos do OCI na região home da sua tenancy, a menos que você tenha ativado a Rede Pública do Cloud Shell. Seu administrador deve configurar uma política de Identidade para ativar a Rede Pública do Cloud Shell. Para obter mais informações, consulte Rede do Cloud Shell.
  • O Cloud Shell vem com 5 GB de armazenamento para o diretório home da VM. Esse armazenamento é persistente de sessão para sessão, mas após 6 meses sem uso, o administrador da sua tenancy receberá uma notificação de que o armazenamento será removido em 60 dias. A inicialização de uma sessão do Cloud shell redefine o timer de remoção de armazenamento.
  • O Cloud Shell não suporta a montagem de armazenamento adicional.
  • O Cloud Shell não verifica se há malware ou vírus nos arquivos do usuário.
  • As sessões do Cloud Shell não permitem conexões de entrada e não há endereço IP público disponível.
  • A CLI do OCI executará comandos na região selecionada no menu de seleção Região da Console quando o Cloud Shell foi iniciado. A alteração da seleção de região na Console não alterará a região das instâncias existentes no Cloud Shell; você precisará abrir uma nova instância no Cloud Shell para alterar as regiões.
  • As sessões do Cloud Shell têm duração máxima de 24 horas e sofrem timeout após 60 minutos de inatividade.
  • O Cloud Shell usa websockets para a comunicação entre o browser e o serviço. Se seu browser tiver websockets desativados ou utilizar um proxy corporativo que tenha websockets desativados, você verá uma mensagem de erro ("Ocorreu uma falha inesperada") ao tentar iniciar o Cloud Shell na Console.
  • O Cloud Shell foi projetado para uso interativo com recursos do Oracle Cloud Infrastructure. Os usuários que precisarem de armazenamento adicional para o Cloud Shell ou que quiserem executar tarefas não interativas de longa execução devem usar os recursos Compute e Storage em sua tenancy.
  • Para compatibilidade máxima, o Cloud Shell inclui o Python versão 2 e o Python versão 3. O Python 2 é o padrão que será executado quando você digitar 'python' na linha de comando. Para executar o Python 3, digite 'python3' na linha de comando.
  • As seguintes palavras reservadas não podem ser usadas como o nome de um usuário do Cloud Shell: oci, root, bin, daemon, adm, lp, sync, shutdown, halt, mai, operator, games, ftp, nobody, oci, systemd-network, dbus, polkitd, tss e apache. A tentativa de criar uma sessão de Cloud Shell quando conectado com um nome do usuário (ou parte do nome antes do sinal @, se o nome do usuário for um endereço do email) que é uma destas palavras reservadas resultará em uma mensagem de "Erro Inesperado".
  • Não há suporte para nomes de usuário totalmente numéricos (por exemplo, "1234") no Cloud Shell.
  • O fuso horário da sessão do Cloud Shell é UTC e não pode ser alterado.
  • Em um terminal do Cloud Shell, o acesso root e o sudo não são permitidos; portanto, os pacotes que exigem privilégios root não podem ser instalados. No entanto, muitos pacotes oferecem versões que não precisam de permissões raiz. Eles podem ser descompactados e instalados diretamente no diretório inicial.
  • Em um terminal do Cloud Shell, o comando ping não é permitido.
  • O Cloud Shell é inicializado no modo FIPS, o que pode afetar o comportamento de alguns comandos.
  • O Cloud Shell não consegue gerar chaves PKCS#1 ao usar o comando openssl porque ele é inicializado no modo FIPS. O modo FIPS exige que o Cloud Shell gere chaves PKCS#8.
  • Não há suporte para Origens de Rede no Serviço Cloud Shell.
  • Para obter mais informações sobre limites do serviço Cloud Shell, consulte a seção Cloud Shell em Limites do Serviço.

Acesso por Meio do Cloud Shell e Outras Restrições

Você pode acessar recursos do OCI por meio do Cloud Shell de acordo com as políticas concedidas pelo administrador da tenancy. Não há acesso adicional porque você está usando o Cloud Shell e ele não fornece acesso adicional à tenancy ou recursos privados em suas VCNs de tenancy.
Observação

O Cloud Shell usa websockets para comunicação entre o browser e o serviço. Se seu browser tiver websockets desativados ou utilizar um proxy corporativo que tenha websockets desativados, você verá uma mensagem de erro ("Ocorreu uma falha inesperada") ao tentar iniciar o Cloud Shell na Console.

Enquanto o Cloud Shell fornece acesso à internet, não há nenhuma entrada do mundo exterior no Cloud Shell (por exemplo: você não pode se conectar ao Cloud Shell) e nenhum endereço IP público disponível. Se seu administrador de tenancies não quiser ativar o acesso à internet pelo OCI, ele não deverá conceder acesso ao Cloud Shell com uma política do IAM.

Localização e Propriedade de Recursos do Cloud Shell

Quando você inicia o Cloud Shell pela primeira vez, o serviço cria um volume de armazenamento em blocos persistente (5 GB) para seu diretório home. O volume do diretório home está localizado na região home da tenancy. A máquina que executa sua sessão do Cloud Shell também está localizada na região home da tenancy.

Observação

O Cloud Shell usa o OCID do usuário para criar o diretório home. Se você tiver várias contas em uma tenancy (por exemplo, tiver uma conta de usuário federado e não federado), você obterá um diretório home do Cloud Shell distinto e exclusivo para cada conta.

Alterar a seleção da região da Console ou fazer log-in na Console por meio de um URL regional diferente não terá efeito sobre onde o volume da máquina do Cloud Shell e do diretório home estão localizados. Para confirmar a região home da tenancy, exiba a página Detalhes da Tenancy na Console.

Observação

Os recursos do Cloud Shell (incluindo a VM usada na sessão do Cloud Shell) pertencem ao serviço Cloud Shell e não existem na tenancy. Por isso, você não pode adicionar a VM do Cloud Shell que está usando para um grupo dinâmico em sua tenancy nem usar o princípio da instância usada na sua sessão do Cloud Shell.

Cloud Shell e Regiões

Quando você inicia o Cloud Shell, o serviço configura sua sessão do Cloud Shell com a região selecionada atualmente na Console para que a CLI do OCI interaja com a região da Console selecionada.

No prompt bash padrão no Cloud Shell, a região com a qual a CLI do OCI está interagindo é ecoada no prompt de linha de comando do Cloud Shell:

Prompt do Cloud Shell com informações da região

Nenhuma alteração na região selecionada na Console depois que você iniciar sua sessão do Cloud Shell terá efeito na sessão ativa do Cloud Shell. Se quiser alterar a região com a qual a CLI do OCI está interagindo, no Cloud Shell, você pode:

  • Sair da sessão atual do Cloud Shell, alterar a região selecionada na Console e, em seguida, iniciar uma nova sessão do Cloud Shell.
  • Modificar o perfil da CLI do OCI selecionado no momento por meio da variável de ambiente OCI_CLI_PROFILE

Para obter mais informações, consulte a seção "Gerenciando Regiões" em Usando o Cloud Shell.

Arquitetura do Cloud Shell

Se você for um usuário da camada paga, poderá escolher uma arquitetura padrão (ARM (aarch64), x86_64 ou Sem Preferência) para suas sessões do Cloud Shell.

Por padrão, a preferência de arquitetura é definida como Sem preferência. Quando essa opção for selecionada, suas sessões do Cloud Shell serão baseadas na arquitetura x86_64 ou ARM (aarch64), dependendo do hardware disponível na região.

Selecionar uma arquitetura

Para selecionar uma arquitetura:

Abra o menu Ações, que pode ser acessado no Cloud Shell ou no Code Editor e escolha Arquitetura.

Menu de ação da arquitetura do Cloud Shell

Isso exibirá a caixa de diálogo Arquitecura:

Caixa de diálogo Arquitetura do Cloud Shell

A caixa de diálogo Arquitetura mostra a arquitetura selecionada no momento.

Para selecionar sua arquitetura preferida, selecione o botão de opção apropriado e clique no botão Confirmar e Reiniciar.
Observação

Se uma região não suportar uma arquitetura específica, você não poderá escolher essa arquitetura.
Caixa de diálogo de arquitetura de alternância do Cloud Shell
Observação

Antes de alternar sua arquitetura do Cloud Shell, certifique-se de que suas ferramentas e cargas de trabalho sejam compatíveis com a arquitetura que você está prestes a escolher.

Após uma migração bem-sucedida da arquitetura, você verá esta notificação:

Mensagem de sucesso de seleção da arquitetura do Cloud Shell