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

Resource Access Management:ポリシーの構文と構造

最終更新日:Mar 20, 2026

このトピックでは、Resource Access Management (RAM) のアクセスポリシーの構文と構造について説明します。この情報を使用して、ポリシーを作成または更新できます。

前提条件

ポリシーの構文を使用する前に、ポリシーの文字とそのルールを理解してください。

  • アクセスポリシーには、次の文字が含まれています:

    • アクセスポリシーの JSON 文字: { } [ ] " , :

    • 構文で使用される特殊文字には、= < > ( ) | があります。

  • 文字の使用ルールは次のとおりです:

    • 要素が 1 つ以上の値を受け入れる場合、次の方法で指定できます:

      • 複数の値を指定するには、コンマ (,) と省略記号 (...) を使用します。例: [ <action_string>, <action_string>, ...]

      • 単一の値を指定するには、単一要素の配列または文字列を使用できます。たとえば、"Action": [<action_string>]"Action": <action_string> は同じ効果を持ちます。

    • 要素の後の疑問符 (?) は、その要素が任意であることを示します。例: <condition_block?>

    • 複数の値の間の縦線 (|) は、値の 1 つだけを選択する必要があることを示します。例: ("Allow" | "Deny")

    • ダブルクォーテーションマーク ("") で囲まれた値は、テキスト文字列を示します。例: <version_block> = "Version" : ("1")

ポリシーの構造

アクセスポリシーは、次の要素で構成されます:

  • バージョン番号。

  • 文のリスト。各文には、効果、操作、リソース、および任意の条件が含まれます。

image

ポリシーの構文

policy  = {
     <version_block>,
     <statement_block>
}
<version_block> = "Version" : ("1")
<statement_block> = "Statement" : [ <statement>, <statement>, ... ]
<statement> = { 
    <effect_block>,
    <action_block>,
    <resource_block>,
    <condition_block?>
}
<effect_block> = "Effect" : ("Allow" | "Deny")  
<action_block> = "Action" | "NotAction" : 
    ("*" | <action_string> | [<action_string>, <action_string>, ...])
<resource_block> = "Resource" : 
    ("*" | <resource_string> | [<resource_string>, <resource_string>, ...])
<condition_block> = "Condition" : <condition_map>
<condition_map> = {
  <condition_type_string> : { 
      <condition_key_string> : <condition_value_list>,
      <condition_key_string> : <condition_value_list>,
      ...
  },
  <condition_type_string> : {
      <condition_key_string> : <condition_value_list>,
      <condition_key_string> : <condition_value_list>,
      ...
  }, ...
}  
<condition_value_list> = (<condition_value> | [<condition_value>, <condition_value>, ...])
<condition_value> = ("String" | "Number" | "Boolean" | "Date and time" | "IP address")

次のリストは、アクセスポリシーの構文を説明しています:

  • Version:アクセスポリシーのバージョン。この値は 1 に固定されており、変更できません。

  • Statement:アクセスポリシーには複数の文を含めることができます。

    • 各文は、Allow または Deny のいずれかの効果を指定します。

      説明

      Action 要素と Resource 要素はどちらも、単一の文で複数の値をサポートします。

    • 各文は、独立した条件 (Condition) をサポートします。

      説明

      条件ブロックは複数の条件を組み合わせることができ、各条件は異なる演算子タイプを使用できます。

  • 明示的な拒否の優先:ユーザーには複数のアクセスポリシーを割り当てることができます。これらのポリシーに AllowDeny の両方の文が含まれている場合、明示的な拒否のルールが適用されます。

  • 要素の値:

    • 要素の値が文字列、数値、日時、ブール値、または IP アドレスである場合は、ダブルクォーテーションマーク ("") で囲みます。

    • 要素の値が文字列の場合、* および ? ワイルドカードを使用してあいまい一致を行うことができます。

      • * ワイルドカードは、0 個以上の文字に一致します。たとえば、ecs:Describe* は、Describe で始まるすべての ECS 操作に一致します。

      • ? ワイルドカードは、ちょうど 1 文字に一致します。

ポリシーフォーマットの検証

アクセスポリシーは JSON フォーマットをサポートしています。アクセスポリシーを作成または更新するたびに、システムは JSON フォーマットを検証します。サードパーティの JSON 検証ツールまたはエディターを使用してフォーマットを検証することもできます。JSON 構文標準の詳細については、「RFC 7159」をご参照ください。