ポリシーでの条件の指定

条件を使用すると、要求の値に基づいてポリシーを適用できます。条件は演算子およびキーと値のペアで構成されます。

条件はキーと値のペアを使用して評価されます。1つのCondition要素に複数の条件を含め、各条件に複数のキーと値のペアを含めることができます。条件ブロックの形式は次のとおりです。

Condition: {
     condition_type: {
          condition_key: condition_values

次の例では、IpAddress条件でSourceIp条件キーを使用しています。

"Condition": {
    "IpAddress": {
      "sgws:SourceIp": "54.240.143.0/24"
		...
},
		...

サポートされる条件演算子

条件演算子は次のように分類されます。
  • 文字列
  • 数値
  • ブーリアン
  • IPアドレス
  • Nullチェック
条件演算子 説明
StringEquals キーを文字列値と比較し、完全に一致する場合にアクセスを提供します(大文字と小文字の区別あり)。
StringNotEquals キーを文字列値と比較し、完全に一致しない場合にアクセスを提供します(大文字と小文字の区別あり)。
StringEqualsIgnoreCase キーを文字列値と比較し、完全に一致する場合にアクセスを提供します(大文字と小文字の区別なし)。
StringNotEqualsIgnoreCase キーを文字列値と比較し、完全に一致しない場合にアクセスを提供します(大文字と小文字の区別なし)。
StringLike キーを文字列値と比較し、指定された文字列と一致する場合にアクセスを提供します(大文字と小文字の区別あり)。ワイルドカード文字の「*」と「?」を 使用できます。
StringNotLike キーを文字列値と比較し、指定された文字列と一致しない場合にアクセスを提供します(大文字と小文字の区別あり)。ワイルドカード文字の「*」と「?」を 使用できます。
NumericEquals キーを数値と比較し、指定された値と完全に一致する場合にアクセスを提供します。
NumericNotEquals キーを数値と比較し、指定された値を除くすべてにアクセスを提供します。
NumericGreaterThan キーを数値と比較し、指定された値よりも大きい場合にアクセスを提供します。
NumericGreaterThanEquals キーを数値と比較し、指定された値以上である場合にアクセスを提供します。
NumericLessThan キーを数値と比較し、指定された値よりも小さい場合にアクセスを提供します。
NumericLessThanEquals キーを数値と比較し、指定された値以下である場合にアクセスを提供します。
Bool キーをブール値と比較し、指定されたブール値(trueまたはfalse)と一致する場合にアクセスを提供します。
IpAddress キーを数値と比較し、指定されたIPまたはIPアドレスの範囲と一致する場合にアクセスを提供します。
NotIpAddress キーを数値と比較し、指定されたIPまたはIPアドレスの範囲を除くすべてのアドレスにアクセスを提供します。
Null 現在の要求のコンテキストに条件キーがあるかどうかを確認します。

サポートされる条件キー

カテゴリ 適用される条件キー 説明
IPの演算子 sgws:SourceIp 要求の送信元のIPアドレスと比較します。バケットまたはオブジェクトの処理に使用できます。
リソース / アイデンティティ sgws:username 要求の送信者のユーザ名と比較します。バケットまたはオブジェクトの処理に使用できます。
S3:ListBucket

および

S3:ListBucketVersions権限

s3:delimiter GET Bucket要求またはGET Bucket Object versions要求で指定されたdelimiterパラメータと比較します。
s3:max-keys GET Bucket要求またはGET Bucket Object versions要求で指定されたmax-keysパラメータと比較します。
s3:prefix GET Bucket要求またはGET Bucket Object versions要求で指定されたprefixパラメータと比較します。