

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

# が IAM と AWS IoT Greengrass 連携する方法
<a name="security_iam_service-with-iam"></a>

IAM を使用して へのアクセスを管理する前に AWS IoT Greengrass、 で使用できる IAM の機能を理解しておく必要があります AWS IoT Greengrass。


| IAM 機能 | Greengrass によってサポートされていますか。 | 
| --- | --- | 
| [リソースレベルのアクセス許可を持つアイデンティティベースポリシー](#security_iam_service-with-iam-id-based-policies) | はい | 
| [リソースベースのポリシー](#security_iam_service-with-iam-resource-based-policies) | いいえ | 
| [アクセスコントロールリスト (ACL) ](#security_iam_service-with-iam-acls) | いいえ | 
| [タグベースの承認](#security_iam_service-with-iam-tags) | はい | 
| [一時的な認証情報](#security_iam_service-with-iam-roles-tempcreds) | はい | 
| [サービスリンクロール](#security_iam_service-with-iam-roles-service-linked) | いいえ | 
| [サービスロール](#security_iam_service-with-iam-roles-service-linked) | はい | 

他の AWS のサービスが IAM と連携する方法の概要については、「IAM *ユーザーガイド*」の[AWS 「IAM と連携する のサービス](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)」を参照してください。

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

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

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

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

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

のポリシーアクションは、アクションの前に `greengrass:` プレフィックス AWS IoT Greengrass を使用します。たとえば、API `ListCoreDevices`オペレーションを使用してコアデバイスをリストできるようにするには AWS アカウント、ポリシーに `greengrass:ListCoreDevices`アクションを含めます。ポリシーステートメントには、 `Action`または `NotAction` element を含める必要があります。 は、このサービスで実行できるタスクを記述する独自のアクションのセット AWS IoT Greengrass を定義します。

1 つのステートメントで複数のアクションを指定するには、次のようにアクションをカンマで区切って全体を括弧 (`[` `]`) で囲って表示します。

```
"Action": [
  "greengrass:action1",
  "greengrass:action2",
  "greengrass:action3"
]
```

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

```
"Action": "greengrass:List*"
```

**注記**  
サービスに対して使用可能なすべてのアクションを指定するには、ワイルドカードを使用しないことをお勧めします。ベストプラクティスとして、ポリシー内で最小限の特権と狭い範囲のアクセス許可を付与する必要があります。詳細については、「[最小限のアクセス許可を付与する](security-best-practices.md#least-privilege)」を参照してください。

 AWS IoT Greengrass アクションの完全なリストについては、*IAM ユーザーガイド*の[「 で定義されるアクション AWS IoT Greengrass](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awsiotgreengrass.html#awsiotgreengrass-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) を使用してリソースを指定します。リソースレベルのアクセス許可をサポートしないアクションの場合は、ステートメントがすべてのリソースに適用されることを示すために、ワイルドカード (\$1) を使用します。

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

次の表に、ポリシーステートメントの `Resource` 要素で使用できる AWS IoT Greengrass リソース ARN を示します。 AWS IoT Greengrass アクションでサポートされているリソースレベルのアクセス許可のマッピングについては、*IAM ユーザーガイド*の[「 で定義されるアクション AWS IoT Greengrass](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awsiotgreengrass.html#awsiotgreengrass-actions-as-permissions)」を参照してください。

一部の AWS IoT Greengrass アクション (一部のリストオペレーションなど) は、特定のリソースで実行できません。このような場合は、ワイルドカードのみを使用する必要があります。

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

ステートメントで複数のリソース ARN を指定するには、次のようにアクションをカンマで区切って全体を括弧 (`[` `]`) で囲って表示します。

```
"Resource": [
  "resource-arn1",
  "resource-arn2",
  "resource-arn3"
]
```

ARN 形式の詳細については、[ARNs) と AWS サービス名前空間](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)」を参照してください*Amazon Web Services 全般のリファレンス*。

### 条件キー
<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)」を参照してください。

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



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

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

AWS IoT Greengrass は[リソースベースのポリシー](security-iam.md#security_iam_access-manage-resource-based-policies)をサポートしていません。

## アクセスコントロールリスト (ACL)
<a name="security_iam_service-with-iam-acls"></a>

AWS IoT Greengrass は [ACLs](security-iam.md#security_iam_access-manage-acl) をサポートしていません。

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

サポートされている AWS IoT Greengrass リソースにタグをアタッチするか、リクエストでタグを渡すことができます AWS IoT Greengrass。タグに基づいてアクセスを管理するには、`aws:ResourceTag/${TagKey}`、`aws:RequestTag/${TagKey}`、または `aws:TagKeys` の条件キーを使用して、ポリシーの [[Condition element]](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) (条件要素) でタグ情報を提供します。詳細については、「[AWS IoT Greengrass Version 2 リソースにタグを付ける](tag-resources.md)」を参照してください。

## の IAM ロール AWS IoT Greengrass
<a name="security_iam_service-with-iam-roles"></a>

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

### での一時的な認証情報の使用 AWS IoT Greengrass
<a name="security_iam_service-with-iam-roles-tempcreds"></a>

一時的な認証情報は、フェデレーションでサインイン、IAM ロールを引き受ける、またはクロスアカウントロールを引き受けるために使用されます。一時的なセキュリティ認証情報を取得するには、[AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) または [GetFederationToken](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetFederationToken.html) などの AWS STS API オペレーションを呼び出します。

Greengrass コアでは、[[device role]](device-service-role.md) (デバイスロール) の一時的な認証情報が Greengrass コンポーネントで利用可能になります。コンポーネントが AWS SDK を使用している場合は、 AWS SDK がユーザーに代わってこれを行うため、認証情報を取得するためのロジックを追加する必要はありません。

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

AWS IoT Greengrass は、[サービスにリンクされたロール](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role)をサポートしていません。

### サービス役割
<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 管理者はこの役割の権限を変更できます。ただし、それにより、サービスの機能が損なわれる場合があります。

AWS IoT Greengrass コアデバイスはサービスロールを使用して、Greengrass コンポーネントと Lambda 関数がユーザーに代わって一部の AWS リソースにアクセスできるようにします。詳細については、「[コアデバイスが AWS サービスとやり取りできるように認可する](device-service-role.md)」を参照してください。

AWS IoT Greengrass はサービスロールを使用して、ユーザーに代わって一部の AWS リソースにアクセスします。詳細については、「[Greengrass サービスロール](greengrass-service-role.md)」を参照してください。