액세스 관리를 위한 DBMS_CLOUD

이 절에서는 액세스 관리에 사용되는 DBMS_CLOUD 서브 프로그램에 대해 다룹니다.

필수 조건

개발자는 Oracle Public Cloud, 멀티클라우드 또는 Exadata Cloud@Customer에 배포된 자율운영 AI 데이터베이스와 함께 DBMS_CLOUD 절차를 사용할 수 있습니다.

배포 선택에 따라 Amazon S3, Azure Blob Storage 및 Google Cloud Storage 서비스 공급자와 함께 DBMS_CLOUD 절차를 사용하려면 다음 필요 조건을 충족해야 합니다.

액세스 관리를 위한 DBMS_CLOUD 서브 프로그램 요약

자격 증명 만들기, 삭제 및 업데이트를 포함하여 DBMS_CLOUD 패키지 내의 자격 증명 관리를 위한 하위 프로그램입니다.

하위 프로그램 설명
CREATE_CREDENTIAL 프로시저 이 절차에서는 자율운영 AI 데이터베이스에 클라우드 서비스 인증서를 저장합니다.
DROP_CREDENTIAL 프로시저 이 절차에서는 자율운영 AI 데이터베이스에서 기존 인증서를 제거합니다.
UPDATE_CREDENTIAL 프로시저 이 절차에서는 자율운영 AI 데이터베이스의 클라우드 서비스 인증서 속성을 업데이트합니다.

CREATE_CREDENTIAL 프로시저

이 절차에서는 자율운영 AI 데이터베이스에 클라우드 서비스 인증서를 저장합니다.

내장 클라우드 서비스 자격 증명을 사용하여 데이터 로드를 위해 클라우드 서비스에 액세스하거나, 클라우드에 상주하는 외부 데이터를 쿼리하거나, DBMS_CLOUD 프로시저를 credential_name 매개변수와 함께 사용하는 경우 기타 경우에 액세스합니다.

구문

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);

매개변수

매개변수 설명
credential_name 저장할 자격 증명 이름입니다. credential_name 매개변수는 공백이나 하이픈을 허용하지 않는 Oracle 객체 이름 지정 규칙을 준수해야 합니다.
username usernamepassword 인수는 함께 클라우드 서비스 자격 증명을 지정합니다. 다양한 클라우드 서비스에 대해 usernamepassword에 대해 지정할 내용은 사용 노트를 참조하십시오.
password usernamepassword 인수는 함께 클라우드 서비스 자격 증명을 지정합니다.
user_ocid 사용자의 OCID를 지정합니다. 사용자의 OCID 획득에 대한 자세한 내용은 테넌시의 OCID 및 사용자의 OCID 가져오기 위치를 참조하십시오.
tenancy_ocid 테넌시의 OCID를 지정합니다. 테넌시의 OCID 획득에 대한 자세한 내용은 테넌시의 OCID 및 사용자의 OCID 가져오기 위치를 참조하십시오.
private_key 생성된 개인 키를 지정합니다. 문장암호로 생성된 개인 키는 지원되지 않습니다. 문장암호 없이 개인 키를 생성해야 합니다. PEM 형식의 키 쌍 생성에 대한 자세한 내용은 API 서명 키를 생성하는 방법을 참조하십시오.
fingerprint 지문을 지정합니다. 생성된 공개 키가 사용자 계정에 업로드되면 콘솔에 지문이 표시됩니다. 이 인수에 대해 표시된 지문을 사용합니다. 자세한 내용은 키 지문을 가져오는 방법API 서명 키를 생성하는 방법을 참조하십시오.

사용법 참고

Oracle Cloud Infrastructure 인증서(Auth 토큰)

Oracle Cloud Infrastructure의 경우 username은 Oracle Cloud Infrastructure 사용자 이름입니다. password은 Oracle Cloud Infrastructure 인증 토큰입니다. 인증 토큰 작업을 참조하십시오.

예:

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

OCI Object Storage에 대한 호출을 인증하는 경우 인증 토큰 기반 인증서를 사용합니다. 다른 유형의 Oracle Cloud Infrastructure 클라우드 서비스에 대한 호출은 Oracle Cloud Infrastructure 서명 키 기반 인증서를 사용하십시오.

Oracle Cloud Infrastructure 서명 키 기반 인증서

Oracle Cloud Infrastructure 서명 키 인증의 경우 user_ocid, tenancy_ocid, private_key, fingerprint 등 Oracle Cloud Infrastructure 서명 키 관련 매개변수를 사용합니다.

예:

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;
/

문장암호로 생성된 개인 키는 지원되지 않습니다. 문장암호 없이 개인 키를 생성해야 합니다. 자세한 내용은 How to Generate an API Signing Key을 참조하십시오.

AWS(Amazon Web Services) 인증서

소스 파일이 Amazon S3에 상주하거나 AWS API를 호출하는 경우 username는 AWS 액세스 키 ID이고 password는 AWS 보안 액세스 키입니다. AWS ID 및 액세스 관리를 참조하십시오.

Microsoft Azure 인증서

소스 파일이 Azure Blob Storage에 상주하거나 Azure API를 호출하는 경우 username은 Azure 스토리지 계정 이름이고 password은 Azure 스토리지 계정 액세스 키입니다. Azure 스토리지 계정 정보를 참조하십시오.

Amazon S3 호환 인증서

서비스 자격 증명 정보
Google Cloud 저장소

소스 파일이 Google Cloud Storage에 상주하거나 Google Cloud Storage API를 호출하는 경우 기본 Google 프로젝트를 설정하고 HMAC 키를 가져와서 Google Cloud Storage S3 호환 URL을 제공할 자격 증명을 만들어야 합니다. HMAC 키 ID를 사용자 이름으로 사용하고 HMAC 암호를 암호로 사용합니다.

자세한 내용은 프로젝트HMAC 키를 참조하십시오.

C3 오브젝트 스토리지에 인증할 DBMS_CLOUD 인증서 관리

DBMS_CLOUD.CREATE_CREDENTIAL 절차를 사용하여 자율운영 AI 데이터베이스에 C3 오브젝트 스토리지 버킷에 접속하는 데 필요한 인증 정보를 제공할 수 있습니다. Oracle Cloud Infrastructure 서명 키 인증과 함께 user_ocid, tenancy_ocid, private_key, fingerprint 등 Oracle Cloud Infrastructure 서명 키 관련 매개변수를 사용합니다.

예제

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;
/

DROP_CREDENTIAL 프로시저

이 절차에서는 자율운영 AI 데이터베이스에서 기존 인증서를 제거합니다.

구문

DBMS_CLOUD.DROP_CREDENTIAL (
   credential_name     IN VARCHAR2);

매개변수

매개변수 설명
credential_name 제거할 인증서의 이름입니다.

UPDATE_CREDENTIAL 프로시저

이 프로시저는 지정된 credential_name에 대한 새 값으로 속성을 업데이트합니다.

데이터 로드, 클라우드에 있는 외부 데이터 질의 또는 credential_name 매개변수와 함께 DBMS_CLOUD 프로시저를 사용하는 모든 위치에 저장된 인증서를 사용합니다.

구문

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

매개변수

매개변수 설명
credential_name 업데이트할 인증서의 이름입니다.
attribute

업데이트할 속성의 이름입니다.

사용자 이름/비밀번호 유형 인증서의 경우 적합한 attribute 값은 USERNAMEPASSWORD입니다.

자세한 내용은 CREATE_CREDENTIAL Procedure를 참조하십시오.

value 지정된 속성의 새 값입니다.

사용법 참고

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;
/

관련 콘텐츠