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

ApsaraVideo VOD:カスタマイズポリシーの作成

最終更新日:Oct 28, 2024

AparaVideo VODのポリシーがビジネス要件を満たしていない場合は、きめ細かい承認のためのカスタムポリシーを作成できます。 たとえば、ApsaraVideo VODのメディアリソースにアクセスする権限を特定のユーザーにのみ付与したり、メディアレビューに対する権限のみをユーザーに付与したりできます。

カスタムポリシーを作成するメソッド

  • カスタマイズポリシーの作成

    [Visual Editor Beta] タブでカスタムポリシーを作成するときは、[Effect] 、[Service] 、[Action] 、[Resource] 、[Condition] セクションで構成項目を選択する必要があります。 次に、システムは設定をチェックします。 これにより、カスタムポリシーの有効性が保証されます。 このタブでは、簡単な操作を実行してカスタムポリシーを作成できます。

  • [JSON] タブでカスタムポリシーを作成します。

    [JSON] タブでカスタムポリシーを作成する場合、リソースアクセス管理 (RAM) ポリシーの構文と構造に基づいてポリシードキュメントをコンパイルする必要があります。 このタブでは、カスタムポリシーを柔軟に作成できます。 この方法は、RAMポリシーの構文と構造に精通しているユーザーに適しています。

  • カスタマイズポリシーの作成

    • ポリシーテンプレートのインポート: RAMは、長年のビジネス慣行に基づいて作成され、一般的なシナリオに適したポリシーテンプレートを提供します。 たとえば、RAMは、システム管理者、財務担当者、およびネットワーク管理者に適用可能なポリシーテンプレートを提供します。 適切なポリシーテンプレートをインポートし、ビジネス要件に基づいてテンプレートを変更するだけで済みます。 これにより、便利な方法でカスタムポリシーを作成できます。

    • システムポリシーのインポート: システムポリシーをインポートし、ビジネス要件に基づいてポリシーを変更できます。 これにより、便利で効率的な方法でカスタムポリシーを作成できます。

カスタムポリシーの作成方法の例

説明

次の例は、スクリプトを使用してカスタムポリシーを作成する方法を示しています。

前提条件

スクリプトを使用してポリシーを指定する前に、ポリシーの基本要素と構文を理解しておく必要があります。 詳細については、「ポリシー要素」および「ポリシー構造と構文」をご参照ください。

手順

  1. 管理者権限を持つRAMユーザーとしてRAMコンソールにログインします。

  2. 左側のナビゲーションウィンドウで、権限 > ポリシーを選択します。

  3. ポリシーページで、ポリシーの作成をクリックします。

  4. ポリシーの作成ページで、JSONタブをクリックします。

  5. コードエディターに次のポリシーコンテンツを入力し、[次へ] をクリックしてポリシー情報を編集します。

    RAMポリシーの構文と構造の詳細については、「ポリシー構造と構文」をご参照ください。

  6. 名前説明フィールドを指定します。

  7. カスタムポリシーの内容を確認して最適化します。

    • 基本的な最適化

      システムは自動的にポリシーステートメントを最適化します。 基本的な最適化中に、システムによって次の操作が実行されます。

      • 不要な条件が削除されます。

      • 不要な配列が削除されます。

    • (オプション) 高度な最適化

      ポインタを [オプション: 高度な最適化] に移動し、[実行] をクリックします。 システムは、高度な最適化中に次の操作を実行します。

      • 操作と互換性のないリソースまたは条件が分割されます。

      • リソースが絞り込まれます。

      • ポリシーステートメントの重複排除またはマージが行われます。

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

カスタムポリシーの例

説明

ActionにリストされているAPI操作の名前は、ApsaraVideo VODの関数別の操作のリストまたはOSSの関数別の操作のリストから取得できます。

OSSバケットへのACLがパブリック読み取りのオブジェクトのアップロードを禁止するポリシー

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Deny",
      "Action": [
        "oss:PostObject",
        "oss:CopyObject",
        "oss:AppendObject",
        "oss:InitiateMultipartUpload",
        "oss:MultipartUpload",
        "oss:UploadPart",
        "oss:UploadPartCopy",
        "oss:PutObjectAcl",
        "oss:PutObject"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "oss:x-oss-object-acl": [
            "public-read-write",
            "public-read"
          ]
        }
      }
    }
  ]
}

このポリシーは、IPアドレス192.168.XX.XXの呼び出し再生操作

{
    "Version": "1",
    "Statement": [
        {
            "Action": [
                "vod:GetPlayInfo",
                "vod:GetVideoPlayAuth",
                "vod:GetVideoPlayInfo",
                "vod:GetVideoInfo"
            ],
            "Resource": "*",
            "Effect": "Allow",
            "Condition":
             {
                "IpAddress":
                 {
                    "acs:SourceIp": "192.168.XX.XX"
                  }
              }
        }
    ]
}

メディアレビューのポリシー

説明

権限の整合性を確保するには、APIグループに新しいAPI操作を追加する場合、次の例の [アクション] リストを更新する必要があります。

{
    "Version": "1",
    "Statement": [
        {
            "Action": [
                "vod:SetAuditSecurityIp",
                "vod:ListAuditSecurityIp",
                "vod:CreateAudit",
                "vod:GetAuditHistory",
                "vod:SubmitAIMediaAuditJob",
                "vod:GetAIMediaAuditJob",
                "vod:GetMediaAuditResult",
                "vod:GetMediaAuditResultDetail",
                "vod:GetMediaAuditResultTimeline"
            ],
            "Resource": "*",
            "Effect": "Allow"
        }
    ]
}

オンライン編集のポリシー

説明

権限の整合性を確保するには、APIグループに新しいAPI操作を追加する場合、次の例の [アクション] リストを更新する必要があります。

{
    "Version": "1",
    "Statement": [
        {
            "Action": [
                "vod:ProduceEditingProjectVideo",
                "vod:AddEditingProject",
                "vod:UpdateEditingProject",
                "vod:DeleteEditingProject",
                "vod:GetEditingProject",
                "vod:SearchEditingProject",
                "vod:SetEditingProjectMaterials",
                "vod:GetEditingProjectMaterials"
            ],
            "Resource": "*",
            "Effect": "Allow"
        }
    ]
}

関連ドキュメント