Oracle Cloud Infrastructureドキュメント

「イベント」およびIAMポリシー

このトピックでは、管理者が「イベント」サービスのポリシーを記述する方法について説明します(非管理者ユーザーおよび「イベント」サービス自体の認可も含む)。 新しいポリシーの場合は、「ポリシーの開始」「共通ポリシー」を参照してください。

「イベント」ポリシーの概要

「イベント」ポリシーは2つの部分で構成されます: 

  • 「イベント」サービスのポリシー

    ルールを作成するには、「イベント」サービスを認可して、イベント・メッセージをアクション・リソース(トピック、ストリームまたは関数の任意の組合せ)に配信する必要があります。 たとえば、イベントを受信するトピックを指定する場合、「イベント」サービスへのアクセスをトピックに付与するポリシーを記述する必要があります。 「イベント・サービスがイベントをアクション・リソースに配信することを許可」も参照してください。

  • ユーザーのポリシー

    ユーザー(管理者ではない)がルールを使用できるようにするには、ルールを管理または読み取る権限をユーザーに付与する必要があります。 たとえば、DevOpsグループのユーザーに、アクション・リソースをトリガーするルールの作成を許可する場合は、ルールの管理を許可するポリシーを記述する必要があります。 「ルールの使用をユーザーに許可」も参照してください。

「イベント」に対するユーザー・ポリシーの詳細は、「イベント・サービスの詳細」を参照してください。 アクション・リソースの認可の詳細は、関連サービスの認証および認可のセクションを参照してください: 「通知」ストリーミングまたはファンクション

「イベント」サービスによるイベントのアクション・リソースへの配信を許可

「イベント」サービスがテナンシのリソースにイベントを配信できるようにするには、「イベント」によるアクション・リソースへのアクセスを提供するポリシーを作成する必要があります。

「イベント」サービスのポリシーの作成は、ユーザーへのポリシーの書込みと似ていますが、「イベント」サービス自体を承認する(グループにユーザーを追加する)グループの認可のかわりに行われます。 「ポリシー構文」は、ポリシーがサービス用かユーザー用かに関係なく同様に機能します。 たとえば、テナンシ内のすべての「通知」トピックに対する「イベント」サービスへのアクセス権を付与する場合は、次のように記述します: 

allow service cloudEvents to use ons-topic in tenancy

この文では、サービス(「イベント」サービス)がテナンシのリソースにアクセスできるようになるため、前述の文には、許可された後(グループではなく) serviceが含まれていることに注意してください。 ポリシー文の場合、「イベント」サービスはcloudEventsを使用して、サービスとして自身を識別します。

前述の文では、「イベント」は広範なアクセスが可能です。 「イベント」にそれほど多くのアクセス権を付与しない場合は、ロケーションや条件を含めることによってアクセスを制限する文を記述することもできます。 たとえば、前述のポリシー文を、「イベント」のアクセスを単一の「通知」トピックに制限する次の例と比較します:

allow service cloudEvents to use ons-topic in tenancy where any {target.ons-topic.id = '<ons_topic_name>'}
        

次のポリシーを使用して、「イベント」サービスが各タイプのアクション・リソースにイベントを配信できるようにします。

イベント・サービスで関数を使用
イベント・サービスで通知を使用
イベント・サービスのアクセス・ストリーミングを有効にします

ヒント

ルールに指定するアクション・リソースのタイプごとに、ポリシー文の追加のみが必要です。
アクションで使用可能なすべてのサービスを追加する必要はありません。 あるサービスを追加した後で別のサービスを追加する場合は、そのサービスに対する別の文を同じポリシーに追加できます。 同様に、あるサービスの使用を停止する場合は、削除することができます。

ルールの使用をユーザーに許可

これらのポリシーによって、ユーザーはルールを管理またはリストできます。

ユーザーにコンパートメント内のルールをリストさせます
コンパートメント内のルールを管理