Amazon Route 53 リソースに対するアクセス許可の管理の概要 - Amazon Route 53

Amazon Route 53 リソースに対するアクセス許可の管理の概要

すべての AWS リソースは AWS アカウントによって所有され、リソースの作成またはアクセスは、アクセス権限のポリシーによって管理されます。

注記

アカウント管理者 (または管理者ユーザー) は、管理者権限を持つユーザーです。管理者の詳細については、「IAM ユーザーガイド」の「IAM ベストプラクティス」を参照してください。

アクセス許可を付与するときは、アクセス許可を取得するユーザー、アクセス許可を取得する対象のリソース、およびアクセス許可を取得して実行するアクションを決定します。

Amazon Route 53 リソースの ARN

Amazon Route 53 は、DNS、ヘルスチェック、ドメイン登録用にさまざまなリソースタイプをサポートしています。ポリシーでは、ARN の * を使用して、以下のリソースへのアクセスを許可したり、拒否することができます。

  • ヘルスチェック

  • ホストゾーン

  • 再利用可能な委託セット

  • リソースレコードセット変更バッチのステータス (API のみ)

  • トラフィックポリシー (トラフィックフロー)

  • トラフィックポリシーのインスタンス (トラフィックフロー)

すべての Route 53 リソースでアクセス許可がサポートされているわけではありません。次のリソースへのアクセスを許可したり拒否したりすることはできません。

  • ドメイン

  • 個々のレコード

  • ドメインのタグ

  • ヘルスチェックのタグ

  • ホストゾーンのタグ

Route 53 には、これらの各タイプのリソースで使用できる API アクションが用意されています。詳細については、「Amazon Route 53 API リファレンス」を参照してください。各アクションを使用するアクセス許可を付与または拒否するために指定するアクションおよび ARN のリストについては、「Amazon Route 53 API のアクセス許可: アクション、リソース、条件のリファレンス」を参照してください。

リソース所有権について

AWS アカウントは、誰がリソースを作成したかにかかわらず、アカウントで作成されたリソースを所有します。具体的に言うと、リソース所有者は、リソースの作成リクエストを認証するプリンシパルエンティティ (つまり、ルートアカウント、IAM ユーザー、または IAM ロール) の AWS アカウントです。

以下の例では、このしくみを示しています。

  • AWS アカウントの root アカウントの認証情報を使用してホストゾーンを作成する場合、AWS アカウントはリソースの所有者です。

  • AWS アカウントに IAM ユーザーを作成し、ホストゾーンを作成するためのアクセス許可をそのユーザーに付与した場合、そのユーザーはホストゾーンを作成できます。ただし、ユーザーが属する AWS アカウントはホストゾーンリソースを所有しています。

  • AWS アカウントに、ホストゾーンを作成するためのアクセス許可を持つ IAM ロールを作成する場合は、ロールを引き受けることのできるいずれのユーザーもホストゾーンを作成できます。ロールが属する AWS アカウントはホストゾーンリソースを所有しています。

リソースへのアクセスの管理

アクセス許可のポリシーでは、誰が何にアクセスできるかを指定します。このセクションでは、Amazon Route 53 のアクセス許可ポリシーを作成するために使用可能なオプションについて説明します。IAM ポリシー構文の概説については、IAM ユーザーガイドAWS IAM ポリシーリファレンスを参照してください。

IAM ID にアタッチされたポリシーは ID ベースのポリシー (IAM ポリシー) と呼ばれ、リソースにアタッチされたポリシーはリソースベースのポリシーと呼ばれます。Route 53 では、ID ベースのポリシー (IAM ポリシー) のみサポートされます。

アイデンティティベースのポリシー (IAM ポリシー)

ポリシーを IAM アイデンティティにアタッチできます。例えば、次の操作を実行できます。

  • アカウントのユーザーまたはグループにアクセス許可ポリシーをアタッチする – アカウント管理者は、特定のユーザーに関連付けられるアクセス許可ポリシーを使用して、そのユーザーに Amazon Route 53 リソースの作成を許可するアクセス許可を付与することができます。

  • ロールにアクセス許可ポリシーをアタッチする (クロスアカウントアクセス許可を付与する) – 別の AWS アカウントで作成されたユーザーに、Route 53 アクションを実行するアクセス許可を付与できます。そのためには、IAM ロールにアクセス許可ポリシーをアタッチし、他のアカウントのユーザーがそのロールを引き受けられるようにします。次の例では、これがアカウント A とアカウント B の 2 つの AWS アカウントでどのように機能するかを説明します。

    1. アカウント A の管理者は、IAM ロールを作成して、アカウント A が所有するリソースの作成や操作をするアクセス許可を付与するアクセス許可ポリシーをロールにアタッチします。

    2. アカウント A の管理者は、ロールに信頼ポリシーをアタッチします。信頼ポリシーは、ロールを引き受けることのできるプリンシパルとしてアカウント B を識別します。

    3. 次に、アカウント B の管理者は、ロールを引き受けるアクセス許可をアカウント B のユーザーまたはグループに委任できます。これにより、アカウント B のユーザーはアカウント A でリソースを作成したり、リソースにアクセスしたりできます。

    別の AWS アカウントのユーザーにアクセス許可を委任する方法については、IAM ユーザーガイドアクセス管理を参照してください。

次のポリシー例では、ユーザーが CreateHostedZone アクションを実行し、AWS アカウントのパブリックホストゾーンを作成できるようにします。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "route53:CreateHostedZone" ], "Resource":"*" } ] }

プライベートホストゾーンにもポリシーを適用する場合、次の例に示すように、Route 53 AssociateVPCWithHostedZone アクションと 2 つの Amazon EC2 アクション (DescribeVpcsDescribeRegion) を使用するためのアクセス許可を付与する必要があります。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "route53:CreateHostedZone", "route53:AssociateVPCWithHostedZone" ], "Resource":"*" }, { "Effect": "Allow", "Action": [ "ec2:DescribeVpcs", "ec2:DescribeRegion" ], "Resource":"*" }, ] }

Route 53 の ID へのポリシーのアタッチの詳細については、「Amazon Route 53 での ID ベースのポリシー (IAM ポリシー) の使用」を参照してください。ユーザー、グループ、ロール、アクセス許可の詳細については、「IAM ユーザーガイド」の「アイデンティティ(ユーザー、グループ、ロール)」を参照してください。

リソースベースのポリシー

Amazon S3 などの他のサービスでは、リソースへのアクセス許可ポリシーのアタッチもサポートされています。例えば、ポリシーを S3 バケットにアタッチして、そのバケットに対するアクセス許可を管理できます。Amazon Route 53 では、リソースへのポリシーのアタッチはサポートされません。 

ポリシー要素の指定: リソース、アクション、効果、プリンシパル

Amazon Route 53 には、各 Route 53 リソース (Amazon Route 53 リソースの ARN 参照) で使用できる API アクション (「Amazon Route 53 API リファレンス」参照) が含まれています。これらのアクションの一部またはすべてを実行するアクセス許可を、ユーザーまたはフェデレーティッドユーザーに付与できます。ドメインの登録など、一部の API アクションでは複数のアクションを実行する権限が必要な点に注意してください。

以下は、基本的なポリシーの要素です。

  • リソース - Amazon リソースネーム (ARN) を使用して、ポリシーを適用するリソースを識別します。詳細については、「Amazon Route 53 リソースの ARN」を参照してください。

  • アクション - アクションのキーワードを使用して、許可または拒否するリソースオペレーションを識別します。例えば、指定された Effect に応じて、route53:CreateHostedZone アクセス許可によって Route 53 CreateHostedZone アクションの実行がユーザーに許可または拒否されます。

  • 効果 - ユーザーが指定されたリソースでアクションの実行を試みた場合の、許可または拒否の効果を指定します。アクションへのアクセスを明示的に許可していない場合、アクセスは暗黙的に拒否されます。また、明示的にリソースへのアクセスを拒否すると、別のポリシーによってアクセスが許可されている場合でも、ユーザーはそのリソースにアクセスできなくなります。

  • プリンシパル - アイデンティティベースのポリシー (IAM ポリシー) で、ポリシーがアタッチされているユーザーが黙示的なプリンシパルとなります。リソースベースのポリシーでは、権限 (リソースベースのポリシーにのみ適用) を受け取りたいユーザー、アカウント、サービス、またはその他のエンティティを指定します。Route 53 では、リソースベースのポリシー はサポートされていません。

IAM ポリシー構文の詳細と説明については、IAM ユーザーガイドAWS IAM ポリシーリファレンスを参照してください。

適用する Route 53 API オペレーションやリソースがすべて表示されているテーブルのについては、「Amazon Route 53 API のアクセス許可: アクション、リソース、条件のリファレンス」を参照してください。

ポリシーでの条件を指定する

アクセス許可を付与するとき、IAM ポリシー言語を使用して、いつポリシーが有効になるかを指定できます。例えば、特定の日付の後にのみ適用されるポリシーが必要になる場合があります。ポリシー言語での条件の指定の詳細については、「IAM ユーザーガイド」の「IAM JSON ポリシー要素: Condition」を参照してください。

条件を表すには、あらかじめ定義された条件キーを使用します。Route 53 に固有の条件キーはありません。ただし、AWS 全体の条件キーがあり、必要に応じて使用できます。AWS 全体を対象とするすべてのキーのリストについては、IAM ユーザーガイド条件に利用可能なキーを参照してください。