

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

# Amazon Bedrock ナレッジベースのサービスロールを作成する
<a name="kb-permissions"></a>

Amazon Bedrock が自動的に作成するロールの代わりにナレッジベースのカスタムロールを使用するには、[AWS 「 サービスにアクセス許可を委任するロールの作成」の手順に従って、IAM ロールを作成し、次のアクセス許可をアタッチします](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html)。独自のセキュリティに必要なアクセス許可のみを含めるようにしてください。

**注記**  
サービスロールを使用する場合、ポリシーを複数のロール間で共有することはできません。
+ 信頼関係
+ Amazon Bedrock のベースモデルへのアクセス
+ データを保存するデータソースへのアクセス
+ (Amazon OpenSearch Service でベクトルデータベースを作成する場合) OpenSearch Service コレクションへのアクセス許可
+ (Amazon Aurora でベクトルデータベースを作成する場合) Aurora クラスターへのアクセス
+ ( Pineconeまたは でベクトルデータベースを作成する場合Redis Enterprise Cloud) Pineconeまたは Redis Enterprise Cloudアカウントを認証 AWS Secrets Manager するための のアクセス許可
+ (オプション) 以下のリソースを KMS キーで暗号化する場合、キーを復号化するアクセス許可 (「[ナレッジベースリソースの暗号化](encryption-kb.md)」を参照)。
  + ナレッジベース
  + ナレッジベースのデータソース
  + Amazon OpenSearch Service のベクトルデータベース
  + のサードパーティーベクトルデータベースのシークレット AWS Secrets Manager
  + データインジェストジョブ

**Topics**
+ [信頼関係](#kb-permissions-trust)
+ [Amazon Bedrock モデルにアクセスするためのアクセス許可](#kb-permissions-access-models)
+ [データソースにアクセスするためのアクセス許可](#kb-permissions-access-ds)
+ [Amazon S3 で暗号化されたデータソースの AWS KMS キーを復号するアクセス許可](#kb-permissions-kms-datasource)
+ [ドキュメントでチャットするためのアクセス許可](#kb-permissions-chatdoc)
+ [マルチモーダルコンテンツのアクセス許可](#kb-permissions-multimodal)
+ [Amazon Kendra GenAI Index へのアクセス許可](#kb-permissions-kendra)
+ [Amazon OpenSearch Serverless 内のベクトルデータベースにアクセスするためのアクセス許可](#kb-permissions-oss)
+ [OpenSearch マネージドクラスターでベクトルデータベースにアクセスするためのアクセス許可](#kb-permissions-osm)
+ [Amazon Aurora データベースクラスターにアクセスするためのアクセス許可](#kb-permissions-rds)
+ [Amazon Neptune Analytics でベクトルデータベースにアクセスするためのアクセス許可](#kb-permissions-neptune)
+ [Amazon S3 Vectors でベクトルストアにアクセスするためのアクセス許可](#kb-permissions-s3vectors)
+ [AWS Secrets Manager シークレットで設定されたベクトルデータベースへのアクセス許可](#kb-permissions-secret)
+ [データ取り込み中の一時的なデータストレージの AWS KMS キーを管理する AWS ための のアクセス許可](#kb-permissions-kms-ingestion)
+ [別のユーザーの AWS アカウントからデータソースを管理する AWS ための のアクセス許可。](#kb-permissions-otherds)

## 信頼関係
<a name="kb-permissions-trust"></a>

以下のポリシーにより、Amazon Bedrock がこのロールを引き受け、ナレッジベースを作成および管理することができます。使用するポリシーの例を下記に示します。1 つ以上のグローバル条件コンテキストキーを使用して、アクセス許可の範囲を制限できます。詳細については、「[AWS グローバル条件コンテキストキー](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html)」を参照してください。`aws:SourceAccount` の値をアカウント ID に設定します。`ArnEquals` または `ArnLike` 条件を使用して、範囲を特定のナレッジベースに制限します。

**注記**  
セキュリティ上のベストプラクティスとして、*\$1* は特定のナレッジベース ID に置き換えてください (作成後)。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "bedrock.amazonaws.com"
            },
            "Action": "sts:AssumeRole",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "123456789012"
                },
                "ArnLike": {
                    "AWS:SourceArn": "arn:aws:bedrock:us-east-1:123456789012:knowledge-base/*"
                }
            }
        }
    ]
}
```

------

## Amazon Bedrock モデルにアクセスするためのアクセス許可
<a name="kb-permissions-access-models"></a>

ロールがソースデータの組み込みに Amazon Bedrock モデルを使用するためのアクセス許可を提供するには、以下のポリシーをアタッチします。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "bedrock:ListFoundationModels",
                "bedrock:ListCustomModels"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "bedrock:InvokeModel"
            ],
            "Resource": [
                "arn:aws:bedrock:us-east-1::foundation-model/amazon.titan-embed-text-v1",
                "arn:aws:bedrock:us-east-1::foundation-model/cohere.embed-english-v3",
                "arn:aws:bedrock:us-east-1::foundation-model/cohere.embed-multilingual-v3"
            ]
        }
    ]
}
```

------

## データソースにアクセスするためのアクセス許可
<a name="kb-permissions-access-ds"></a>

次のデータソースの中から選択して、ロールに必要なアクセス許可をアタッチしてください。

**Topics**
+ [Amazon S3 データソースにアクセスするためのアクセス許可](#kb-permissions-access-s3)
+ [Confluence データソースにアクセスするためのアクセス許可](#kb-permissions-access-confluence)
+ [Microsoft SharePoint データソースにアクセスするためのアクセス許可](#kb-permissions-access-sharepoint)
+ [Salesforce データソースにアクセスするためのアクセス許可](#kb-permissions-access-salesforce)

### Amazon S3 データソースにアクセスするためのアクセス許可
<a name="kb-permissions-access-s3"></a>

データソースが Amazon S3 の場合は、次のポリシーをアタッチして、データソースとして接続する S3 バケットにアクセスするためのアクセス許可をロールに付与します。

 AWS KMS キーを使用してデータソースを暗号化した場合は、「」の手順に従って、キーを復号するアクセス許可をロールにアタッチします[Amazon S3 のデータソースの AWS KMS キーを復号するアクセス許可](encryption-kb.md#encryption-kb-ds)。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "S3ListBucketStatement",
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "123456789012"
                }
            }
        },
        {
            "Sid": "S3GetObjectStatement",
            "Effect": "Allow",
            "Action": [
                "s3:GetObject"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket/*"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "123456789012"
                }
            }
        }
    ]
}
```

------

### Confluence データソースにアクセスするためのアクセス許可
<a name="kb-permissions-access-confluence"></a>

**注記**  
Confluence データソースコネクタはプレビューリリースの段階であり、変更される可能性があります。

以下のポリシーをアタッチして、ロールが Confluence にアクセスするためのアクセス許可を付与します。

**注記**  
`secretsmanager:PutSecretValue` は、OAuth 2.0 認証で更新トークンを使用する場合にのみ必要です。  
Confluence OAuth2.0 の**アクセス**トークンの有効期限は、デフォルトでは 60 分です。データソースの同期 (同期ジョブ) 中にアクセストークンの有効期限が切れた場合、Amazon Bedrock は、指定された**更新**トークンを使用してアクセストークンを再生成します。その際は、アクセストークンと更新トークンの両方が更新されます。現在の同期ジョブから次の同期ジョブまでトークンを最新の状態で維持するために、Amazon Bedrock にはシークレット認証情報の書き込み/保存のアクセス許可が必要です。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "secretsmanager:GetSecretValue",
                "secretsmanager:PutSecretValue"
            ],
            "Resource": [
                "arn:aws:secretsmanager:us-east-1:123456789012:secret:SecretId"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "kms:Decrypt"
            ],
            "Resource": [
                "arn:aws:kms:us-east-1:123456789012:key/KeyId"
            ],
            "Condition": {
                "StringLike": {
                    "kms:ViaService": [
                        "secretsmanager.us-east-1.amazonaws.com"
                    ]
                }
            }
        }
    ]
}
```

------

### Microsoft SharePoint データソースにアクセスするためのアクセス許可
<a name="kb-permissions-access-sharepoint"></a>

**注記**  
SharePoint データソースコネクタはプレビューリリースの段階であり、変更される可能性があります。

以下のポリシーをアタッチして、ロールが SharePoint にアクセスするためのアクセス許可を付与します。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "secretsmanager:GetSecretValue"
            ],
            "Resource": [
                "arn:aws:secretsmanager:us-east-1:123456789012:secret:SecretId"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "kms:Decrypt"
            ],
            "Resource": [
                "arn:aws:kms:us-east-1:123456789012:key/KeyId"
            ],
            "Condition": {
                "StringLike": {
                    "kms:ViaService": [
                        "secretsmanager.us-east-1.amazonaws.com"
                    ]
                }
            }
        }
    ]
}
```

------

### Salesforce データソースにアクセスするためのアクセス許可
<a name="kb-permissions-access-salesforce"></a>

**注記**  
Salesforce データソースコネクタはプレビューリリースの段階であり、変更される可能性があります。

以下のポリシーをアタッチして、ロールが Salesforce にアクセスするためのアクセス許可を付与します。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "secretsmanager:GetSecretValue"
            ],
            "Resource": [
                "arn:aws:secretsmanager:us-east-1:123456789012:secret:SecretId"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "kms:Decrypt"
            ],
            "Resource": [
                "arn:aws:kms:us-east-1:123456789012:key/KeyId"
            ],
            "Condition": {
                "StringLike": {
                    "kms:ViaService": [
                        "secretsmanager.us-east-1.amazonaws.com"
                    ]
                }
            }
        }
    ]
}
```

------

## Amazon S3 で暗号化されたデータソースの AWS KMS キーを復号するアクセス許可
<a name="kb-permissions-kms-datasource"></a>

Amazon S3 のデータソースを AWS KMS キーで暗号化した場合は、Amazon Bedrock ナレッジベースサービスロールに次のポリシーをアタッチして、Amazon Bedrock がキーを復号できるようにします。*\$1\$1Region\$1* と *\$1\$1AccountId\$1* を、キーが属するリージョンとアカウント ID に置き換えます。*\$1\$1KeyId\$1* を AWS KMS キーの ID に置き換えます。

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [{
        "Effect": "Allow",
        "Action": [
            "kms:Decrypt"
        ],
        "Resource": [
            "arn:aws:kms:${Region}:${AccountId}:key/${KeyId}"
        ],
        "Condition": {
            "StringEquals": {
                "kms:ViaService": [
                    "s3.${Region}.amazonaws.com"
                ]
            }
        }
    }]
}
```

## ドキュメントでチャットするためのアクセス許可
<a name="kb-permissions-chatdoc"></a>

以下のポリシーをアタッチして、ロールが Amazon Bedrock モデルを使用してドキュメントでチャットするためのアクセス許可を付与します。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
			"Effect": "Allow",
			"Action": [
				"bedrock:RetrieveAndGenerate"
			],
			"Resource": "*"
		}
    ]
}
```

------

ユーザーにドキュメントでチャットするためのアクセス権のみを付与する場合は (すべてのナレッジベースでの `RetrieveAndGenerate` の権限は与えない)、以下のポリシーを使用します。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
			"Effect": "Allow",
			"Action": [
				"bedrock:RetrieveAndGenerate"
			],
			"Resource": "*"
		},
        {
			"Effect": "Deny",
			"Action": [
				"bedrock:Retrieve"
			],
			"Resource": "*"
		}
    ]
}
```

------

ドキュメントチャットと、特定のナレッジベースでの `RetrieveAndGenerate` の使用を両方とも認める場合は、*\$1\$1KnowledgeBaseArn\$1* を指定して、以下のポリシーを使用します。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "bedrock:RetrieveAndGenerate"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "bedrock:Retrieve"
            ],
            "Resource": "arn:aws:bedrock:us-east-1:123456789012:knowledge-base/$KnowledgeBaseId"
        }
    ]
}
```

------

## マルチモーダルコンテンツのアクセス許可
<a name="kb-permissions-multimodal"></a>

マルチモーダルコンテンツ (イメージ、オーディオ、ビデオ) を使用する場合は、処理方法に応じて追加のアクセス許可が必要です。

### Nova マルチモーダル埋め込みのアクセス許可
<a name="kb-permissions-multimodal-mme"></a>

Nova マルチモーダル埋め込みを使用する場合は、次のポリシーをアタッチして、非同期モデル呼び出しのアクセス許可を付与します。

```
{
    "Sid": "BedrockInvokeModelStatement",
    "Effect": "Allow",
    "Action": ["bedrock:InvokeModel"],
    "Resource": [
        "arn:aws:bedrock:us-east-1::foundation-model/amazon.nova-*-multimodal-embeddings-*",
        "arn:aws:bedrock:us-east-1::async-invoke/*"
    ],
    "Condition": {
        "StringEquals": {
            "aws:ResourceAccount": ""
        }
    }
},
{
    "Sid": "BedrockGetAsyncInvokeStatement",
    "Effect": "Allow",
    "Action": ["bedrock:GetAsyncInvoke"],
    "Resource": ["arn:aws:bedrock:us-east-1::async-invoke/*"],
    "Condition": {
        "StringEquals": {
            "aws:ResourceAccount": ""
        }
    }
}
```

### Bedrock Data Automation (BDA) のアクセス許可
<a name="kb-permissions-multimodal-bda"></a>

BDA を使用してマルチモーダルコンテンツを処理する場合は、次のポリシーをアタッチします。

```
{
    "Sid": "BDAInvokeStatement",
    "Effect": "Allow",
    "Action": ["bedrock:InvokeDataAutomationAsync"],
    "Resource": [
        "arn:aws:bedrock:us-east-1:aws:data-automation-project/public-rag-default",
        "arn:aws:bedrock:us-east-1::data-automation-profile/*"
    ]
},
{
    "Sid": "BDAGetStatement",
    "Effect": "Allow",
    "Action": ["bedrock:GetDataAutomationStatus"],
    "Resource": "arn:aws:bedrock:us-east-1::data-automation-invocation/*"
}
```

BDA でカスタマーマネージド AWS KMS キーを使用する場合は、次のポリシーもアタッチします。*account-id*、*region*、および *key-id* を特定の値に置き換えます。

```
{
    "Sid": "KmsPermissionStatementForBDA",
    "Effect": "Allow",
    "Action": [
        "kms:GenerateDataKey",
        "kms:Decrypt",
        "kms:DescribeKey",
        "kms:CreateGrant"
    ],
    "Resource": ["arn:aws:kms:region:account-id:key/key-id"],
    "Condition": {
        "StringEquals": {
            "aws:ResourceAccount": "account-id",
            "kms:ViaService": "bedrock.region.amazonaws.com"
        }
    }
}
```

## Amazon Kendra GenAI Index へのアクセス許可
<a name="kb-permissions-kendra"></a>

ナレッジベース用の Amazon Kendra GenAI Index を作成した場合は、以下のポリシーを Amazon Bedrock ナレッジベースのサービスロールにアタッチして、インデックスへのアクセスを許可します。ポリシーで、*\$1\$1Partition\$1*、*\$1\$1Region\$1*、*\$1\$1AccountId\$1*、\$1\$1*IndexId\$1* をインデックスの値に置き換えます。複数のインデックスへのアクセスを許可するには、それらを `Resource` リストに追加します。内のすべてのインデックスへのアクセスを許可するには AWS アカウント、*\$1\$1IndexId\$1* をワイルドカード (\$1) に置き換えます。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "kendra:Retrieve",
                "kendra:DescribeIndex"
            ],
            "Resource": "arn:aws:kendra:us-east-1:123456789012:index/${IndexId}" 
        }
    ]
}
```

------

## Amazon OpenSearch Serverless 内のベクトルデータベースにアクセスするためのアクセス許可
<a name="kb-permissions-oss"></a>

OpenSearch Serverless でナレッジベース用のベクトルデータベースを作成した場合は、以下のポリシーを Amazon Bedrock ナレッジベースのサービスロールにアタッチして、コレクションへのアクセスを許可します。*\$1\$1Region\$1* と *\$1\$1AccountId\$1* を、データベースが属するリージョンとアカウント ID に置き換えます。*\$1\$1CollectionId\$1* には、Amazon OpenSearch Service のコレクションの ID を入力します。複数のコレクションへのアクセスを許可するには、それらを `Resource` リストに追加します。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "aoss:APIAccessAll"
            ],
            "Resource": [
                "arn:aws:aoss:us-east-1:123456789012:collection/${CollectionId}"
            ]
        }
    ]
}
```

------

## OpenSearch マネージドクラスターでベクトルデータベースにアクセスするためのアクセス許可
<a name="kb-permissions-osm"></a>

OpenSearch マネージドクラスターでナレッジベース用のベクトルデータベースを作成した場合は、以下のポリシーを Amazon Bedrock ナレッジベースのサービスロールにアタッチして、ドメインへのアクセスを許可します。*<region>* と *<accountId>* を、データベースが属するリージョンとアカウント ID に置き換えます。複数のドメインへのアクセスを許可するには、それらを `Resource` リストに追加します。アクセス許可の設定については、「[Amazon Bedrock ナレッジベースで OpenSearch マネージドクラスターを使用するために必要な前提条件とアクセス許可アクセス許可設定の概要](kb-osm-permissions-prereq.md)」を参照してください。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",       
            "Action": [
                "es:ESHttpGet", 
                "es:ESHttpPost", 
                "es:ESHttpPut", 
                "es:ESHttpDelete" 
            ],
            "Resource": [
                "arn:aws:es:us-east-1:123456789012:domain/domainName/indexName"
            ]       
        }, 
        {
            "Effect": "Allow",
            "Action": [
                "es:DescribeDomain" 
            ],
            "Resource": [
                "arn:aws:es:us-east-1:123456789012:domain/domainName"
            ]       
        }
    ]
}
```

------

## Amazon Aurora データベースクラスターにアクセスするためのアクセス許可
<a name="kb-permissions-rds"></a>

**注記**  
Amazon Aurora クラスターは、Amazon Bedrock のナレッジベースが作成されるクラスター AWS アカウント と同じ に存在する必要があります。

Amazon Aurora でナレッジベース用のデータベース (DB) クラスターを作成した場合は、以下のポリシーを Amazon Bedrock ナレッジベースのサービスロールにアタッチして、DB クラスターへのアクセスを許可し、DB クラスターに対する読み取り/書き込みアクセス許可を提供します。*\$1\$1Region\$1* と *\$1\$1AccountId\$1* を、DB クラスターが属するリージョンとアカウント ID に置き換えます。Amazon Aurora データベースクラスターの ID を *\$1\$1DbClusterId\$1* に入力します。複数の DB クラスターへのアクセスを許可するには、それらを `Resource` リストに追加します。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "RdsDescribeStatementID",
            "Effect": "Allow",
            "Action": [
                "rds:DescribeDBClusters"
            ],
            "Resource": [
                "arn:aws:rds:us-east-1:123456789012:cluster:${DbClusterId}"
            ]
        },
        {
            "Sid": "DataAPIStatementID",
            "Effect": "Allow",
            "Action": [
                "rds-data:BatchExecuteStatement",
                "rds-data:ExecuteStatement"
            ],
            "Resource": [
                "arn:aws:rds:us-east-1:123456789012:cluster:${DbClusterId}"
            ]
        }
    ]
}
```

------

## Amazon Neptune Analytics でベクトルデータベースにアクセスするためのアクセス許可
<a name="kb-permissions-neptune"></a>

ナレッジベース用の Amazon Neptune Analytics グラフを作成した場合は、以下のポリシーを Amazon Bedrock ナレッジベースのサービスロールにアタッチして、グラフへのアクセスを許可します。ポリシーで、*\$1\$1Region\$1* と *\$1\$1AccountId\$1* を、データベースが属するリージョンとアカウント ID に置き換えます。*\$1\$1GraphId\$1* をグラフデータベースの値に置き換えます。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "NeptuneAnalyticsAccess",
            "Effect": "Allow",
            "Action": [
                "neptune-graph:GetGraph",
                "neptune-graph:ReadDataViaQuery",
                "neptune-graph:WriteDataViaQuery",
                "neptune-graph:DeleteDataViaQuery"
            ],
            "Resource": [
                "arn:aws:neptune-graph:us-east-1:123456789012:graph/${GraphId}"
            ]
        }
    ]
}
```

------

## Amazon S3 Vectors でベクトルストアにアクセスするためのアクセス許可
<a name="kb-permissions-s3vectors"></a>

ナレッジベース用の Amazon S3 Vectors を作成した場合は、以下のポリシーを Amazon Bedrock ナレッジベースのサービスロールにアタッチして、ベクトルインデックスへのアクセスを許可します。

ポリシーで、*\$1\$1Region\$1* と *\$1\$1AccountId\$1* をベクトルインデックスが属するリージョンとアカウント ID に置き換えます。*\$1\$1BucketName\$1* を S3 ベクトルバケットの名前に置き換え、*\$1\$1IndexName\$1* をベクトルインデックスの名前に置き換えます。Amazon S3 ベクトルの詳細については、[Amazon S3 Vectors を設定して使用する](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-vectors-setting-up.html)」を参照してください。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "S3VectorBucketReadAndWritePermission",
            "Effect": "Allow",
            "Action": [
                "s3vectors:PutVectors",
                "s3vectors:GetVectors",
                "s3vectors:DeleteVectors",
                "s3vectors:QueryVectors",
                "s3vectors:GetIndex"
            ],
            "Resource": "arn:aws:s3vectors:us-east-1:123456789012:bucket/${BucketName}/index/${IndexName}"
        }
    ]
}
```

------

## AWS Secrets Manager シークレットで設定されたベクトルデータベースへのアクセス許可
<a name="kb-permissions-secret"></a>

ベクトルデータベースに AWS Secrets Manager シークレットが設定されている場合は、次のポリシーを Amazon Bedrock ナレッジベースサービスロールにアタッチして、 がデータベースにアクセスするためにアカウント AWS Secrets Manager を認証できるようにします。*\$1\$1Region\$1* と *\$1\$1AccountId\$1* を、データベースが属するリージョンとアカウント ID に置き換えます。*\$1\$1SecretId\$1* をシークレットの ID に置き換えます。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "secretsmanager:GetSecretValue"
            ],
            "Resource": [
                "arn:aws:secretsmanager:us-east-1:123456789012:secret:${SecretId}"
            ]
        }
    ]
}
```

------

 AWS KMS キーでシークレットを暗号化した場合は、「」の手順に従って、キーを復号するアクセス許可をロールにアタッチします[ナレッジベースを含むベクトルストアのシー AWS Secrets Manager クレットを復号するアクセス許可](encryption-kb.md#encryption-kb-3p)。

## データ取り込み中の一時的なデータストレージの AWS KMS キーを管理する AWS ための のアクセス許可
<a name="kb-permissions-kms-ingestion"></a>

データソースを取り込むプロセスで一時的なデータストレージの AWS KMS キーを作成できるようにするには、Amazon Bedrock ナレッジベースサービスロールに次のポリシーをアタッチします。*\$1\$1Region\$1*、*\$1\$1AccountId\$1*、*\$1\$1KeyId\$1* を適切な値に置き換えます。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "kms:GenerateDataKey",
                "kms:Decrypt"
            ],
            "Resource": [
                "arn:aws:kms:us-east-1:123456789012:key/${KeyId}"
            ]
        }
    ]
}
```

------

## 別のユーザーの AWS アカウントからデータソースを管理する AWS ための のアクセス許可。
<a name="kb-permissions-otherds"></a>

別のユーザーの AWS アカウントへのアクセスを許可するには、別のユーザーのアカウントの Amazon S3 バケットへのクロスアカウントアクセスを許可するロールを作成する必要があります。*\$1\$1BucketName\$1*、*\$1\$1BucketOwnerAccountId\$1*、*\$1\$1BucketNameAndPrefix\$1* を適切な値に置き換えます。

**ナレッジベースロールに必要なアクセス許可**

ナレッジベースの作成時 (`createKnowledgeBase`) に指定するナレッジベースロールには、次の Amazon S3 アクセス許可が必要です。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "S3ListBucketStatement",
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "123456789012"
                }
            }
        },
        {
            "Sid": "S3GetObjectStatement",
            "Effect": "Allow",
            "Action": [
                "s3:GetObject"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket/*"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "123456789012"
                }
            }
        }
    ]
}
```

------

Amazon S3 バケットが AWS KMS キーを使用して暗号化されている場合は、ナレッジベースロールに以下も追加する必要があります。*\$1\$1BucketOwnerAccountId\$1* と *\$1\$1Region\$1* を適切な値に置き換えます。

```
{
        "Sid": "KmsDecryptStatement",
        "Effect": "Allow",
        "Action": [
            "kms:Decrypt"
        ],
        "Resource": [
            "arn:aws:kms:${Region}:${BucketOwnerAccountId}:key/${KeyId}"
        ],
        "Condition": {
        "StringEquals": {
            "kms:ViaService": [
                "s3.${Region}.amazonaws.com"
            ]
        }
        }
    }
```

**クロスアカウントの Amazon S3 バケットポリシーに必要なアクセス許可**

他のアカウントのバケットに、次の Amazon S3 バケットポリシーが必要です。*\$1\$1KbRoleArn\$1*、*\$1\$1BucketName\$1*、*\$1\$1BucketNameAndPrefix\$1* を適切な値に置き換えます。

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
      {
         "Sid": "ListBucket",
         "Effect": "Allow",
         "Principal": {
            "AWS": "123456789012"
         },
         "Action": [
            "s3:ListBucket"
         ],
         "Resource": [
            "arn:aws:s3:::amzn-s3-demo-bucket"
         ]
      },
      {
         "Sid": "GetObject",
         "Effect": "Allow",
         "Principal": {
            "AWS": "123456789012"
         },
         "Action": [
            "s3:GetObject"
         ],
         "Resource": [
            "arn:aws:s3:::amzn-s3-demo-bucket/*"
         ]
      }
   ]
}
```

------

**クロスアカウント AWS KMS キーポリシーに必要なアクセス許可**

クロスアカウント Amazon S3 バケットがそのアカウントの AWS KMS キーを使用して暗号化されている場合、キーの AWS KMS ポリシーには次のポリシーが必要です。*\$1\$1KbRoleArn\$1* と *\$1\$1KmsKeyArn\$1* を適切な値に置き換えます。

```
{
    "Sid": "Example policy",
    "Effect": "Allow",
    "Principal": {
        "AWS": [
            "${KbRoleArn}"
        ]
    },
    "Action": [
        "kms:Decrypt"
    ],
    "Resource": "${KmsKeyArn}"
}
```