すべてのプロダクト
Search
ドキュメントセンター

ApsaraVideo Live:カスタムポリシー

最終更新日:Jul 16, 2026

カスタムポリシーを使用すると、特定のアクセス制御要件を満たすことができます。RAM コンソールでは、ビジュアルエディターまたはスクリプト編集を使用してカスタムポリシーを作成できます。このトピックでは、カスタムポリシーを作成するための基本的な概念、ユースケース、手順、構文、および例について説明します。

ユースケース

システムポリシーは、粒度の粗い権限を提供します。きめ細かなアクセス制御が必要な場合は、カスタムポリシーを作成できます。

たとえば、RAM ユーザーに、スナップショット設定のクエリのみを許可するカスタムポリシーを作成できます。

操作手順

以下の例では、カスタムポリシーの作成方法を示します。

例 1:スナップショット設定のクエリ

RAM ユーザーにスナップショット設定のクエリのみを許可するには、次の手順に従います。

  1. ポリシーの作成 ページに移動します。**[サービス]** で、**[Media Services]** > **[ApsaraVideo Live]** を選択します。

  2. **[読み取りアクション]** リストを展開します。検索ボックスに「DescribeLiveSnapshotConfig」と入力し、結果から選択します。

  3. OK をクリックします。

  4. ポリシー名を入力し、**[OK]** をクリックします。

  5. RAM ユーザーを作成し、新しいポリシーをアタッチします。詳細については、「RAMユーザーの作成と権限付与」をご参照ください。

これらの手順を完了すると、RAM ユーザーは DescribeLiveSnapshotConfig API を呼び出して正しいデータを受信できます。他の API を呼び出そうとすると、権限エラーが返されます。

例 2:IPアドレスによるスナップショット設定のクエリ

例 1 では、DescribeLiveSnapshotConfig API を呼び出す権限を付与します。IP アドレスによるアクセス制限など、よりきめ細かな制御を追加するには、次の手順に従います。

  1. ポリシー ページに移動し、例 1 で作成したポリシーを見つけます。

  2. ポリシー名をクリックして、ポリシー詳細ページを開きます。

  3. ポリシーの変更 をクリックして編集ページを開き、「ビジュアルエディター」タブを選択します。 編集ページには、ポリシータイプが [カスタムポリシー] で、現在のバージョンが v2 であることが表示されます。 [ポリシードキュメント] タブには、Effect 値が Allow のポリシーの JSON コンテンツが表示されます。

  4. 「条件」セクションで、[条件の追加] をクリックします。キーを acs:SourceIp に、演算子を IpAddress に、値を目的の IP Address に設定します。

  5. OK をクリックし、もう一度 OK をクリックして変更を保存します。

これらの手順を完了すると、指定された IP アドレスからリクエストが送信された場合にのみ、操作は成功します。それ以外の場合、リクエストは権限エラーで失敗します。

説明

カスタムポリシーの作成方法の詳細については、「カスタムポリシーの作成」をご参照ください。

構文

ポリシーは、**ポリシー詳細ページ**の **[ポリシードキュメント]** タブに JSON 形式で記述されています。**例 2** の場合、ポリシードキュメントは次のようになります。

{
    "Version": "1",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "live:DescribeLiveSnapshotConfig",
            "Resource": "*",
            "Condition": {
                "IpAddress": {
                    "acs:SourceIp": [
                        "127.0.0.1"
                    ]
                }
            }
        }
    ]
}

以下に、ポリシードキュメントの要素について説明します。

  • Version

    Version 要素は、ポリシーのバージョンを定義します。値は 1 である必要があります。

  • Statement

    ポリシーは 1 つ以上のステートメントブロックで構成されています。各ステートメントは権限を定義し、アクション、エフェクト、リソース、条件などの要素を含みます。リクエストが行われると、システムは各ステートメントを評価します。Deny エフェクトは常に Allow エフェクトを上書きします。リクエストは、1 つ以上の Allow ステートメントに一致し、Deny ステートメントに一致しない場合にのみ承認されます。

  • Effect

    ステートメントのエフェクトを定義します。Allow または Deny を指定できます。

  • Action

    権限の対象となる API オペレーションを指定します。ApsaraVideo Live のアクションは、live:API名 形式です (例: live:DescribeLiveSnapshotConfig)。複数のアクションはカンマで区切ります。複数のアクションを組み合わせて、権限のセットを作成できます。

    利用可能なすべての API オペレーションのリストについては、「API リファレンス」をご参照ください。

  • Resource

    ポリシーが対象とするリソースを指定します。ワイルドカード文字 (*) を使用できます。形式はacs:{ramCode}:{region}:{accountId}:{relative} です。Resource 要素には、複数のリソースのリストを含めることができます。ApsaraVideo Live の場合、ramCode の有効な値は live、cdn、および live-interaction です。region フィールドは現在サポートされておらず、* に設定する必要があります。accountId はお客様のアカウント ID です。relative は特定のリソースを指定します。多くの場合 * に設定されますが、一部の API はリソースレベルの権限をサポートしています。例に示すように、Resource 要素全体を * に設定することもできます。

    説明

    ビジュアルエディターを使用すると、API オペレーションに基づいて対応する ramCode が自動的に選択されます。

  • Condition

    ポリシーが有効になる条件を指定します。この要素はオプションです。

    以下の条件がサポートされています。

    条件

    説明

    値

    acs:SourceIp

    IP アドレスまたは CIDR ブロックを指定します。

    IP アドレス。ワイルドカード文字 (*) がサポートされています。

    acs:SecureTransport

    リクエストが HTTPS を使用する必要があるかどうかを指定します。

    true または [いいえ]

    acs:MFAPresent

    ユーザーが多要素認証 (MFA) を使用してログインする必要があるかどうかを指定します。

    true または false

    acs:CurrentTime

    リクエストがサーバーで受信された時刻を指定します。

    ISO 8601 形式の時刻。例: 2012-11-11T23:59:59Z。

説明

ポリシーの基本要素と構文の詳細については、「ポリシー要素」および「ポリシーの構造と構文」をご参照ください。

スクリプト編集

ポリシーの構文を理解したら、スクリプト編集を使用してポリシーを変更することもできます。たとえば、例 2 のポリシーに IP アドレス 127.0.0.2 を追加するには、次の手順に従います。

  1. ポリシー ページに移動し、例 1 で作成したポリシーを見つけます。

  2. ポリシー名をクリックして、ポリシー詳細ページを開きます。

  3. ポリシーの変更 をクリックして編集ページを開き、[JSON] タブを選択します。

  4. acs:SourceIp 配列に、IP アドレス 127.0.0.2 を追加します。

  5. OK をクリックして変更を保存します。

更新されたポリシードキュメントは次のようになります。

{
    "Version": "1",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "live:DescribeLiveSnapshotConfig",
            "Resource": "*",
            "Condition": {
                "IpAddress": {
                    "acs:SourceIp": [
                        "127.0.0.1",
                        "127.0.0.2"
                    ]
                }
            }
        }
    ]
}

バージョン管理

ポリシーを以前のバージョンに戻すには、バージョン管理を使用します。ポリシー詳細ページで、バージョン タブを選択し、対象のバージョンを見つけて[デフォルトバージョンとして設定] をクリックします。

重要

ポリシーには最大 5 つのバージョンを設定できます。

高度な使用法

カスタムポリシーを作成する、以下のビジネスシナリオを考えてみましょう。

  • AddLiveAppSnapshotConfig 操作の権限を制御したい。

  • この操作は、domainA と domainB でのみ許可されるようにします。

これらの要件を満たすために、リソースレベルでアクセスを制御できます。次の手順に従います。

  1. ポリシーの作成 ページに移動します。**[サービス]** で、**[Media Services]** > **[ApsaraVideo Live]** を選択します。

  2. **[書き込みアクション]** リストを展開します。検索ボックスに「AddLiveAppSnapshotConfig」と入力し、結果から選択します。

  3. [リソース] セクションで、[特定のリソース] を選択し、[リソースの追加] をクリックします。[アカウント] を * に、[リソース] を domainA に設定します。この手順を繰り返して domainB を追加します。

  4. OK をクリックします。

  5. ポリシー名を入力し、**[OK]** をクリックします。ポリシードキュメントは次のようになります。

    {
        "Version": "1",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": "live:AddLiveAppSnapshotConfig",
                "Resource": [
                    "acs:cdn:*:*:domain/domainA",
                    "acs:cdn:*:*:domain/domainB"
                ]
            }
        ]
    }
  6. 作成したポリシーをターゲットの RAM ユーザーにアタッチします。

これらの手順を完了すると、RAM ユーザーは domainA と domainB のスナップショット設定のみを追加できます。

説明

リソースレベルの制御の形式は、API オペレーションによって異なります。ビジュアルエディターを使用して、きめ細かな権限を設定することを推奨します。