Azureサービス・プリンシパルを使用したAzureリソースへのアクセス
Autonomous DatabaseでAzureサービス・プリンシパルを使用して、データベースに独自の資格証明オブジェクトを作成して格納することなくAzureリソースにアクセスできます。
- Azureサービス・プリンシパルの有効化
Azureサービス・プリンシパル認証を有効にして、Autonomous Databaseが長期の資格証明を提供せずにAzureサービスにアクセスできるようにします。 - Azureアプリケーションの同意およびロールの割当て
Azureサービス・プリンシパル認証を使用してAutonomous DatabaseからAzureリソースにアクセスするには、Azureアプリケーションに同意し、Azureリソースへのアクセスを許可するロールを割り当てる必要があります。 - DBMS_CLOUDでのAzureサービス・プリンシパルの使用
DBMS_CLOUD
コールを実行してAzureリソースにアクセスし、資格証明名をAZURE$PA
として指定すると、Azure側での認証はAzureサービス・プリンシパルを使用して行われます。 - Azureサービス・プリンシパルの無効化
Azureサービス・プリンシパルを使用したAutonomous DatabaseからAzureリソースへのアクセスを無効にするには、DBMS_CLOUD_ADMIN.DISABLE_PRINCIPAL_AUTH
を使用します。 - Azureサービス・プリンシパルに関するノート
Azureサービス・プリンシパルの使用に関するノート。
親トピック: リソースにアクセスするためのポリシーとロールの構成
Azureサービス・プリンシパルの有効化
Azureサービス・プリンシパル認証を有効にして、Autonomous Databaseが長期の資格証明を提供せずにAzureサービスにアクセスできるようにします。
Autonomous DatabaseをAzureサービス・プリンシパル認証で使用するには、Microsoft Azureアカウントが必要です。詳細は、Microsoft Azureを参照してください。
Autonomous DatabaseでAzureサービス・プリンシパル認証を有効にするには:
詳細は、ENABLE_PRINCIPAL_AUTHプロシージャを参照してください。
Azureアプリケーションの同意の提供およびロールの割当て
Autonomous DatabaseからAzureリソースにAzureサービス・プリンシパル認証を使用してアクセスするには、Azureアプリケーションに同意し、Azureリソースへのアクセスを許可するロールを割り当てる必要があります。
Azureアプリケーションの同意を提供し、ロールを割り当てるには、次のステップを実行します:
この例では、Azure Blob Storageにアクセスするためのロールを付与するステップを示します。他のAzureサービスへのアクセスを提供する場合は、Azureアプリケーション(サービス・プリンシパル)がAzureサービスにアクセスできるように、追加のAzureサービスに対して同等のステップを実行する必要があります。
DBMS_CLOUDでのAzureサービス・プリンシパルの使用
DBMS_CLOUD
コールを実行してAzureリソースにアクセスし、資格証明名をAZURE$PA
として指定すると、Azure側での認証はAzureサービス・プリンシパルを使用して行われます。
まだ実行していない場合は、必要な前提条件ステップを実行します:
-
ADMINスキーマまたは別のスキーマでAzureサービス・プリンシパル認証を使用できるようにします。詳細は、Azureサービス・プリンシパルの有効化を参照してください。
-
アプリケーションに同意し、Azureロールの割当て付与を実行します。詳細は、Azureアプリケーションの同意の提供およびロールの割当てを参照してください。
Azureサービス・プリンシパルでDBMS_CLOUD
プロシージャまたはファンクションを使用するには、資格証明名としてAZURE$PA
を指定します。たとえば、次のようにAzureサービス・プリンシパル資格証明を使用してAzure Blob Storageにアクセスできます:
SELECT * FROM DBMS_CLOUD.LIST_OBJECTS
('AZURE$PA', 'https://treedata.blob.core.windows.net/treetypes/');
OBJECT_NAME BYTES CHECKSUM CREATED LAST_MODIFIED
----------- ----- ------------------------ -------------------- --------------------
trees.txt 58 aCB1qMOPVobDLCXG+2fcvg== 2022-04-07T23:03:01Z 2022-04-07T23:03:01Z
オブジェクト・ストレージへのアクセスに必要なステップを比較する場合(資格証明の作成および既存表へのデータのコピーを参照)、AZURE$PA
というAzureサービス・プリンシパルを使用しているため、ステップ1の資格証明の作成は不要です。
Azureサービス・プリンシパルの無効化
Autonomous Database with Azureサービス・プリンシパルからAzureリソースへのアクセスを無効にするには、DBMS_CLOUD_ADMIN.DISABLE_PRINCIPAL_AUTH
を使用します。
Autonomous DatabaseでAzureサービス・プリンシパルを無効にするには:
BEGIN
DBMS_CLOUD_ADMIN.DISABLE_PRINCIPAL_AUTH
(
provider => 'AZURE',
username => 'adb_user');
END;
/
provider
値がAZURE
で、username
がADMIN
ユーザー以外のユーザーである場合、プロシージャは指定されたユーザーから権限を取り消します。この場合は、ADMIN
ユーザーとその他のユーザーが引き続きADMIN.AZURE$PA
を使用でき、Autonomous Databaseインスタンス用に作成されたアプリケーションはインスタンス上に残ります。
provider
値がAZURE
で、username
がADMIN
である場合、プロシージャはAzureサービス・プリンシパル・ベースの認証を無効にし、Autonomous Databaseインスタンス上のAzureサービス・プリンシパル・アプリケーションを削除します。このとき、Azureサービス・プリンシパルを有効にする場合は、次を含むAzureサービス・プリンシパルを再び使用するために必要なすべてのステップを実行する必要があります:
-
ADMIN
スキーマまたは別のスキーマでAzureサービス・プリンシパル認証を使用できるようにします。詳細は、Azureサービス・プリンシパルの有効化を参照してください。 -
アプリケーションに同意し、Azureロールの割当て付与を実行します。詳細は、Azureアプリケーションの同意の提供およびロールの割当てを参照してください。
詳細は、DISABLE_PRINCIPAL_AUTHプロシージャを参照してください。