

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

# Amazon Kendra のアイデンティティベースポリシーの例
<a name="security_iam_id-based-policy-examples"></a>

デフォルトで、ユーザーとロールには Amazon Kendra リソースを作成または変更する許可がありません。また、 AWS マネジメントコンソール、 AWS CLI、または AWS API を使用してタスクを実行することはできません。IAM 管理者は、ユーザーとロールに必要な、指定されたリソースで特定の API オペレーションを実行する権限をユーザーとロールに付与する IAM ポリシーを作成する必要があります。続いて、管理者はそれらのアクセス許可が必要なユーザーまたはグループにそのポリシーをアタッチします。

JSON ポリシードキュメントのこれらの例を使用して、IAM アイデンティティベースのポリシーを作成する方法については、「**IAM ユーザーガイド」の「[JSON タブでのポリシーの作成](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html#access_policies_create-json-editor)」を参照してください。

**Topics**
+ [

## ポリシーに関するベストプラクティス
](#security_iam_service-with-iam-policy-best-practices)
+ [

## AWS Amazon Kendra の管理 (事前定義) ポリシー
](#security_iam_id-predefined-policies)
+ [

## 自分の権限の表示をユーザーに許可する
](#security_iam_id-based-policy-examples-view-own-permissions)
+ [

## 1 つの Amazon Kendra インデックスへのアクセス
](#security_iam_id-based-policy-examples-access-query-index)
+ [

## タグベースのポリシーの例
](#examples-tagging)

## ポリシーに関するベストプラクティス
<a name="security_iam_service-with-iam-policy-best-practices"></a>

ID ベースのポリシーは、ユーザーのアカウント内で誰かが Amazon Kendra リソースを作成、アクセス、または削除できるどうかを決定します。これらのアクションでは、 AWS アカウントに費用が発生する場合があります。アイデンティティベースポリシーを作成したり編集したりする際には、以下のガイドラインと推奨事項に従ってください:
+ ** AWS 管理ポリシーを開始し、最小特権のアクセス許可に移行する** – ユーザーとワークロードにアクセス許可の付与を開始するには、多くの一般的なユースケースにアクセス許可を付与する*AWS 管理ポリシー*を使用します。これらは で使用できます AWS アカウント。ユースケースに固有の AWS カスタマー管理ポリシーを定義することで、アクセス許可をさらに減らすことをお勧めします。詳細については、*IAM ユーザーガイド* の [AWS マネージドポリシー](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) または [ジョブ機能のAWS マネージドポリシー](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html) を参照してください。
+ **最小特権を適用する** – IAM ポリシーでアクセス許可を設定する場合は、タスクの実行に必要な許可のみを付与します。これを行うには、特定の条件下で特定のリソースに対して実行できるアクションを定義します。これは、最小特権アクセス許可とも呼ばれています。IAM を使用して許可を適用する方法の詳細については、*IAM ユーザーガイド* の [IAM でのポリシーとアクセス許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) を参照してください。
+ **IAM ポリシーで条件を使用してアクセスをさらに制限する** - ポリシーに条件を追加して、アクションやリソースへのアクセスを制限できます。たとえば、ポリシー条件を記述して、すべてのリクエストを SSL を使用して送信するように指定できます。条件を使用して、サービスアクションが などの特定の を通じて使用されている場合に AWS のサービス、サービスアクションへのアクセスを許可することもできます CloudFormation。詳細については、*IAM ユーザーガイド* の [IAM JSON ポリシー要素:条件](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) を参照してください。
+ **IAM アクセスアナライザー を使用して IAM ポリシーを検証し、安全で機能的な権限を確保する** - IAM アクセスアナライザー は、新規および既存のポリシーを検証して、ポリシーが IAM ポリシー言語 (JSON) および IAM のベストプラクティスに準拠するようにします。IAM アクセスアナライザーは 100 を超えるポリシーチェックと実用的な推奨事項を提供し、安全で機能的なポリシーの作成をサポートします。詳細については、*IAM ユーザーガイド* の [IAM Access Analyzer でポリシーを検証する](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-validation.html) を参照してください。
+ **多要素認証 (MFA) を要求する** – で IAM ユーザーまたはルートユーザーを必要とするシナリオがある場合は AWS アカウント、セキュリティを強化するために MFA を有効にします。API オペレーションが呼び出されるときに MFA を必須にするには、ポリシーに MFA 条件を追加します。詳細については、*IAM ユーザーガイド* の [MFA を使用した安全な API アクセス](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_configure-api-require.html) を参照してください。

IAM でのベストプラクティスの詳細については、*IAM ユーザーガイド* の [IAM でのセキュリティのベストプラクティス](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) を参照してください。

## AWS Amazon Kendra の管理 (事前定義) ポリシー
<a name="security_iam_id-predefined-policies"></a>

AWS は、 によって作成および管理されるスタンドアロン IAM ポリシーを提供することで、多くの一般的なユースケースに対処します AWS。これらのポリシーは AWS 管理ポリシーと呼ばれます。 AWS 管理ポリシーを使用すると、ポリシーを自分で記述する必要があったよりも、ユーザー、グループ、ロールにアクセス許可を簡単に割り当てることができます。詳細については、「**IAM ユーザーガイド」の「[ユーザーへのアクセス許可の追加](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console)」を参照してください。

アカウントのグループとロールにアタッチできる以下の AWS 管理ポリシーは、Amazon Kendra に固有です。
+ **AmazonKendraReadOnly** - Amazon Kendra リソースへの読み取り専用アクセスを許可します。
+ **AmazonKendraFullAccess** - すべての Amazon Kendra リソースの作成、読み取り、更新、削除、タグ付け、および実行を行うためのフルアクセスを付与します。

コンソールでは、ロールにも `iam:CreateRole`、`iam:CreatePolicy`、`iam:AttachRolePolicy`、および `s3:ListBucket` アクセス許可が必要です。

**注記**  
これらのアクセス許可については、IAM; コンソールにサインインして特定のポリシーを検索することで確認できます。

独自のカスタム ポリシーを作成して、Amazon Kendra API アクションにアクセス権限を付与することもできます。これらのカスタムポリシーは、それらのアクセス許可が必要な IAM ロールまたはグループにアタッチできます。Amazon Kendra の IAM ポリシーの例については、[Amazon Kendra のアイデンティティベースポリシーの例](#security_iam_id-based-policy-examples) を参照してください。

## 自分の権限の表示をユーザーに許可する
<a name="security_iam_id-based-policy-examples-view-own-permissions"></a>

この例では、ユーザーアイデンティティにアタッチされたインラインおよびマネージドポリシーの表示を IAM ユーザーに許可するポリシーの作成方法を示します。このポリシーには、コンソールで、または AWS CLI または AWS API を使用してプログラムでこのアクションを実行するアクセス許可が含まれています。

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ViewOwnUserInfo",
            "Effect": "Allow",
            "Action": [
                "iam:GetUserPolicy",
                "iam:ListGroupsForUser",
                "iam:ListAttachedUserPolicies",
                "iam:ListUserPolicies",
                "iam:GetUser"
            ],
            "Resource": ["arn:aws:iam::*:user/${aws:username}"]
        },
        {
            "Sid": "NavigateInConsole",
            "Effect": "Allow",
            "Action": [
                "iam:GetGroupPolicy",
                "iam:GetPolicyVersion",
                "iam:GetPolicy",
                "iam:ListAttachedGroupPolicies",
                "iam:ListGroupPolicies",
                "iam:ListPolicyVersions",
                "iam:ListPolicies",
                "iam:ListUsers"
            ],
            "Resource": "*"
        }
    ]
}
```

## 1 つの Amazon Kendra インデックスへのアクセス
<a name="security_iam_id-based-policy-examples-access-query-index"></a>

この例では、 AWS アカウントの ユーザーにインデックスをクエリするためのアクセス権を付与します。

## タグベースのポリシーの例
<a name="examples-tagging"></a>

タグベースのポリシーとは、タグ付きリソースに対してプリンシパルとしての実行できるアクションを指定する JSON ポリシードキュメントです。

### 例: タグを使用したリソースへのアクセス
<a name="example-tags-enable-queries"></a>

このポリシー例では、 キー**department**と値 でタグ付けされたリソースで `Query`オペレーションを使用するアクセス許可を AWS アカウントのユーザーまたはロールに付与します**finance**。

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

****  

```
{ 
    "Version":"2012-10-17",		 	 	  
    "Statement": [ 
        { 
            "Effect": "Allow", 
            "Action": [ 
                "kendra:Query" 
            ], 
            "Resource": "*", 
            "Condition": { 
                "StringEquals": { 
                    "aws:ResourceTag/department": "finance" 
                } 
            } 
        } 
   ]
}
```

------

### 例: タグを使用して Amazon Kendra 演算を有効にする
<a name="example-tags-enable-kendra"></a>

このポリシー例では、 キー**department**と値 でタグ付けされたリソースを持つ オペレーションを除き、Amazon Kendra `TagResource`オペレーションを使用するアクセス許可を AWS アカウントのユーザーまたはロールに付与します**finance**。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "kendra:*",
            "Resource": "*"
        },
        {
            "Effect": "Deny",
            "Action": [
                "kendra:TagResource"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/department": "finance"
                }
            }
        }
    ]
}
```

------

### 例: タグを使用して演算へのアクセスを制限する
<a name="examples-tags-restrict-operations"></a>

このポリシー例では、ユーザーが **department** タグを指定し、許可された値 **finance** と がない限り、 AWS アカウント内のユーザーまたはロールが `CreateIndex`オペレーションを使用するためのアクセスを制限します**IT**。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "kendra:CreateIndex",
            "Resource": "*"
        },
        {
            "Effect": "Deny",
            "Action": "kendra:CreateIndex",
            "Resource": "*",
            "Condition": {
                "Null": {
                    "aws:RequestTag/department": "true"
                }
            }
        },
        {
            "Effect": "Deny",
            "Action": "kendra:CreateIndex",
            "Resource": "*",
            "Condition": {
                "ForAnyValue:StringNotEquals": {
                    "aws:RequestTag/department": [
                        "finance",
                        "IT"
                    ]
                }
            }
        }
    ]
}
```

------