DBMS_CLOUD para Gerenciamento de Acesso

Esta seção aborda os subprogramas DBMS_CLOUD usados para gerenciamento de acesso.

Pré-requisitos

Como desenvolvedor, você pode usar procedimentos DBMS_CLOUD com Autonomous AI Databases implantados na Oracle Public Cloud, Multicloud ou Exadata Cloud@Customer.

Dependendo da opção de implantação, os pré-requisitos a seguir devem ser atendidos para usar os procedimentos DBMS_CLOUD com os provedores de serviços Amazon S3, Azure Blob Storage e Google Cloud Storage.

Resumo de Subprogramas DBMS_CLOUD para Gerenciamento de Acesso

Os subprogramas para gerenciamento de credenciais no pacote DBMS_CLOUD, incluindo criação, exclusão e atualização de credenciais.

Subprograma Descrição
Procedimento CREATE_CREDENTIAL Este procedimento armazena credenciais do serviço da nuvem no Autonomous AI Database.
Procedimento DROP_CREDENTIAL Este procedimento remove uma credencial existente do Autonomous AI Database.
Procedimento UPDATE_CREDENTIAL Este procedimento atualiza os atributos de credencial do serviço da nuvem no Autonomous AI Database.

Procedimento CREATE_CREDENTIAL

Este procedimento armazena credenciais do serviço da nuvem no Autonomous AI Database.

Use credenciais armazenadas do serviço na nuvem para acessar o serviço na nuvem para carga de dados, para consultar dados externos que residem na nuvem ou para outros casos quando você usa procedimentos DBMS_CLOUD com um parâmetro credential_name.

Sintaxe

DBMS_CLOUD.CREATE_CREDENTIAL (
      credential_name   IN VARCHAR2,
      username          IN VARCHAR2,
      password          IN VARCHAR2 DEFAULT NULL);


DBMS_CLOUD.CREATE_CREDENTIAL (
      credential_name IN VARCHAR2,
      user_ocid       IN VARCHAR2,
      tenancy_ocid    IN VARCHAR2,
      private_key     IN VARCHAR2,
      fingerprint     IN VARCHAR2);

Parâmetros

Parâmetro Descrição
credential_name O nome da credencial a ser armazenada. O parâmetro credential_name deve estar em conformidade com as convenções de nomenclatura de objetos da Oracle, que não permitem espaços nem hifens.
username Os argumentos username e password juntos especificam suas credenciais de serviço de nuvem. Consulte as observações de uso para saber o que especificar para o username e password para diferentes serviços na nuvem.
password Os argumentos username e password juntos especificam suas credenciais de serviço de nuvem.
user_ocid Especifica o OCID do usuário. Consulte Onde Obter o OCID da Tenancy e o OCID do Usuário para obter detalhes sobre como obter o OCID do Usuário.
tenancy_ocid Especifica o OCID da tenancy. Consulte Onde Obter o OCID da Tenancy e o OCID do Usuário para obter detalhes sobre como obter o OCID da Tenancy.
private_key Especifica a chave privada gerada. Não há suporte para chaves privadas geradas com uma frase-senha. É necessário gerar a chave privada sem uma frase-senha. Consulte Como Gerar uma Chave de Assinatura de API para obter detalhes sobre a geração de um par de chaves no formato PEM.
fingerprint Especifica uma impressão digital. Após o upload de uma chave pública gerada para a conta do usuário, a impressão digital é exibida na console. Use a impressão digital exibida para esse argumento. Consulte Como Obter a Impressão Digital da Chave e Como Gerar uma Chave de Assinatura de API para obter mais detalhes.

Observações sobre Uso

Credenciais do Oracle Cloud Infrastructure (Tokens de Autenticação)

Para o Oracle Cloud Infrastructure, o username é o seu nome de usuário do Oracle Cloud Infrastructure. A password é o seu token de autenticação do Oracle Cloud Infrastructure. Consulte Como Trabalhar com Tokens de Autenticação.

Por exemplo:

BEGIN
  DBMS_CLOUD.CREATE_CREDENTIAL(
    credential_name => 'DEF_CRED_NAME',
    username => 'adb_user@example.com',
    password => 'password' );
END;
/

Use credenciais baseadas em Token de Autenticação quando estiver autenticando chamadas para o OCI Object Storage. Para chamadas para qualquer outro tipo de serviço de nuvem do Oracle Cloud Infrastructure, use Credenciais Baseadas em Chave de Assinatura do Oracle Cloud Infrastructure.

Credenciais Baseadas em Chave de Assinatura do Oracle Cloud Infrastructure

Use os parâmetros relacionados à chave de assinatura do Oracle Cloud Infrastructure, incluindo: user_ocid, tenancy_ocid, private_key e fingerprint com autenticação de Chaves de Assinatura do Oracle Cloud Infrastructure.

Por exemplo:

BEGIN
   DBMS_CLOUD.CREATE_CREDENTIAL (
       credential_name => 'OCI_KEY_CRED',
       user_ocid       => 'ocid1.user.oc1..aaaaaaaauq54mi7zdyfhw33ozkwuontjceel7fok5nq3bf2vwetkpqsoa',
       tenancy_ocid    => 'ocid1.tenancy.oc1..aabbbbbbaafcue47pqmrf4vigneebgbcmmoy5r7xvoypicjqqge32ewnrcyx2a',
       private_key     => 'MIIEogIBAAKCAQEAtUnxbmrekwgVac6FdWeRzoXvIpA9+0r1.....wtnNpESQQQ0QLGPD8NM//JEBg=',
       fingerprint     => 'f2:db:f9:18:a4:aa:fc:94:f4:f6:6c:39:96:16:aa:27');
END;
/

Não há suporte para chaves privadas geradas com uma frase-senha. É necessário gerar a chave privada sem uma frase-senha. Consulte Como Gerar uma Chave de Assinatura de API para obter mais informações.

Credenciais do Amazon Web Services (AWS)

Se seus arquivos de origem residirem no Amazon S3 ou você estiver chamando uma API da AWS, username será seu ID da chave de acesso da AWS e password será sua chave de acesso secreta da AWS. Consulte AWS Identity and Access Management.

Credenciais do Microsoft Azure

Se seus arquivos de origem residirem no Armazenamento de Blobs do Azure ou você estiver chamando uma API do Azure, username será o nome da sua conta de armazenamento do Azure e password será uma chave de acesso à conta de armazenamento do Azure. Consulte Sobre contas de armazenamento do Azure.

Amazon S3-Credenciais Compatíveis

Serviço Informações de Credenciais
Armazenamento do Google Cloud

Se seus arquivos de origem residirem no Google Cloud Storage ou você estiver chamando APIs do Google Cloud Storage, será necessário definir um projeto padrão do Google e obter uma chave HMAC para criar credenciais a serem fornecidas com URLs compatíveis com o S3 do Google Cloud Storage. Use o id da chave HMAC como o nome do usuário e o segredo HMAC como a senha.

Consulte Projetos e Chaves HMAC para obter mais informações.

Gerenciar Credencial DBMS_CLOUD para autenticação no C3 Object Storage

Você pode usar o procedimento DBMS_CLOUD.CREATE_CREDENTIAL para fornecer ao Autonomous AI Database as informações de autenticação necessárias para estabelecer conexão com o Bucket do C3 Object Storage. Use os parâmetros relacionados à chave de assinatura do Oracle Cloud Infrastructure, incluindo user_ocid, tenancy_ocid, private_key e fingerprint com autenticação das Chaves de Assinatura do Oracle Cloud Infrastructure.

Por exemplo,

BEGIN
  DBMS_CLOUD.CREATE_CREDENTIAL (
    credential_name => 'OBJECT_STORAGE_CREDENTIAL',
    user_ocid       => 'ocid1.user.oc1..abcdedfxxxxx',
    tenancy_ocid    => 'ocid1.tenancy.oc1..abcdefxyyyyyy',
    private_key     => 'MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDku_Rest_of_PrivateKey_no_spaces_no_newlines',
    fingerprint     => '3d:ba:f9:aa:bb:cc:dd:ee:ff:gg:hh:ii:jj:xa:xb:xc'
  );
END;
/

Procedimento DROP_CREDENTIAL

Este procedimento remove uma credencial existente do Autonomous AI Database.

Sintaxe

DBMS_CLOUD.DROP_CREDENTIAL (
   credential_name     IN VARCHAR2);

Parâmetros

Parâmetro Descrição
credential_name O nome da credencial a ser removida.

Procedimento UPDATE_CREDENTIAL

Este procedimento atualiza um atributo com um novo valor para uma credential_name especificada.

Use credenciais armazenadas para carregamento de dados, para consultar dados externos residentes na Nuvem ou sempre que você usar procedimentos DBMS_CLOUD com um parâmetro credential_name.

Sintaxe

DBMS_CLOUD.UPDATE_CREDENTIAL (
    credential_name   IN VARCHAR2,
    attribute         IN VARCHAR2,
    value             IN VARCHAR2);

Parâmetros

Parâmetro Descrição
credential_name O nome da credencial a ser atualizada.
attribute

Nome do atributo a ser atualizado.

Para uma credencial do tipo nome de usuário/senha, os valores attribute válidos são: USERNAME e PASSWORD.

Consulte Procedimento CREATE_CREDENTIAL para obter mais informações.

value Novo valor para o atributo especificado.

Observações sobre Uso

Exemplos

BEGIN
  DBMS_CLOUD.UPDATE_CREDENTIAL(
     credential_name => 'OBJ_STORE_CRED',
     attribute => 'PASSWORD',
     value => 'password');
END;
/
BEGIN
  DBMS_CLOUD.UPDATE_CREDENTIAL(
     credential_name => 'ARN_CRED',
     attribute => 'aws_role_arn',
     value => 'NEW_AWS_ARN');
END;
/

Conteúdo Relacionado