メニュー
AWS Identity and Access Management
ユーザーガイド

新しいポリシーの作成

IAM の新しい権限ポリシーを作成する方法は複数あります。目的の操作のいくつかをすでに実行できる完全な AWS 管理ポリシーをコピーし、特定の要件に応じてカスタマイズできます。または、ポリシージェネレーターのリストからアクションと条件を選択し、自動的にポリシーにステートメントを作成するか、JSON コードを記述してゼロからポリシーを作成できます。

ポリシーは 1 つ以上のステートメントで構成されます。通常、各ステートメントには、同じ効果 (Allow または Deny) および同じリソースを共有するすべてのアクションが含まれます。1 つのアクションでリソースに "*" が必要で、別のアクションで特定のリソースの ARN を指定する場合、それらは 2 つの別のステートメントにある必要があります。

IAM ポリシーの一般情報については、「IAM ポリシーの概要」を参照してください。IAM ポリシー言語の詳細については、「AWS IAM ポリシーの参照」を参照してください。

ポリシーの作成

選択するオプションにかかわらず、すべて同じ方法で開始されます。

新しいポリシーの作成を開始するには

  1. IAM コンソール (https://console.aws.amazon.com/iam/) にサインインします。

  2. 左側のナビゲーション列で、[Policies] を選択します。

    初めて [Policies] を選択する場合には、[Welcome to Managed Policies] ページが表示されます。[Get Started] を選択します。

  3. ページの上部で、[Create Policy] を選択します。

  4. [Create Policy] ページで、次のいずれかのオプションに対して [Select] を選択します。次に、選択された手順のステップに従います。

    • [Copy an AWS Managed Policy] — 既存の管理ポリシーをコピーし、新しい目的に合わせてコピーをカスタマイズできます。

    • [Policy Generator] — リストから項目を選択してポリシーを作成します。

    • [Create Your Own Policy] — 入力するか、コピーして貼り付けることができる空のポリシーを使って、ポリシーエディターを開きます。

既存の管理ポリシーのコピー

新しいポリシーを作成するための最も簡単な方法は、必要な機能の少なくとも一部がすでに含まれているポリシーのコピーを使って作業を開始することです。次に、新しい要件に合わせてそのポリシーをカスタマイズできます。前の手順「ポリシーの作成」のステップに従って作業を開始します。

既存のポリシーのコピーを作成するには

  1. [Copy an AWS Managed Policy] ページで、作成するポリシーに最も近い管理ポリシーの [Select] を選択します。ページの先頭にある [Search Policies] ボックスに入力して、リストをフィルタすることができます。

  2. [Review Policy] ページの [Policy Name] と [Description] (オプション) に入力し、[Policy Document] ボックスで新しい要件に合うようにポリシーを編集します。保存の準備ができたら、[Create Policy] を選択します。

ポリシージェネレーターを使用したポリシーの作成

ポリシージェネレーターでは、JSON 構文を記述することなくポリシーを作成できます。このページの一番上の手順「ポリシーの作成」のステップに従って作業を開始します。

ポリシージェネレーターを使用してポリシーを作成するには

  1. [Edit Permissions] ページの [Effect] で [Allow] または [Deny] を選択します。デフォルトでは拒否されるため、ユーザーがアクセスする必要があるアクションとリソースのみへのアクセス権限を許可することを、セキュリティのベストプラクティスとしてお勧めします。これは "ホワイトリスト" と呼ばれることもあります。別のステートメントまたはポリシーによって個別に許可されるアクセス権限を上書きする場合のみ、明示的な Deny ("ブラックリスト") を使用してステートメントを作成するだけで済みます。これにより、アクセス権限のトラブルシューティングがより困難になる可能性があるため、明示的な Deny ステートメントの数は最小限に制限することをお勧めします。

  2. リストからアクションを許可または拒否する AWS サービスを選択します。

  3. 許可または拒否するアクションを選択します。リストには、ステップ 2 で選択したサービスのアクションが表示されます。[All Actions] を指定するか、アクション名の横にあるボックスを選択して個別のアクションを指定できます。アクションの選択を終了したら、リストの外側をクリックしてリストを閉じます。リストには、選択したアクションの数が表示されます。

  4. アクセスを許可または拒否するリソースを入力します。一部のオペレーションでは "Resource":"*" のみが許可され、その他のオペレーションでは個別のリソースの Amazon Resource Name (ARN) を指定できます。ARN の任意のフィールドでワイルドカードとしてアスタリスク (*) を含めるか (コロンの各ペアの間に含めます)、アスタリスク単独で指定して「アカウントの任意のリソース」を意味することができます。たとえば、arn:aws:s3:::* はポリシーと同じアカウントのすべての S3 バケットを表します。詳細については、「リソース」を参照してください。.

  5. Condition 要素を追加して、ステートメントの効果を制限できます。たとえば、ユーザーのリクエストが特定の時間範囲内で発生したとき、Multi-Factor Authentication デバイスで認証されたとき、または特定の IP アドレス範囲内であるときのみ、リソースでのアクションの実行をユーザーに許可するよう指定できます。Condition 要素で使用できるすべてのコンテキストキーのリストについては、「IAM ポリシーで使用できる AWS サービスアクションと条件コンテキストキー」を参照してください。開始するには、[Add Conditions (optional)] をクリックします。

    1. [Condition] で、実行する比較の種類を選択します。

    2. [Key] で、ユーザーがリクエストを行う場合に値を評価するコンテキストキーを選択します。

    3. [Value] で、指定されたキーと比較する値を入力します。

    4. [Add Condition] を選択して、この完了状態を現在のステートメントに追加します。別の条件を追加するには、設定を変更し、[Add Condition] を選択します。必要に応じて操作を繰り返します。各条件はこの 1 つのステートメントにのみ適用されます。権限のステートメントが一致すると見なされるためには、すべての条件が満たされている必要があります。条件は、論理 'AND' 要素によって接続されていると見なすことができます。

      Condition 要素の詳細については、「AWS IAM ポリシーの参照」の「条件」を参照してください。

  6. このステートメントに必要なすべてのフィールドへの入力を完了したら、[Add Statement] を選択します。ポリシーにさらに多くのステートメントを追加する必要がある場合は、前述のステップを繰り返します。効果を変更するか、影響を受けるリソースを変更する必要があるときは、新しいステートメントを作成する必要があります。

  7. 必要なすべてのステートメントを追加したら、[Next Step] を選択して、ポリシーエディターでステートメントを表示します。変更を加える場合は、手動でポリシーをさらに編集できます。次の手順のステップを使用してポリシーを編集し、保存します。

ポリシーエディターを使用したポリシーの編集

ポリシーエディターを使用して新しいポリシーを作成することもできます。ページの一番上の手順「ポリシーの作成」のステップに従って作業を開始します。

ポリシーエディターで新しいポリシーを作成するには

  1. [Policy Name] に、ポリシーの意図を覚えておくための一意の名前を入力します。

  2. (オプション) [Description] に、今後の参照用の説明を入力します。

  3. [Policy Document] で、ポリシーステートメントを追加または編集します。IAM ポリシー言語の詳細については、「AWS IAM ポリシーの参照」を参照してください。

  4. 編集中にいつでも [Validate Policy] を選択して、ポリシーの構文が正しいことを確認できます。構文が正しい場合のみ、ポリシーを保存することができます。

    注記

    Policy Validator は、JSON ポリシー構文と文法のみを確認します。ARN、アクション名、または条件キーが正しいことは確認しません。

  5. ポリシーと完了したら、[Create Policy] を選択して、完了したポリシーを保存します。

  6. ポリシーを作成したら、ユーザー、グループ、またはロールにアタッチして適用できます。詳細については、「管理ポリシーのアタッチ」を参照してください。