0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

IAMポリシーのCondition要素について

Posted at

AWSのセキュリティ設定において、IAMポリシーはアクセス制御の要となります。特にコンディション要素(Condition element)を活用することで、より柔軟で詳細なアクセス制御が可能になります。本記事では、IAMポリシーのコンディション要素についてわかりやすく解説します。

コンディション要素とは?

コンディション要素は、IAMポリシー内でアクセス許可を付与または拒否する際に、追加の条件を指定するための要素です。
これにより、特定の状況下でのみアクションを許可または拒否するなど、アクセス制御をより細かく設定できます。

コンディション要素の主な特徴

•	柔軟なアクセス制御:リクエストの属性(IPアドレス、日時、認証方法など)に基づいてアクセスを制限できます。
•	キーと値の組み合わせ:条件キー、条件演算子、条件値を組み合わせて条件を定義します。
•	複数の条件の組み合わせ:AND条件やOR条件を使って、複雑な条件を設定できます。

コンディション要素の構造

IAMポリシー内でのコンディション要素は、以下のように記述します。

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow" または "Deny",
      "Action": "アクション",
      "Resource": "リソース",
      "Condition": {
        "条件演算子": {
          "条件キー": "条件値"
        }
      }
    }
  ]
}

条件演算子の例

•	StringEquals:文字列が等しい場合に一致
•	IpAddress:指定したIPアドレスまたは範囲に一致
•	DateGreaterThan:指定した日時より後の場合に一致
•	Bool:ブール値が一致する場合に一致

条件キーの例

•	aws:SourceIp:リクエスト元のIPアドレス
•	aws:CurrentTime:リクエストの日時
•	aws:MultiFactorAuthPresent:多要素認証の使用有無
•	s3:prefix:S3オブジェクトのプレフィックス

具体的な例

例1:特定のIPアドレスからのアクセスのみ許可

{
  "Effect": "Allow",
  "Action": "s3:GetObject",
  "Resource": "arn:aws:s3:::my-bucket/*",
  "Condition": {
    "IpAddress": {
      "aws:SourceIp": "203.0.113.0/24"
    }
  }
}

例2:業務時間内(午前9時から午後5時)だけアクセスを許可

{
  "Effect": "Allow",
  "Action": "ec2:*",
  "Resource": "*",
  "Condition": {
    "DateGreaterThan": {
      "aws:CurrentTime": "2023-10-01T09:00:00Z"
    },
    "DateLessThan": {
      "aws:CurrentTime": "2023-10-01T17:00:00Z"
    }
  }
}

コンディション要素を使用するメリット

•	セキュリティ強化:アクセスを特定の条件に制限することで、不正アクセスのリスクを低減します。
•	柔軟性:組織のポリシーやビジネス要件に合わせて、アクセス制御を詳細に設定できます。
•	コンプライアンス対応:特定の規制や標準に準拠したアクセス制御が可能になります。
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?