

 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/)を参照してください。

# PG\$1GET\$1SESSION\$1ROLES
<a name="PG_GET_SESSION_ROLES"></a>

現在ログインしているユーザーのセッションロールを返します。ユーザーのセッションロールは、ログインしたユーザーの ID プロバイダー (IdP) によって定義されるグループです。例えば、[Microsoft Azure Active Directory (Azure AD)](https://azure.microsoft.com/en-us/services/active-directory/) のような ID プロバイダー (IdP) は、ユーザーの ID を検証し、そのユーザーが所属する外部グループをユーザーログインプロセス中に提供します。これらの外部グループは Amazon Redshift ロールに変換され、現在のセッション中に使用できます。これらのロールはセッションロールと呼ばれます。管理者は、他の Amazon Redshift ロールと同様の権限をセッションロールに付与できます。ロールの使用の詳細については、「[ロールベースのアクセスコントロール (RBAC)](t_Roles.md)」を参照してください。ID プロバイダー (IdP) による ID 管理の詳細については、「*Amazon Redshift 管理ガイド*」の「[Amazon Redshift 用のネイティブ ID プロバイダー (IdP) フェデレーション](https://docs.aws.amazon.com/redshift/latest/mgmt/redshift-iam-access-control-native-idp.html)」を参照してください。

Amazon Redshift カタログで定義されているロールを表示するには、システムビュー [SVV\$1ROLES](r_SVV_ROLES.md) をクエリします。

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

```
pg_get_session_roles()
```

## 戻り型
<a name="PG_GET_SESSION_ROLES-return-type"></a>

2 つの値で構成される行のセット。最初の値は 2 つの部分からなり、`idp-namespace:role-name` を含むコロン (:) で区切られます。`idp-namespace` は、ID プロバイダー (IdP) の名前空間です。`role-name` は、ID プロバイダー (IdP) の外部グループの名前です。2 番目の値には、ロール識別子である `role-id` が含まれます。

## 使用に関する注意事項
<a name="PG_GET_SESSION_ROLES-usage-notes"></a>

`PG_GET_SESSION_ROLES` 関数は、返されたセッションロールごとに 1 行を返します。

## 例
<a name="PG_GET_SESSION_ROLES-example"></a>

次の例では、Azure Active Directory IdP からロールごとに 1 つの行が返されます。返された列は、列 `name` および `roleid` と共に `sess_roles` にキャストされます。各 `name` は、Azure Active Directory 名前空間と Azure Active Directory 内のグループ名で構成されます。

```
SELECT * FROM pg_get_session_roles() AS sess_roles(name name, roleid integer);

name                  roleid
--------------------------------
my_aad:test_group_1   106204
my_aad:test_group_2   106205
my_aad:test_group_3   106206
my_aad:test_group_4   106207
my_aad:test_group_5   106208
```

次の例では、現在ログインしている IAM ユーザーがメンバーになっている IAM グループごとに 1 つの行が返されます。返された列は、列 `name` および `roleid` と共に `sess_roles` にキャストされます。各 `name` は、IAM 名前空間と IAM グループ名で構成されます。

```
SELECT * FROM pg_get_session_roles() AS sess_roles(name name, roleid integer);

name                  roleid
--------------------------------
IAM:myGroup           110332
```