Gerenciar Credenciais

Você pode criar credenciais, listar credenciais ou excluir credenciais no seu Autonomous Database.

Criar Credenciais para Acessar Serviços em Nuvem

Para acessar serviços na Nuvem, como o Cloud Object Store, primeiro você precisa criar credenciais no seu Autonomous Database.

  1. Crie e armazene credenciais usando o procedimento DBMS_CLOUD.CREATE_CREDENTIAL. Por exemplo:
    SET DEFINE OFF
    BEGIN
      DBMS_CLOUD.CREATE_CREDENTIAL(
        credential_name => 'DEF_CRED_NAME',
        username => 'adb_user@example.com',
        password => 'password',
        comments => 'credential to access object store'
      );
    END;
    /

    Esta operação armazena as credenciais no banco de dados em um formato criptografado. Você pode usar qualquer nome para o nome da credencial. Observe que essa etapa só é necessária uma vez, a menos que suas credenciais do armazenamento de objetos sejam alteradas. Depois de armazenar as credenciais, você poderá usar o mesmo nome para todas as cargas de dados.

    Para obter informações detalhadas sobre os parâmetros, consulte ProcedimentoCREATE_CREDENTIAL.

    Não será necessário criar uma credencial para acessar o Oracle Cloud Infrastructure Object Store se você ativar as credenciais do controlador de recursos. Consulte Usar o Controlador de Recursos para Acessar Recursos da Oracle Cloud Infrastructure para obter mais informações.

    Observação

    Algumas ferramentas, como o SQL*Plus e o SQL Developer, usam o caractere E comercial (&) como um caractere especial. Se você tiver o caractere E comercial em sua senha, use o comando SET DEFINE OFF nessas ferramentas, conforme mostrado no exemplo, para desativar o caractere especial e obter a credencial criada corretamente.
  2. Com a credencial criada na Etapa 1, você poderá acessar o Object Store ou outros recursos de nuvem do Autonomous Database usando um procedimento como DBMS_CLOUD.COPY_DATA, DBMS_CLOUD.EXPORT_DATA, DBMS_CLOUD_PIPELINE se estiver usando um Pipeline de Dados ou outros procedimentos que exijam credenciais DBMS_CLOUD.

Criar Credenciais para Acessar Serviços do Cloud no Cloud Shell

Use o Cloud Shell para executar um script que crie Credenciais Nativas do OCI e Token de Autenticação no seu Autonomous Database.

Para criar credenciais usando o pacote DBMS_CLOUD, consulte Criar Credenciais para Acessar Serviços em Nuvem e Procedimento CREATE_CREDENTIAL.

Sobre o Script Create Credential Cloud Shell

Execute o script Create Credential Cloud Shell na ferramenta de desenvolvedor do Cloud Shell para gerar scripts de credencial a serem executados no seu Autonomous Database.

Use o script Criar Credencial, adb-create-cred.sh, para criar novas Credenciais Nativas do OCI ou para reutilizar Credenciais Nativas do OCI existentes, incluindo um par de chaves RSA com uma impressão digital. As credenciais são fornecidas ao usuário na forma de scripts, oci_native_credential.sql e oci_native_credential.json, que podem ser executados no seu Autonomous Database. As credenciais existentes serão submetidas a backup se novas credenciais forem criadas.

Use o script adb-create-cred.sh para executar os scripts de credencial gerados no seu Autonomous Database ou saia do programa e execute os scripts no seu banco de dados com uma ferramenta ou utilitário compatível com SQL ou JSON de sua escolha. Consulte Exemplo: Criar Credenciais Nativas do OCI e Exemplo: Criar Credenciais Nativas do OCI e Executar no Autonomous Database para obter mais informações e exemplos.

Opcionalmente, o adb-create-cred.sh é usado para criar credenciais de Token de Autenticação/Swift. A Oracle recomenda o uso de Credenciais Nativas do OCI. No entanto, se você quiser criar uma credencial Token de Autenticação/Swift, ela será suportada por este script shell. Consulte Criar Token de Autenticação Usado para Credencial Swift para obter detalhes.

Observação

Se para você não tiver acesso à ferramenta de desenvolvedor do Cloud Shell, crie Credenciais Nativas do OCI sem usar o script adb-create-cred.sh. Consulte Criar Credenciais Nativas do Oracle Cloud Infrastructure para obter detalhes.

Exemplo: Criar Credenciais Nativas do OCI

Este exemplo usa o Cloud Shell para executar o script Criar Credencial para criar scripts de Credencial Nativa do OCI.

Execute adb-create-cred.sh para gerar scripts de credencial, oci_native_cred.sql e oci_native_cred.json. O script adb-create-cred.sh pesquisa credenciais existentes. Se elas forem encontradas, você será solicitado a reutilizá-las ou a criar novas credenciais. Dependendo da sua decisão, os scripts de credencial gerados incluem credenciais novas ou existentes. Faça download do script de Credencial Nativa da OCI ou copie-o para executá-lo diretamente no seu banco de dados usando qualquer ferramenta ou utilitário SQL ou JSON.

Observação

Para obter uma lista de argumentos suportados pelo script Criar Credencial, informe adb-create-cred.sh --help.

Neste exemplo, os scripts de Credencial Nativa do OCI são gerados para sua tenancy sem executá-los em seu banco de dados. Consulte Exemplo: Criar Credenciais Nativas do OCI e Executar no Autonomous Database, para obter um exemplo de execução do script de Credencial Nativa do OCI em seu banco de dados.

  1. Acesse a sua Tenancy, selecione o ícone de Developer Tools e clique em Cloud Shell na lista drop-down.
  2. Execute o script adb-create-cred.sh.
  3. Digite y para reutilizar as credenciais existentes no script de Credencial Nativa do OCI gerado.


    Veja a seguir a descrição da ilustração cs_existing.png
    Descrição da ilustração cs_existing.png

    Se você optar por criar novas credenciais e decidir depois de substituir as credenciais que deseja usar, volte ao diretório no qual o backup está e as reutilize. O nome ou pasta do arquivo de backup tem um sufixo com esta sintaxe: _bkp_YYYYMMDD_abc. Por exemplo, esse arquivo de backup foi criado em 06 de junho de 2024: _bkp_20240603_woT.

  4. Digite n para sair do script sem executar o script OCI Native Credential no seu banco de dados.
  5. O programa sai e exibe o nome da Credencial Nativa do OCI e o comando para exibi-la.


    Veja a seguir a descrição da ilustração cs_exit_script.png
    Descrição da ilustração cs_exit_script.png

    Faça download do script de Credencial Nativa da OCI ou copie-o e execute-o diretamente no seu banco de dados usando qualquer ferramenta SQL.

Exemplo: Criar Credenciais Nativas do OCI e Executar no Autonomous Database

Este exemplo usa o script Criar Credencial para criar um script de Credencial Nativa do OCI que é executado no seu Autonomous Database.

Antes de executar o script, considere o seguinte:
  • (Opcional) Forneça a região, o compartimento e o nome do banco de dados para evitar que o script pesquise o banco de dados. Embora essas opções não sejam necessárias, elas podem economizar tempo de processamento, especialmente em tenancies que abrangem uma infinidade de compartimentos e Autonomous Databases.
  • O script pressupõe que o banco de dados esteja na sua região home. Se estiver em outra região, você deverá informar o argumento de nome da região, --region, ao executar o script.
  • Se você não fornecer o compartimento (--compartment) ou o nome do banco de dados (--database), o script procurará possíveis candidatos e solicitará que você faça uma seleção nas listas de possíveis compartimentos e bancos de dados.
  • Para listar as opções disponíveis, digite -h ou --help.

No exemplo a seguir, o script Criar Credencial Nativa do OCI, adb-create-cred.sh, é usado para gerar um script de credencial com credenciais existentes e executar o script em um banco de dados especificado.

A região, o compartimento e o nome do banco de dados são passados como argumentos para o script. A opção --database requer --region e --compartment. Se você especificar apenas --database sem essas opções, a opção será ignorada.

O nome de usuário usado para estabelecer conexão com o banco de dados também é fornecido com um nome para a credencial criada.
Observação

Para obter uma lista de argumentos suportados pelo script Criar Credencial, informe adb-create-cred.sh --help.
  1. Acesse a sua Tenancy, selecione o ícone de Developer Tools e clique em Cloud Shell na lista drop-down.
  2. Execute o script adb-create-cred.sh, incluindo argumentos usados para localizar o banco de dados, estabelecer conexão com o banco de dados e um nome de credencial especificado pelo usuário.
  3. Foram encontradas chaves de API e impressão digital existentes. Digite y para reutilizá-los nos scripts de credencial gerados.


    Veja a seguir a descrição da ilustração cs_existing_keys.png
    Descrição da ilustração cs_existing_keys.png

    Se você optar por criar novas credenciais e decidir depois de substituir as credenciais que deseja usar as credenciais substituídas, poderá voltar ao diretório onde está o backup e reutilizá-las. O nome ou pasta do arquivo de backup tem um sufixo com esta sintaxe: _bkp_YYYYMMDD_abc. Por exemplo, esse arquivo de backup foi criado em 06 de junho de 2024: _bkp_20240603_woT.

  4. Digite y para executar o script de credencial criado, oci_native_credential.sql, no banco de dados especificado com os argumentos de região, compartimento e banco de dados.
  5. Um Arquivo de Wallet não foi encontrado; portanto, ele foi configurado. Se um Arquivo de Wallet foi encontrado, você será solicitado a reutilizá-lo ou configurar um novo. Informe a senha do nome de usuário ADMIN que você forneceu. O nome de usuário e a senha são usados para se conectar ao banco de dados.


    Veja a seguir a descrição da ilustração cs_pass.png
    Descrição da ilustração cs_pass.png

    Observação

    Se você tiver um ponto final privado do Autonomous Database em uma Rede Virtual na Nuvem, o script adb-create-cred.sh gerará os scripts SQL e JSON. No entanto, ele não executa as etapas necessárias para acessar o ponto final privado do Autonomous Database. Em vez disso, ele solicita que você execute cat ~/oci_native_credential.sql para copiar o SQL em qualquer ferramenta SQL à qual você tenha acesso por meio de um Bastion ou Jump Host.

  6. O log-in foi bem-sucedido e a credencial MYOCICRED foi criada no banco de dados especificado. As credenciais existentes são eliminadas e as novas credenciais são criadas. Informe n para não executar credenciais em outro banco de dados. O script existe e fornece o caminho para o script oci_native_credential.sql criado.


    Observação

    Se a conexão com o Autonomous Database não for bem-sucedida, você poderá executar o comando cat ~/oci_native_credential.sql e copiar o SQL para executá-lo diretamente no seu banco de dados usando qualquer ferramenta SQL.

Criar Token de Autenticação Usado para Credencial Swift

Se você quiser criar uma credencial Token de Autenticação/Swift, embora a Oracle recomende o uso de Credenciais Nativas do OCI, inclua o argumento --all ao executar o script para gerar Credenciais Nativas do OCI e a credencial Token de Autenticação/Swift.

Por exemplo:
adb-create-cred.sh --all

Quando esse flag é usado, o script pergunta se você deseja incluir um Token de Autenticação. Ao responder y, sua chave de Token de Autenticação é gerada e carregada no seu perfil do OCI, e os scripts oci_auth_token_credential.sql e auth_token.tok são criados.

Há 2 opções que você pode usar para exibir a chave de Token de Autenticação:
  • Execute o script oci_auth_token_credential.sql no Cloud Shell para criar a chave do Token de Autenticação no seu banco de dados. A chave do Token de Autenticação é o valor do parâmetro password para DBMS_CLOUD_CREATE_CREDENTIAL.
  • Exiba auth_token.tok no Cloud Shell. Seu Token de Autenticação é o valor de token.

Listar Credenciais

DBMS_CLOUD fornece a capacidade de armazenar credenciais usando o procedimento DBMS_CLOUD.CREATE_CREDENTIAL. Você pode listar credenciais na view ALL_CREDENTIALS.

Por exemplo, para listar credenciais, execute o seguinte comando:

SELECT credential_name, username, comments FROM all_credentials;

CREDENTIAL_NAME                                            USERNAME    
---------------------------–-----------------------------  --------------------
COMMENTS
---------------------------–-----------------------------  --------------------
ADB_TOKEN                                                  user_name@example.com
{"comments":"Created via DBMS_CLOUD.create_credential"}
DEF_CRED_NAME                                              user_name@example.com
{"comments":"Created via DBMS_CLOUD.create_credential"}
 

Consulte ALL_CREDENTIALS para saber mais.

Excluir Credenciais

DBMS_CLOUD fornece a capacidade de armazenar credenciais usando o procedimento DBMS_CLOUD.CREATE_CREDENTIAL. Você pode remover credenciais com DBMS_CLOUD.DROP_CREDENTIAL.

Por exemplo, para remover a credencial chamada DEF_CRED_NAME, execute o seguinte comando:

BEGIN
   DBMS_CLOUD.DROP_CREDENTIAL('DEF_CRED_NAME');
END;

Para obter mais informações sobre os procedimentos e parâmetros do DBMS_CLOUD, consulte DBMS_CLOUD Subprograms and REST APIs.