

AWS App Runner は新規顧客に公開されなくなりました。既存のお客様は、通常どおりサービスを引き続き使用できます。詳細については、「[AWS App Runner  可用性の変更](https://docs.aws.amazon.com/apprunner/latest/dg/apprunner-availability-change.html)」を参照してください。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# App Runner と IAM の連携方法
<a name="security_iam_service-with-iam"></a>

IAM を使用して へのアクセスを管理する前に AWS App Runner、App Runner で使用できる IAM 機能を理解しておく必要があります。App Runner およびその他の AWS のサービスが IAM と連携する方法の概要については、IAM *ユーザーガイド*の[AWS 「IAM と連携する のサービス](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)」を参照してください。

その他の App Runner セキュリティトピックについては、「」を参照してください[App Runner のセキュリティ](security.md)。

**Topics**
+ [App Runner アイデンティティベースのポリシー](#security_iam_service-with-iam-id-based-policies)
+ [App Runner リソースベースのポリシー](#security_iam_service-with-iam-resource-based-policies)
+ [App Runner タグに基づく認可](#security_iam_service-with-iam-tags)
+ [App Runner ユーザーアクセス許可](#security_iam_service-with-iam-users)
+ [App Runner IAM ロール](#security_iam_service-with-iam-roles)

## App Runner アイデンティティベースのポリシー
<a name="security_iam_service-with-iam-id-based-policies"></a>

IAM アイデンティティベースのポリシーでは許可または拒否するアクションとリソース、またアクションを許可または拒否する条件を指定できます。App Runner は、特定のアクション、リソース、および条件キーをサポートしています。JSON ポリシーで使用するすべての要素については、「IAM ユーザーガイド」の「[IAM JSON ポリシー要素のリファレンス](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html)」を参照してください。

### アクション
<a name="security_iam_service-with-iam-id-based-policies-actions"></a>

管理者は JSON AWS ポリシーを使用して、誰が何にアクセスできるかを指定できます。つまり、どの**プリンシパル**がどの**リソース**に対してどのような**条件下で****アクション**を実行できるかということです。

JSON ポリシーの `Action` 要素にはポリシー内のアクセスを許可または拒否するために使用できるアクションが記述されます。このアクションは関連付けられたオペレーションを実行するためのアクセス許可を付与するポリシーで使用されます。

App Runner のポリシーアクションは、アクションの前にプレフィックス を使用します`apprunner:`。たとえば、 Amazon EC2 `RunInstances` API オペレーションで Amazon EC2 インスタンスを実行するためのアクセス許可をユーザーに付与するには、ポリシーに `ec2:RunInstances` アクションを含めます。ポリシーステートメントには、`Action` または `NotAction` エレメントを含める必要があります。App Runner は、このサービスで実行できるタスクを記述する独自のアクションのセットを定義します。

単一のステートメントに複数のアクションを指定するには次のようにコンマで区切ります。

```
"Action": [
   "apprunner:CreateService",
   "apprunner:CreateConnection"
]
```

ワイルドカード (\*) を使用して複数アクションを指定できます。例えば、`Describe` という単語で始まるすべてのアクションを指定するには次のアクションを含めます。

```
"Action": "apprunner:Describe*"
```



App Runner アクションのリストを確認するには、*「サービス認可リファレンス*」の[「 で定義されるアクション AWS App Runner](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsapprunner.html#awsapprunner-actions-as-permissions)」を参照してください。

### リソース
<a name="security_iam_service-with-iam-id-based-policies-resources"></a>

管理者は JSON AWS ポリシーを使用して、誰が何にアクセスできるかを指定できます。つまり、どの**プリンシパル**がどの**リソース**に対してどのような**条件**下で**アクション**を実行できるかということです。

`Resource` JSON ポリシー要素はアクションが適用されるオブジェクトを指定します。ベストプラクティスとして、[Amazon リソースネーム (ARN)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html) を使用してリソースを指定します。リソースレベルのアクセス許可をサポートしないアクションの場合は、ステートメントがすべてのリソースに適用されることを示すために、ワイルドカード (\*) を使用します。

```
"Resource": "*"
```



App Runner リソースには、次の ARN 構造があります。

```
arn:aws:apprunner:{{region}}:{{account-id}}:{{resource-type}}/{{resource-name}}[/{{resource-id}}]
```

ARNs、の[「Amazon リソースネーム (ARNs」と AWS 「サービス名前空間](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)」を参照してください*AWS 全般のリファレンス*。

たとえば、 ステートメントで `my-service`サービスを指定するには、次の ARN を使用します。

```
"Resource": "arn:aws:apprunner:us-east-1:123456789012:service/my-service"
```

特定のアカウントに属するすべてのサービスを指定するには、ワイルドカード (\*) を使用します。

```
"Resource": "arn:aws:apprunner:us-east-1:123456789012:service/*"
```

リソースを作成するためのアクションなど、一部の App Runner アクションは、特定のリソースで実行できません。このような場合はワイルドカード \*を使用する必要があります。

```
"Resource": "*"
```

App Runner リソースタイプとその ARNs「 [で定義されるリソース AWS App Runner](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsapprunner.html#awsapprunner-resources-for-iam-policies)」を参照してください。 **どのアクションで各リソースの ARN を指定できるかについては、「[AWS App Runnerで定義されるアクション](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsapprunner.html#awsapprunner-actions-as-permissions)」を参照してください。

### 条件キー
<a name="security_iam_service-with-iam-id-based-policies-conditionkeys"></a>

管理者は JSON AWS ポリシーを使用して、誰が何にアクセスできるかを指定できます。つまり、どの**プリンシパル**がどの**リソース**に対してどのような**条件下で****アクション**を実行できるかということです。

`Condition` 要素は、定義された基準に基づいてステートメントが実行される時期を指定します。イコールや未満などの[条件演算子](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html)を使用して条件式を作成して、ポリシーの条件とリクエスト内の値を一致させることができます。すべての AWS グローバル条件キーを確認するには、*IAM ユーザーガイド*の[AWS 「グローバル条件コンテキストキー](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html)」を参照してください。

App Runner は、いくつかのグローバル条件キーの使用をサポートしています。すべての AWS グローバル条件キーを確認するには、*IAM ユーザーガイド*の[AWS 「グローバル条件コンテキストキー](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html)」を参照してください。

App Runner は、サービス固有の条件キーのセットを定義します。さらに、App Runner は、条件キーを使用して実装されるタグベースのアクセスコントロールをサポートしています。詳細については、「[App Runner タグに基づく認可](#security_iam_service-with-iam-tags)」を参照してください。

App Runner の条件キーのリストを確認するには、*「サービス認可リファレンス*」の[「 の条件キー AWS App Runner](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsapprunner.html#awsapprunner-policy-keys)」を参照してください。条件キーを使用できるアクションとリソースについては、[「 で定義されるアクション AWS App Runner](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsapprunner.html#awsapprunner-actions-as-permissions)」を参照してください。

### 例
<a name="security_iam_service-with-iam-id-based-policies-examples"></a>

App Runner アイデンティティベースのポリシーの例を表示するには、「」を参照してください[App Runner アイデンティティベースのポリシーの例](security_iam_id-based-policy-examples.md)。

## App Runner リソースベースのポリシー
<a name="security_iam_service-with-iam-resource-based-policies"></a>

App Runner はリソースベースのポリシーをサポートしていません。

## App Runner タグに基づく認可
<a name="security_iam_service-with-iam-tags"></a>

App Runner リソースにタグをアタッチするか、App Runner へのリクエストでタグを渡すことができます。タグに基づいてアクセスを管理するには、`apprunner:ResourceTag/{{key-name}}`、`aws:RequestTag/{{key-name}}`、または `aws:TagKeys` の条件キーを使用して、ポリシーの[条件要素](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html)でタグ情報を提供します。App Runner リソースのタグ付けの詳細については、「」を参照してください[App Runner サービスの設定](manage-configure.md)。

リソースのタグに基づいてリソースへのアクセスを制限するためのアイデンティティベースポリシーの例を表示するには、「[タグに基づく App Runner サービスへのアクセスの制御](security_iam_id-based-policy-examples.md#security_iam_id-based-policy-examples-view-widget-tags)」を参照してください。

## App Runner ユーザーアクセス許可
<a name="security_iam_service-with-iam-users"></a>

App Runner を使用するには、IAM ユーザーに App Runner アクションへのアクセス許可が必要です。ユーザーにアクセス許可を付与する一般的な方法は、IAM ユーザーまたはグループにポリシーをアタッチすることです。ユーザーアクセス許可の管理の詳細については、IAM [ユーザーガイドの「IAM ユーザーのアクセス許可の変更](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_change-permissions.html)」を参照してください。 **

App Runner には、ユーザーにアタッチできる 2 つの管理ポリシーが用意されています。
+ [https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSAppRunnerReadOnlyAccess.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSAppRunnerReadOnlyAccess.html) – App Runner リソースの詳細を一覧表示および表示するアクセス許可を付与します。
+ [https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSAppRunnerFullAccess.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSAppRunnerFullAccess.html)– すべての App Runner アクションにアクセス許可を付与します。

ユーザーアクセス許可をより詳細に制御するには、カスタムポリシーを作成してユーザーにアタッチします。詳細については、[IAM ユーザーガイドの「IAM ポリシーの作成](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html)」を参照してください。 **

ユーザーポリシーの例については、「」を参照してください[ユーザーポリシー](security_iam_id-based-policy-examples.md#security_iam_id-based-policy-examples-users)。

## App Runner IAM ロール
<a name="security_iam_service-with-iam-roles"></a>

[IAM ロール](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)は、特定のアクセス許可 AWS アカウント を持つ 内のエンティティです。

### サービスリンクロール
<a name="security_iam_service-with-iam-roles-service-linked"></a>

[サービスにリンクされたロール](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role)を使用すると、 AWS サービスは他の サービスのリソースにアクセスして、ユーザーに代わってアクションを実行できます。サービスリンクロールは IAM アカウント内に表示され、サービスによって所有されます。IAM 管理者は、サービスリンクロールの許可を表示できますが、編集することはできません。

App Runner は、サービスにリンクされたロールをサポートしています。App Runner サービスにリンクされたロールを作成または管理する方法については、「」を参照してください[App Runner のサービスにリンクされたロールの使用](security-iam-slr.md)。

### サービス役割
<a name="security_iam_service-with-iam-roles-service"></a>

この機能により、ユーザーに代わってサービスが[サービスロール](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-role)を引き受けることが許可されます。この役割により、サービスがお客様に代わって他のサービスのリソースにアクセスし、アクションを完了することが許可されます。サービスロールはIAM アカウントに表示され、アカウントによって所有されます。つまり、IAM ユーザーはこのロールのアクセス許可を変更できます。ただし、それにより、サービスの機能が損なわれる場合があります。

App Runner は、いくつかのサービスロールをサポートしています。

#### アクセスロール
<a name="security_iam_service-with-iam-roles-service.access"></a>

アクセスロールは、App Runner がアカウントの Amazon Elastic Container Registry (Amazon ECR) 内のイメージにアクセスするために使用するロールです。Amazon ECR でイメージにアクセスする必要があり、Amazon ECR Public では必要ありません。

Amazon ECR のイメージに基づいてサービスを作成する前に、IAM を使用してサービスロールを作成します。サービスロール[https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSAppRunnerServicePolicyForECRAccess.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSAppRunnerServicePolicyForECRAccess.html)で マネージドポリシーを使用します。その後、[SourceConfiguration](https://docs.aws.amazon.com/apprunner/latest/api/API_SourceConfiguration.html)Configuration パラメータの [AuthenticationConfiguration](https://docs.aws.amazon.com/apprunner/latest/api/API_AuthenticationConfiguration.html) メンバーで [CreateService](https://docs.aws.amazon.com/apprunner/latest/api/API_CreateService.html) API を呼び出すとき、または App Runner コンソールを使用してサービスを作成するときに、このロールを App Runner に渡すことができます。

**注記**  
アクセスロールに独自のカスタムポリシーを作成する場合は、必ず `ecr:GetAuthorizationToken` アクション`"Resource": "*"`に を指定してください。トークンは、アクセスできる任意の Amazon ECR レジストリにアクセスするために使用できます。

アクセスロールを作成するときは、App Runner サービスプリンシパルを信頼されたエンティティ`build.apprunner.amazonaws.com`として宣言する信頼ポリシーを必ず追加してください。

##### アクセスロールの信頼ポリシー
<a name="security_iam_service-with-iam-roles-service.access.trust"></a>

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "build.apprunner.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
```

------

App Runner コンソールを使用してサービスを作成する場合、コンソールは自動的にアクセスロールを作成し、新しいサービスに対して選択することができます。コンソールには、アカウントの他のロールも一覧表示されます。必要に応じて別のロールを選択できます。

#### インスタンスロール
<a name="security_iam_service-with-iam-roles-service.instance"></a>

インスタンスロールは、App Runner がサービスのコンピューティングインスタンスに必要な AWS サービスアクションにアクセス許可を付与するために使用するオプションのロールです。アプリケーションコードが AWS アクション (APIs) を呼び出す場合は、App Runner にインスタンスロールを提供する必要があります。インスタンスロールに必要なアクセス許可を埋め込むか、独自のカスタムポリシーを作成してインスタンスロールで使用します。コードが使用する呼び出しを予測する方法はありません。したがって、この目的のために管理ポリシーは提供しません。

App Runner サービスを作成する前に、IAM を使用して、必要なカスタムポリシーまたは埋め込みポリシーでサービスロールを作成します。その後、InstanceConfiguration パラメータ`InstanceRoleArn`のメンバーで [CreateService](https://docs.aws.amazon.com/apprunner/latest/api/API_CreateService.html) API を呼び出すとき、または App Runner コンソールを使用してサービスを作成するときに、このロールをインスタンスロールとして App Runner に渡すことができます。 [InstanceConfiguration](https://docs.aws.amazon.com/apprunner/latest/api/API_InstanceConfiguration.html) 

インスタンスロールを作成するときは、App Runner サービスプリンシパルを信頼されたエンティティ`tasks.apprunner.amazonaws.com`として宣言する信頼ポリシーを必ず追加してください。

##### インスタンスロールの信頼ポリシー
<a name="security_iam_service-with-iam-roles-service.instance.trust"></a>

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "tasks.apprunner.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
```

------

App Runner コンソールを使用してサービスを作成する場合、コンソールにはアカウントのロールが一覧表示され、この目的のために作成したロールを選択できます。

サービスの作成については、「」を参照してください[App Runner サービスの作成](manage-create.md)。