1
1

AWS IAMポリシーをわかりやすく解説~Part2~

Posted at

はじめに

前回は、AWSのセキュリティの要となるIAMポリシーの基本的な仕組みについて解説しました。今回は、IAMポリシーのさらなる活用を可能にする条件 (Condition) について詳しく解説していきます。

条件 (Condition) とは?

条件とは、IAMポリシーがいつ有効になるかを指定する追加のルールです。条件を追加することで、ポリシーをより細かく制御し、セキュリティを強化することができます。

例えば、特定のIPアドレスからのアクセスのみ許可する、特定の時間帯のみアクセスを許可する、といった条件を設定できます。条件は、条件キー条件値のペアで構成されます。

条件キー (Condition Key) とは?

条件キーは、アクセス要求に関する情報 (認可コンテキスト) 内の特定の属性を指し示します。例えば、アクセス要求を行ったユーザーのIPアドレス、リクエストされたリソースのタグ、リクエストされたアクションなどです。

条件値 (Condition Value) とは?

条件値は、条件キーの値と比較される値です。例えば、条件キーが aws:SourceIp (アクセス要求を行ったユーザーのIPアドレス) であれば、条件値には具体的なIPアドレスを指定します。

条件演算子 (Condition Operator) とは?

条件値を比較するためには、条件演算子を使用します。主な条件演算子には以下のようなものがあります。

  • Equals: 完全一致
  • Like: ワイルドカードによる一致
  • StringEqualsIgnoreCase: 大文字小文字を区別しない文字列一致
  • NumericEquals: 数値一致
  • DateEquals: 日付一致
  • IpAddress: IPアドレス一致

条件の活用例

条件を活用することで、よりきめ細かいアクセス制御を実現することができます。以下は条件の活用例です。

  • 特定のIPアドレスからのアクセスのみ許可する:
{
  "Condition": {
    "IpAddress": {
      "aws:SourceIp": ["192.168.1.10", "10.0.0.1"]
    }
  }
}
  • 特定の時間帯のみアクセスを許可する:
{
  "Condition": {
    "DateEquals": {
      "aws:CurrentTime": ["2023-03-15T10:00:00Z", "2023-03-15T18:00:00Z"]
    }
  }
}
  • 特定のタグを持つリソースへのアクセスのみ許可する:
{
  "Condition": {
    "StringEqualsIgnoreCase": {
      "aws:ResourceTag/Department": ["Finance", "Marketing"]
    }
  }
}

まとめ

条件は、IAMポリシーの柔軟性を高め、セキュリティを強化するための重要な要素です。条件を活用することで、よりきめ細かいアクセス制御を実現し、AWS環境のセキュリティを強化することができます。

関係資料

IAM Policy Evaluation Series: Conditions

1
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
1
1