概要
ワークフローやアプリがプライベートアクションを使用している場合、Datadog はそのアクションが許可されているかどうかを判断し、その後プライベートアクションランナーがそれを実行します。タスクがランナーに送信される前に、Datadog は要求元のユーザーがそのランナーに対して操作を行う権限を持っているかどうかを確認します。許可されていない場合、タスクは送信されません。
このページでは、その承認決定がどのように行われるかを説明します。Datadog がアクションを許可または拒否するために使用するモデルと、どのモデルがランナーに適用されるかを説明します。
承認モデルを確認する
ランナーは、ご利用の Datadog サイトに応じて、実行ポリシーまたはコネクションのいずれかのモデルで認可されます。
US1-FED および US2-FED では、
コネクション がサポートされている認証モデルです。
モデルはランナーの所有権によって決定され、ランナーの登録時に一度設定されます。特定のランナーは、その存続期間中、これらのモデルのいずれか 1 つのみを使用します。同じランナーで両方を混在させることはできません。所有権はランナーごとに設定されるため、単一の Agent ベースフリートに所有者なしのランナーと所有者ありのランナーの両方を含めることができ、それぞれが独自のモデルによって承認されます。
- Datadog Agent におけるランナーは、どのように登録されたかによって異なります。所有者なしの Agent ランナーは実行ポリシーを使用し、所有者ありの Agent ランナーはコネクションを使用します。
- スタンドアロンランナーは常に所有されているため、常にコネクションを使用します。
登録によってランナーの所有権がどのように設定されるかについては、登録と所有権 を参照してください。
2 つのモデルを比較する
| 実行ポリシー | コネクション |
|---|
| 動作 | Datadog Agent 内のランナーでのみ | スタンドアロンランナーと Datadog Agent 内のランナーの両方 |
| アクセス権の付与方法 | Agent タグは 1 つ以上のランナーセットをターゲットにするため、インテグレーションごと、ランナーごとに個別のコネクションを作成するのではなく、1 つのポリシーでフリート全体のアクセスを管理する | コネクションは資格情報を保存し、それらを単一のランナーとペアリングする |
| 資格情報 | 実行ポリシーは資格情報を保存しません。アクセス権は Agent タグによって付与されます。資格情報を必要とするアクション (HTTP、GitLab、MongoDB など) はサポートされていません。 | コネクションはアクションの実行に使用される資格情報を保持する |
| 制御 | きめ細かな制御: 特定のアクションやアクションセットの許可または拒否に加え、Kubernetes アクションのターゲット Kubernetes ネームスペースなど、インテグレーション固有のスコープを設定する | ランナー単位: コネクションは特定の 1 つのランナーをターゲットにする |
実行ポリシー
実行ポリシーは、Datadog Agent 内のランナーのための認可モデルです。各ポリシーは、1 つ以上のランナーセット全体のアクセスを一度に管理します。インテグレーションごと、ランナーごとに個別のコネクションを作成する代わりに、Agent タグを使用してターゲットの Agent を定義します。次に、それらに許可または拒否ルールを適用します。
実行ポリシーは、きめ細かな制御も提供します。ポリシーでは、特定のアクションやアクションセットの許可または拒否を設定できます。また、Kubernetes アクションのターゲット Kubernetes ネームスペースなど、インテグレーション固有のスコープを適用することもできます。アクセス権は保存された資格情報ではなく Agent タグを通じて付与されるため、実行ポリシーは資格情報を保存せず、Agent 内の所有者のいないランナーによって使用されます。
実行ポリシーの詳細および設定方法 (ターゲット、ルール、アクセス制御、ワークフローでの実行ポリシーの使用) については、実行ポリシー を参照してください。
コネクション
コネクションは、スタンドアロンランナーと Datadog Agent 内のランナーの両方で機能し、所有者のいるランナーで使用されるモデルです。
コネクションは次の 2 つのことを行います。
- サービスに対してアクションを実行するために必要な資格情報を参照します。資格情報そのもの (API トークンやユーザー名とパスワードなど) は、ランナーと共にホストまたはコンテナ上の資格情報ファイルにローカルで保存され、コネクションがそれらを参照します。
- **それらの資格情報を単一のランナーとペアリングします。**コネクションは 1 つのランナーを対象とするため、資格情報は意図したランナーによってのみ使用されます。
ワークフローやアプリでコネクションを使用するには、そのコネクションに対する適切な権限が必要です。コネクションへのアクセスを制限することで、それを必要とするユーザーのみがワークフローやアプリで使用できるようにします。
設定手順の詳細 (コネクションの作成、編集、制限、コネクション識別子タグ、コネクショングループ) については、コネクション を参照してください。
参考資料