

 Amazon Redshift は、パッチ 198 以降、新しい Python UDF の作成をサポートしなくなります。既存の Python UDF は、2026 年 6 月 30 日まで引き続き機能します。詳細については、[ブログ記事](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)を参照してください。

# ALTER EXTERNAL SCHEMA
<a name="r_ALTER_EXTERNAL_SCHEMA"></a>

現在のデータベース内にある既存の外部スキーマを変更します。スキーマを変更できるのは、スキーマ所有者、スーパーユーザー、またはスキーマに対する ALTER 権限を持つユーザーのみです。DATA CATALOG、KAFKA、または MSK から作成された外部スキーマのみを変更できます。

このスキーマの所有者は CREATE EXTERNAL SCHEMA コマンドの発行者です。外部スキーマの所有者を移行するには、「ALTER SCHEMA」を使用して所有者を変更します。他のユーザーやユーザーグループに対してスキーマへのアクセス権を付与するには、GRANT コマンドを使用します。

外部テーブルのアクセス権限に対して、GRANT または REVOKE コマンドを使用することはできません。代わりに、外部スキーマに対するアクセス権限の付与または取り消しを実行します。

詳細については次を参照してください:
+ [ALTER SCHEMA](r_ALTER_SCHEMA.md)
+ [GRANT](r_GRANT.md)
+ [REVOKE](r_REVOKE.md)
+ [CREATE EXTERNAL SCHEMA](r_CREATE_EXTERNAL_SCHEMA.md)
+ [既存の外部スキーマの mTLS 認証を有効にする](materialized-view-streaming-ingestion-mtls.md#materialized-view-streaming-ingestion-mtls-alter)

外部スキーマの詳細を表示するには、SVV\$1EXTERNAL\$1SCHEMAS システムビューにクエリを実行します。詳細については、「[SVV\$1EXTERNAL\$1SCHEMAS](r_SVV_EXTERNAL_SCHEMAS.md)」を参照してください。

## 構文
<a name="r_ALTER_EXTERNAL_SCHEMA-synopsis"></a>

```
ALTER EXTERNAL SCHEMA schema_name
[ IAM_ROLE [ default | 'SESSION' | 'arn:aws:iam::<account-id>:role/<role-name>' ] ]
[ AUTHENTICATION [ none | iam | mtls] ]
[ AUTHENTICATION_ARN 'acm-certificate-arn' | SECRET_ARN 'asm-secret-arn' ]
[ URI 'Kafka bootstrap URL' ]
```

ストリーミングの取り込みに使用する既存の外部スキーマがあり、認証に相互 TLS を実装する場合は、次のようなコマンドを実行できます。このコマンドは、mTLS 認証と ACM の ACM 証明書 ARN を指定します。

```
ALTER EXTERNAL SCHEMA schema_name 
AUTHENTICATION mtls
AUTHENTICATION_ARN 'arn:aws:acm:us-east-1:444455556666:certificate/certificate_ID';
```

または、Secrets Manager でシークレット ARN を参照して、mTLS 認証を変更できます。

```
ALTER EXTERNAL SCHEMA schema_name 
AUTHENTICATION mtls
SECRET_ARN 'arn:aws:secretsmanager:us-east-1:012345678910:secret:myMTLSSecret';
```

次の例は、ALTER EXTERNAL SCHEMA の URI を変更する方法を示しています。

```
ALTER EXTERNAL SCHEMA schema_name  
URI 'lkc-ghidef-67890.centralus.azure.glb.confluent.cloud:9092';
```

次の例は、ALTER EXTERNAL SCHEMA の IAM ロールを変更する方法を示しています。

```
ALTER EXTERNAL SCHEMA schema_name  
IAM_ROLE 'arn:aws:iam::012345678901:role/testrole';
```

## パラメータ
<a name="r_ALTER_EXTERNAL_SCHEMA-parameters"></a>

 IAM\$1ROLE[ default \$1 'SESSION' \$1 'arn:aws:iam::<AWS account-id>:role/<role-name>' ]   
`default` キーワードを使用して、デフォルトとして設定された IAM ロールを Amazon Redshift で使用します。  
フェデレーション ID を使用して Amazon Redshift クラスターに接続し、このコマンドを使用して作成された外部スキーマからテーブルにアクセスする場合は、`'SESSION'` を使用します。  
詳細については、「[CREATE EXTERNAL SCHEMA](https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_EXTERNAL_SCHEMA.html)」を参照してください。

AUTHENTICATION  
ストリーミング取り込み用に定義された認証タイプ。認証タイプによるストリーミング取り込みは、Apache Kafka、Confluent Cloud、Amazon Managed Streaming for Apache Kafka で機能します。詳細については、「[CREATE EXTERNAL SCHEMA](https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_EXTERNAL_SCHEMA.html)」を参照してください。

AUTHENTICATION\$1ARN  
Amazon Redshift が Apache Kafka、Confluent Cloud、または Amazon Managed Streaming for Apache Kafka (Amazon MSK) との mtls 認証に使用する AWS Certificate Manager 証明書の ARN。ARN は、発行された証明書を選択する際に ACM コンソールで利用できます。

SECRET\$1ARN  
AWS Secrets Manager を使用して作成した、サポートされているシークレットの Amazon リソースネーム (ARN)。シークレットの ARN を作成および取得する方法については、「*AWS Secrets Manager User Guide*」の「[Manage secrets with AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/manage_create-basic-secret.html)」および「[Amazon Redshift でのシークレットの Amazon リソースネーム (ARN) の取得](https://docs.aws.amazon.com/redshift/latest/mgmt/redshift-secrets-manager-integration-retrieving-secret.html)」を参照してください。

[URI]  
Apache Kafka、Confluent Cloud、または Amazon Managed Streaming for Apache Kafka (Amazon MSK) クラスターのブートストラップ URL。エンドポイントは、Amazon Redshift クラスターから到達可能 (ルーティング可能) である必要があります。詳細については、「[CREATE EXTERNAL SCHEMA](https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_EXTERNAL_SCHEMA.html)」を参照してください。