Oracle API Access ControlのIAMポリシーの作成

Oracle APIアクセス・コントロール・リソースへのアクセスを制御するためにアクションを使用した独自のポリシーを開発する方法を学習します。

リソース・タイプおよび委任アクセス制御ポリシーについて

ポリシーで使用できるリソース・タイプについて学習します。

集約リソース・タイプは、すぐ後に続く個別リソース・タイプのリストをカバーします。たとえば、グループがprivileged-api-familyにアクセスできるようにする単一のポリシーを記述することは、api-metadatasprivileged-api-requestsprivileged-api-controlsおよびprivileged-api-work-requestsリソース・タイプへのアクセス権を付与する個別のポリシーを記述することと同じです。詳細は、リソース・タイプを参照してください。

ポリシーの例:
  • 管理グループ、承認者グループまたはマネージャに、テナンシでdatabase-familyリソース・タイプの使用を許可します。
    allow group <admin_group/approver_group/managers> to use database-family in tenancy
  • 管理グループ、承認者グループまたはマネージャに、テナンシ内のprivileged-api-familyリソース・タイプの管理を許可します。
    allow group <admin_group/approver_group/managers> to manage privileged-api-family in tenancy
  • 「アクセス・リクエスト承認者」グループがテナンシ内の特権アクセス・リクエストを承認、拒否および取り消すことを許可します。
    allow AccessRequestApprovers to manage privileged-api-requests in tenancy
  • アクセス・リクエスト・グループがテナンシでprivileged-api-familyリソース・タイプを使用することを許可します。
    allow group <access_request_group> to use privileged-api-family in tenancy
  • 管理グループまたは承認者グループに、テナンシ内のドメインの読取りを許可します。
    allow group <admin_group/approver_group/access_request_group> to read domains in tenancy
  • APIアクセス制御サービスがテナンシでdatabase-familyリソース・タイプを使用できるようにします。
    allow any-user TO use database-family IN tenancy where ALL { request.principal.type in ('pactlprivilegedapirequest', 'pactlprivilegedapicontrol') }
  • APIアクセス制御サービスがテナンシの通知トピックを使用できるようにします。
    allow any-user TO use ons-topics IN tenancy where ALL { request.principal.type in ('pactlprivilegedapirequest', 'pactlprivilegedapicontrol') }

APIアクセス制御のリソース・タイプ

APIアクセス・コントロールに固有のリソース・タイプ・リストを確認します。

集約リソース・タイプ

privileged-api-family

個別のリソース・タイプ

  • api-metadatas
  • privileged-api-requests
  • privileged-api-controls
  • privileged-api-work-requests

APIアクセス制御でサポートされる変数

ポリシーに条件を追加する場合は、変数を使用します。

APIアクセス・コントロールでは、一般的な変数のみがサポートされます。詳細は、すべてのリクエストの一般的な変数を参照してください。

動詞+リソース・タイプの組合せの詳細

APIアクセス・コントロールの動詞について、対応する権限とAPI操作のリストを確認します。

詳細は、権限動詞、およびリソース・タイプに関する項を参照してください。

Privileged-api-familyリソース・タイプ

各APIアクセス・コントロールのリソース・タイプ動詞は、様々なレベルのアクセス権を付与します。

アクセスのレベルは、inspectからreaduse、およびmanageの順に累積します。表のセルのプラス記号(+)は、そのすぐ上のセルと比較して増分アクセスを示しますが、「追加なし」は増分アクセスを示しません。

たとえば、inspectリソース・タイプに対するread動詞は、privileged-api-controls動詞と比較して、追加の権限またはAPI操作をカバーしていません。ただし、use動詞にはさらに1つの権限が含まれ、さらに1つの操作を完全にカバーし、別の追加操作を一部カバーしています。

アピメタデータ

api-metadatasリソース・タイプの権限およびAPI操作のリストを確認します。

表5-1 API-metadatasリソース・タイプの権限およびAPI操作のリスト

動詞 権限 完全に対象となるAPI 一部カバーされたAPI
INSPECT API_METADATA_INSPECT ListApiMetadata なし
READ 検査 + API_METADATA_READ GetApiMetadata なし
USE READ + 追加なし なし なし
MANAGE USE + 追加なし なし なし

特権API制御

privileged-api-controlsリソース・タイプの権限およびAPI操作のリストを確認します。

表5-2 privilegeged-API-controlsリソース・タイプの権限およびAPI操作のリスト

動詞 権限 完全に対象となるAPI 一部カバーされたAPI
INSPECT PRIVILEGED_API_CONTROL_INSPECT ListPrivilegedApiControls なし
READ 検査 + PRIVILEGED_API_CONTROL_READ GetPrivilegedApiControl なし
USE READ + 追加なし なし なし
MANAGE USE +

PRIVILEGED_API_CONTROL_CREATE

PRIVILEGED_API_CONTROL_UPDATE

PRIVILEGED_API_CONTROL_MOVE

PRIVILEGED_API_CONTROL_DELETE

CreatePrivilegedApiControl

UpdatePrivilegedApiControl

ChangePrivilegedApiControlCompartment

DeletePrivilegedApiControl

なし

特権APIリクエスト

privileged-api-requestsリソース・タイプの権限およびAPI操作のリストを確認します。

表5-3 privilegeged-API-requestsリソース・タイプの権限およびAPI操作のリスト

動詞 権限 完全に対象となるAPI 一部カバーされたAPI
INSPECT PRIVILEGED_API_REQUEST_INSPECT ListPrivilegedApiRequests なし
READ 検査 + PRIVILEGED_API_REQUEST_READ GetPrivilegedApiRequest なし
USE READ +

PRIVILEGED_API_REQUEST_CREATE

PRIVILEGED_API_REQUEST_CLOSE

CreatePrivilegedApiRequest

ClosePrivilegedApiRequest

なし
MANAGE 使用 + PRIVILEGED_API_REQUEST_AUTHORIZE なし

ApprovePrivilegedApiRequest

RejectPrivilegedApiRequest

RevokePrivilegedApiRequest

特権api-work-requests

privileged-api-work-requestsリソース・タイプの権限およびAPI操作のリストを確認します。

表5-4権限-API-work-requestsリソース・タイプの権限およびAPI操作のリスト

動詞 権限 完全に対象となるAPI 一部カバーされたAPI
INSPECT PRIVILEGED_API_WORK_REQUEST_INSPECT ListWorkRequests なし
READ 検査 + PRIVILEGED_API_WORK_REQUEST_READ なし

GetWorkRequest

ListWorkRequestErrors

ListWorkRequestLogs

USE READ + 追加なし なし なし
MANAGE 使用 + PRIVILEGED_API_WORK_REQUEST_DELETE CancelWorkRequest なし

API操作ごとに必要な権限

リソース・タイプ別にグループ化して、APIアクセス制御リソースのAPI操作のリストを論理的な順序で確認します。

権限の詳細は、権限を参照してください。

表5-5各API操作の権限のリスト

リソースの種類 権限
api-metadatas
  • API_METADATA_INSPECT
  • API_METADATA_READ
privileged-api-requests
  • PRIVILEGED_API_REQUEST_INSPECT
  • PRIVILEGED_API_REQUEST_CREATE
  • PRIVILEGED_API_REQUEST_READ
  • PRIVILEGED_API_REQUEST_AUTHORIZE
  • PRIVILEGED_API_REQUEST_CLOSE
privileged-api-controls
  • PRIVILEGED_API_CONTROL_INSPECT
  • PRIVILEGED_API_CONTROL_READ
  • PRIVILEGED_API_CONTROL_CREATE
  • PRIVILEGED_API_CONTROL_UPDATE
  • PRIVILEGED_API_CONTROL_DELETE
  • PRIVILEGED_API_CONTROL_MOVE
privileged-api-work-requests
  • PRIVILEGED_API_WORK_REQUEST_INSPECT
  • PRIVILEGED_API_WORK_REQUEST_READ
  • PRIVILEGED_API_WORK_REQUEST_DELETE

表5-6各API操作の使用に必要な権限

API操作 操作の使用に必要な権限
APIメタデータ
ListApiMetadata API_METADATA_INSPECT
GetApiMetadata API_METADATA_READ
特権APIコントロール
ListPrivilegedApiControls PRIVILEGED_API_CONTROL_INSPECT
CreatePrivilegedApiControl PRIVILEGED_API_CONTROL_CREATE
GetPrivilegedApiControl PRIVILEGED_API_CONTROL_READ
UpdatePrivilegedApiControl PRIVILEGED_API_CONTROL_UPDATE
DeletePrivilegedApiControl PRIVILEGED_API_CONTROL_DELETE
ChangePrivilegedApiControlCompartment PRIVILEGED_API_CONTROL_MOVE
特権APIリクエスト
CreatePrivilegedApiRequest PRIVILEGED_API_REQUEST_CREATE
ListPrivilegedApiRequests PRIVILEGED_API_REQUEST_INSPECT
GetPrivilegedApiRequest PRIVILEGED_API_REQUEST_READ
ApprovePrivilegedApiRequest PRIVILEGED_API_REQUEST_AUTHORIZE
RejectPrivilegedApiRequest PRIVILEGED_API_REQUEST_AUTHORIZE
RevokePrivilegedApiRequest PRIVILEGED_API_REQUEST_AUTHORIZE
ClosePrivilegedApiRequest PRIVILEGED_API_REQUEST_CLOSE
特権API作業リクエスト
ListWorkRequests PRIVILEGED_API_WORK_REQUEST_INSPECT
GetWorkRequest PRIVILEGED_API_WORK_REQUEST_READ
CancelWorkRequest PRIVILEGED_API_WORK_REQUEST_DELETE
ListWorkRequestErrors PRIVILEGED_API_WORK_REQUEST_READ
ListWorkRequestLogs PRIVILEGED_API_WORK_REQUEST_READ