データベース アクセスの制御と許可Controlling and granting database access

ファイアウォール規則の構成後、ユーザーは、いずれかの管理者アカウント、データベース所有者、またはデータベースのデータベース ユーザーとして SQL データベースに接続できます。When firewall rules have been configured, people can connect to a SQL Database as one of the administrator accounts, as the database owner, or as a database user in the database.

注意

このトピックは Azure SQL サーバーのほか、その Azure SQL サーバーに作成される SQL Database と SQL Data Warehouse の両方に当てはまります。This topic applies to Azure SQL server, and to both SQL Database and SQL Data Warehouse databases that are created on the Azure SQL server. わかりやすいように、SQL Database という言葉で SQL Database と SQL Data Warehouse の両方を言い表します。For simplicity, SQL Database is used when referring to both SQL Database and SQL Data Warehouse.

ヒント

チュートリアルについては、「Azure SQL データベースのセキュリティ保護」を参照してください。For a tutorial, see Secure your Azure SQL Database.

制限なしの管理者アカウントUnrestricted administrative accounts

管理者の機能を果たす 2 つの管理者アカウント (サーバー管理者Active Directory 管理者) があります。There are two administrative accounts (Server admin and Active Directory admin) that act as administrators. SQL サーバー用にこれらの管理者アカウントを特定するには、Azure Portal を開き、SQL サーバーのプロパティに移動します。To identify these administrator accounts for your SQL server, open the Azure portal, and navigate to the properties of your SQL server.

SQL サーバーの管理者

  • サーバー管理者 Server admin
    Azure SQL サーバーを作成する際に、サーバー管理者ログインを指定する必要があります。When you create an Azure SQL server, you must designate a Server admin login. このアカウントは SQL サーバーによって master データベースへのログインとして作成されます。SQL server creates that account as a login in the master database. このアカウントは、SQL Server 認証 (ユーザー名とパスワード) を使用して接続します。This account connects using SQL Server authentication (user name and password). これらのアカウントのうち、存在できるのは 1 つだけです。Only one of these accounts can exist.
  • Azure Active Directory の管理者 Azure Active Directory admin
    1 つの Azure Active Directory アカウント (個人またはセキュリティ グループ アカウント) も、管理者として構成できます。One Azure Active Directory account, either an individual or security group account, can also be configured as an administrator. Azure AD 管理者の構成は任意ですが、SQL Database への接続に Azure AD アカウントを使用する場合は、Azure AD 管理者を構成する必要があります。It is optional to configure an Azure AD administrator, but an Azure AD administrator must be configured if you want to use Azure AD accounts to connect to SQL Database. Azure Active Directory アクセスの構成の詳細については、「Azure Active Directory 認証を使用して SQL Database または SQL Data Warehouse に接続する」と「SSMS support for Azure AD MFA with SQL Database and SQL Data Warehouse」 (SQL Database と SQL Data Warehouse での Azure AD MFA のための SSMS のサポート) をご覧ください。For more information about configuring Azure Active Directory access, see Connecting to SQL Database or SQL Data Warehouse By Using Azure Active Directory Authentication and SSMS support for Azure AD MFA with SQL Database and SQL Data Warehouse.

サーバー管理者アカウントと Azure AD 管理者アカウントには次の特性があります。The Server admin and Azure AD admin accounts has the following characteristics:

  • これらは、サーバー上の任意の SQL Database に自動的に接続できる唯一のアカウントです These are the only accounts that can automatically connect to any SQL Database on the server. (それ以外のアカウントでユーザー データベースに接続するには、そのデータベースの所有者であるか、そのユーザー データベースのユーザー アカウントを持っている必要があります)。(To connect to a user database, other accounts must either be the owner of the database, or have a user account in the user database.)
  • これらのアカウントは、dbo ユーザーとしてユーザー データベースにアクセスし、ユーザー データベースに対するすべてのアクセス許可を持ちます These accounts enter user databases as the dbo user and they have all the permissions in the user databases. (ユーザー データベースの所有者も、dbo ユーザーとしてデータベースにアクセスします)。(The owner of a user database also enters the database as the dbo user.)
  • これらのアカウントは dbo ユーザーとして master データベースにアクセスせず、master に対するアクセス許可は限られています。These accounts do not enter the master database as the dbo user and they have limited permissions in master.
  • これらのアカウントは、SQL データベースでは使用できない標準の SQL Server sysadmin 固定サーバー ロールのメンバーではありません。These accounts are not members of the standard SQL Server sysadmin fixed server role, which is not available in SQL database.
  • これらのアカウントは、データベース、ログイン、master のユーザー、サーバーレベルのファイアウォール規則を作成、変更、削除できます。These accounts can create, alter, and drop databases, logins, users in master, and server-level firewall rules.
  • これらのアカウントは、dbmanager および loginmanager ロールのメンバーを追加および削除できます。These accounts can add and remove members to the dbmanager and loginmanager roles.
  • これらのアカウントは sys.sql_logins システム テーブルを表示できます。These accounts can view the sys.sql_logins system table.

ファイアウォールの構成Configuring the firewall

個々の IP アドレスまたは範囲に対してサーバーレベルのファイアウォールを構成すると、SQL サーバー管理者Azure Active Directory 管理者は、master データベースとすべてのユーザー データベースに接続できます。When the server-level firewall is configured for an individual IP address or range, the SQL server admin and the Azure Active Directory admin can connect to the master database and all the user databases. 初期状態のサーバー レベルのファイアウォールは、PowerShell または REST API を使用して、Azure Portal で構成できます。The initial server-level firewall can be configured through the Azure portal, using PowerShell or using the REST API. 接続が確立されると、Transact-SQL を使用して、サーバー レベルのファイアウォール規則を追加で構成することもできます。Once a connection is made, additional server-level firewall rules can also be configured by using Transact-SQL.

Administrator access pathAdministrator access path

サーバーレベルのファイアウォールが正しく構成されている場合、SQL サーバー管理者Azure Active Directory 管理者は、SQL Server Management Studio や SQL Server Data Tools などのクライアント ツールを使用して接続できます。When the server-level firewall is properly configured, the SQL server admin and the Azure Active Directory admin can connect using client tools such as SQL Server Management Studio or SQL Server Data Tools. すべての機能を提供しているのは、最新のツールだけです。Only the latest tools provide all the features and capabilities. 次の図は、2 つの管理者アカウントの標準的な構成を示しています。The following diagram shows a typical configuration for the two administrator accounts.

Administrator access path

サーバー レベルのファイアウォールで開かれているポートを使用する場合、管理者はどの SQL データベースにも接続できます。When using an open port in the server-level firewall, administrators can connect to any SQL Database.

SQL Server Management Studio を使用したデータベースへの接続Connecting to a database by using SQL Server Management Studio

サーバー、データベース、サーバー レベルのファイアウォール規則の作成や、SQL Server Management Studio を使用したデータベースの照会に関するチュートリアルについては、Azure Portal と SQL Server Management Studio を通じた Azure SQL Database のサーバー、データベース、ファイアウォール規則の使用に関するページを参照してください。For a walk-through of creating a server, a database, server-level firewall rules, and using SQL Server Management Studio to query a database, see Get started with Azure SQL Database servers, databases, and firewall rules by using the Azure portal and SQL Server Management Studio.

重要

常に最新バージョンの Management Studio を使用して、Microsoft Azure と SQL Database の更新プログラムとの同期を維持することをお勧めします。It is recommended that you always use the latest version of Management Studio to remain synchronized with updates to Microsoft Azure and SQL Database. SQL Server Management Studio を更新しますUpdate SQL Server Management Studio.

追加のサーバー レベルの管理者ロールAdditional server-level administrative roles

前に説明したサーバーレベルの管理者ロールのほかに、SQL Database には master データベースに 2 つの制限付き管理者ロールが用意されています。それにユーザー アカウントを追加して、データベースの作成またはログインの管理のためのアクセス許可を付与することができます。In addition to the server-level administrative roles discussed previously, SQL Database provides two restricted administrative roles in the master database to which user accounts can be added that grant permissions to either create databases or manage logins.

データベース作成者Database creators

これらの管理者ロールの 1 つは、dbmanager ロールです。One of these administrative roles is the dbmanager role. このロールのメンバーは、新しいデータベースを作成できます。Members of this role can create new databases. このロールを使用するには、master データベースにユーザーを作成し、そのユーザーを dbmanager データベース ロールに追加します。To use this role, you create a user in the master database and then add the user to the dbmanager database role. データベースを作成するユーザーは、master データベースの SQL Server ログインに基づくユーザーであるか、Azure Active Directory ユーザーに基づく包含データベース ユーザーである必要があります。To create a database, the user must be a user based on a SQL Server login in the master database or contained database user based on an Azure Active Directory user.

  1. 管理者アカウントを使用して、master データベースに接続します。Using an administrator account, connect to the master database.
  2. 省略可能な手順: CREATE LOGIN ステートメントを使用して、SQL Server 認証ログインを作成します。Optional step: Create a SQL Server authentication login, using the CREATE LOGIN statement. サンプル ステートメントは、次のとおりです。Sample statement:

    CREATE LOGIN Mary WITH PASSWORD = '<strong_password>';
    

    注意

    ログイン ユーザーまたは包含データベース ユーザーを作成するときは、強力なパスワードを使用します。Use a strong password when creating a login or contained database user. 詳細については、「 強力なパスワード」を参照してください。For more information, see Strong Passwords.

    パフォーマンスを向上させるため、ログイン (サーバー レベルのプリンシパル) はデータベース レベルで一時的にキャッシュされます。To improve performance, logins (server-level principals) are temporarily cached at the database level. 認証キャッシュを更新する方法については、「 DBCC FLUSHAUTHCACHE」をご覧ください。To refresh the authentication cache, see DBCC FLUSHAUTHCACHE.

  3. master データベースで、 CREATE USER ステートメントを使用してユーザーを作成します。In the master database, create a user by using the CREATE USER statement. このユーザーは、Azure Active Directory 認証の包含データベース ユーザー (Azure AD 認証用の環境を構成した場合)、SQL Server 認証の包含データベース ユーザー、または SQL Server 認証ログインに基づく SQL Server 認証ユーザー (前の手順で作成したもの) にすることができます。サンプル ステートメントは、次のとおりです。The user can be an Azure Active Directory authentication contained database user (if you have configured your environment for Azure AD authentication), or a SQL Server authentication contained database user, or a SQL Server authentication user based on a SQL Server authentication login (created in the previous step.) Sample statements:

    CREATE USER [mike@contoso.com] FROM EXTERNAL PROVIDER;
    CREATE USER Tran WITH PASSWORD = '<strong_password>';
    CREATE USER Mary FROM LOGIN Mary; 
    
  4. ALTER ROLE ステートメントを使用して、新しいユーザーを dbmanager データベース ロールに追加します。Add the new user, to the dbmanager database role by using the ALTER ROLE statement. サンプル ステートメントは、次のとおりです。Sample statements:

    ALTER ROLE dbmanager ADD MEMBER Mary; 
    ALTER ROLE dbmanager ADD MEMBER [mike@contoso.com];
    

    注意

    dbmanager は master データベースのデータベース ロールであるため、dbmanager ロールにはデータベース ユーザーのみを追加できます。The dbmanager is a database role in master database so you can only add a database user to the dbmanager role. データベース レベルのロールにサーバー レベルのログインを追加することはできません。You cannot add a server-level login to database-level role.

  5. 必要に応じて、新しいユーザーに接続を許可するようにファイアウォール規則を構成します If necessary, configure a firewall rule to allow the new user to connect. (新しいユーザーは、既存のファイアウォール規則でカバーされる可能性があります)。(The new user might be covered by an existing firewall rule.)

これで、ユーザーは master データベースに接続し、新しいデータベースを作成できるようになりました。Now the user can connect to the master database and can create new databases. データベースを作成したアカウントは、そのデータベースの所有者になります。The account creating the database becomes the owner of the database.

ログイン マネージャーLogin managers

もう 1 つの管理者ロールは、ログイン マネージャー ロールです。The other administrative role is the login manager role. このロールのメンバーは、master データベースに新しいログインを作成することができます。Members of this role can create new logins in the master database. 必要であれば、同じ手順を実行して (ログインとユーザーを作成し、ユーザーを loginmanager ロールに追加して)、ユーザーが master に新しいログインを作成できるようにすることができます。If you wish, you can complete the same steps (create a login and user, and add a user to the loginmanager role) to enable a user to create new logins in the master. 通常、ログインは必要ありません。Microsoft は、ログインに基づくユーザーを使用する代わりに、データベース レベルで認証される包含データベース ユーザーを使用することを推奨しているからです。Usually logins are not necessary as Microsoft recommends using contained database users, which authenticate at the database-level instead of using users based on logins. 詳細については、「 包含データベース ユーザー - データベースの可搬性を確保する」を参照してください。For more information, see Contained Database Users - Making Your Database Portable.

管理者以外のユーザーNon-administrator users

一般に、管理者以外のアカウントは、master データベースへのアクセスを必要としません。Generally, non-administrator accounts do not need access to the master database. CREATE USER (Transact-SQL) ステートメントを使用して、データベース レベルの包含データベース ユーザーを作成してください。Create contained database users at the database level using the CREATE USER (Transact-SQL) statement. このユーザーは、Azure Active Directory 認証の包含データベース ユーザー (Azure AD 認証用の環境を構成した場合)、SQL Server 認証の包含データベース ユーザー、または SQL Server 認証ログインに基づく SQL Server 認証ユーザー (前の手順で作成したもの) にすることができます。詳細については、「 包含データベース ユーザー - データベースの可搬性を確保する」を参照してください。The user can be an Azure Active Directory authentication contained database user (if you have configured your environment for Azure AD authentication), or a SQL Server authentication contained database user, or a SQL Server authentication user based on a SQL Server authentication login (created in the previous step.) For more information, see Contained Database Users - Making Your Database Portable.

ユーザーを作成するには、データベースに接続し、次の例のようなステートメントを実行します。To create users, connect to the database, and execute statements similar to the following examples:

CREATE USER Mary FROM LOGIN Mary; 
CREATE USER [mike@contoso.com] FROM EXTERNAL PROVIDER;

最初、ユーザーを作成できるのは、データベースの管理者の 1 人か所有者だけです。Initially, only one of the administrators or the owner of the database can create users. 新しいユーザーの作成を他のユーザーに許可するには、次のようなステートメントを使用して、選択したユーザーに ALTER ANY USER アクセス許可を付与します。To authorize additional users to create new users, grant that selected user the ALTER ANY USER permission, by using a statement such as:

GRANT ALTER ANY USER TO Mary;

データベースのフル コントロールを他のユーザーに与えるには、ALTER ROLE ステートメントを使用して、そのユーザーを db_owner 固定データベース ロールのメンバーにします。To give additional users full control of the database, make them a member of the db_owner fixed database role using the ALTER ROLE statement.

注意

ログインに基づくデータベース ユーザーを作成するのは、一般に、複数のデータベースへのアクセスを必要とする SQL Server 認証ユーザーがいる場合があるためです。The most common reason to create database users based on logins, is when you have SQL Server authentication users that need access to multiple databases. ログインに基づくユーザーは、ログインと、そのログインのために保持されている 1 つのパスワードのみに関連付けられています。Users based on logins are tied to the login, and only one password that is maintained for that login. 個々のデータベース内の包含データベース ユーザーは、それぞれが個別のエンティティであり、それぞれが独自のパスワードを保持します。Contained database users in individual databases are each individual entities and each maintains its own password. このため、包含データベース ユーザーは、同じパスワードを保持しない場合に混乱することがあります。This can confuse contained database users if they do not maintain their passwords as identical.

データベース レベルのファイアウォールの構成Configuring the database-level firewall

ベスト プラクティスとして、管理者以外のユーザーは、使用するデータベースにファイアウォール経由でのみアクセスできるようにすることをお勧めします。As a best practice, non-administrator users should only have access through the firewall to the databases that they use. サーバー レベルのファイアウォール経由で IP アドレスを承認し、すべてのデータベースへのアクセスを許可するのではなく、sp_set_database_firewall_rule ステートメントを使用して、データベース レベルのファイアウォールを構成してください。Instead of authorizing their IP addresses through the server-level firewall and giving them access to all databases, use the sp_set_database_firewall_rule statement to configure the database-level firewall. データベース レベルのファイアウォールは、ポータルを使用して構成することはできません。The database-level firewall cannot be configured by using the portal.

Non-administrator access pathNon-administrator access path

データベース レベルのファイアウォールが正しく構成されると、データベース ユーザーは SQL Server Management Studio や SQL Server Data Tools などのクライアント ツールを使用して接続できます。When the database-level firewall is properly configured, the database users can connect using client tools such as SQL Server Management Studio or SQL Server Data Tools. すべての機能を提供しているのは、最新のツールだけです。Only the latest tools provide all the features and capabilities. 次の図は、管理者以外の標準的なアクセス パスを示しています。The following diagram shows a typical non-administrator access path.

Non-administrator access path

グループとロールGroups and roles

効率的なアクセス管理では、個々のユーザーではなく、グループとロールに割り当てられたアクセス許可を使用します。Efficient access management uses permissions assigned to groups and roles instead of individual users.

  • Azure Active Directory 認証を使用する場合は、Azure Active Directory ユーザーを Azure Active Directory グループに入れます。When using Azure Active Directory authentication, put Azure Active Directory users into an Azure Active Directory group. そのグループ用に包含データベース ユーザーを作成します。Create a contained database user for the group. 1 人または複数のデータベース ユーザーをデータベース ロールに追加し、データベース ロールにアクセス許可を割り当てます。Place one or more database users into a database role and then assign permissions to the database role.

  • SQL Server 認証を使用する場合は、データベースに包含データベース ユーザーを作成します。When using SQL Server authentication, create contained database users in the database. 1 人または複数のデータベース ユーザーをデータベース ロールに追加し、データベース ロールにアクセス許可を割り当てます。Place one or more database users into a database role and then assign permissions to the database role.

データベース ロールは、db_ownerdb_ddladmindb_datawriterdb_datareaderdb_denydatawriterdb_denydatareader などの組み込みロールを指定できます。The database roles can be the built-in roles such as db_owner, db_ddladmin, db_datawriter, db_datareader, db_denydatawriter, and db_denydatareader. db_owner は、少数のユーザーのみに完全なアクセス許可を付与する際によく使用されます。db_owner is commonly used to grant full permission to only a few users. 他の固定データベース ロールは、開発段階の単純なデータベースをすばやく取得するには便利ですが、運用段階のほとんどのデータベースには推奨されません。The other fixed database roles are useful for getting a simple database in development quickly, but are not recommended for most production databases. たとえば、db_datareader 固定データベース ロールは、データベース内のすべてのテーブルへの読み取りアクセスを許可しますが、これは、通常、必要以上のことです。For example, the db_datareader fixed database role grants read access to every table in the database, which is usually more than is strictly necessary. CREATE ROLE ステートメントを使用して独自のユーザー定義データベース ロールを作成し、各ロールに対してビジネスのニーズに応じて必要な最小限のアクセス許可を慎重に付与することをお勧めします。It is far better to use the CREATE ROLE statement to create your own user-defined database roles and carefully grant each role the least permissions necessary for the business need. ユーザーが複数のロールのメンバーである場合は、それらのアクセス許可すべてが集約されます。When a user is a member of multiple roles, they aggregate the permissions of them all.

アクセス許可Permissions

SQL Database では、個別に許可または拒否できるアクセス許可が 100 個を超えています。There are over 100 permissions that can be individually granted or denied in SQL Database. これらのアクセス許可の多くは、入れ子になっています。Many of these permissions are nested. たとえば、スキーマに対する UPDATE アクセス許可には、そのスキーマ内の各テーブルに対する UPDATE アクセス許可が含まれています。For example, the UPDATE permission on a schema includes the UPDATE permission on each table within that schema. ほとんどのアクセス許可システムと同様に、アクセス許可の拒否は許可より優先されます。As in most permission systems, the denial of a permission overrides a grant. 入れ子になっている性質と、アクセス許可の数により、データベースを正しく保護するのに適切なアクセス許可システムを設計するには、慎重な調査を行う場合があります。Because of the nested nature and the number of permissions, it can take careful study to design an appropriate permission system to properly protect your database. まず「権限 (データベース エンジン)」でアクセス許可の一覧を確認してから、アクセス許可のポスター サイズの図も確認してください。Start with the list of permissions at Permissions (Database Engine) and review the poster size graphic of the permissions.

考慮事項と制限Considerations and restrictions

SQL Database のログインとユーザーの管理では、以下の点を考慮してください。When managing logins and users in SQL Database, consider the following:

  • CREATE/ALTER/DROP DATABASE ステートメントを実行する場合は、master データベースに接続する必要があります。You must be connected to the master database when executing the CREATE/ALTER/DROP DATABASE statements.
  • サーバー管理者ログインに対応するデータベース ユーザーは、変更または削除できません。The database user corresponding to the Server admin login cannot be altered or dropped.
  • サーバー管理者ログインの既定の言語は英語 (米国) です。US-English is the default language of the Server admin login.
  • 管理者 (サーバー管理者ログインまたは Azure AD 管理者) と、master データベースの dbmanager データベース ロールのメンバーにのみ、CREATE DATABASE および DROP DATABASE ステートメントを実行するアクセス許可があります。Only the administrators (Server admin login or Azure AD administrator) and the members of the dbmanager database role in the master database have permission to execute the CREATE DATABASE and DROP DATABASE statements.
  • CREATE/ALTER/DROP LOGIN ステートメントを実行する場合は、master データベースに接続する必要があります。You must be connected to the master database when executing the CREATE/ALTER/DROP LOGIN statements. ただし、ログインの使用はお勧めできません。However using logins is discouraged. 代わりに、包含データベース ユーザーを使用してください。Use contained database users instead.
  • ユーザー データベースに接続するには、接続文字列にそのデータベースの名前を指定する必要があります。To connect to a user database, you must provide the name of the database in the connection string.
  • サーバーレベル プリンシパル ログインと、master データベースの loginmanager データベース ロールのメンバーにのみ、CREATE LOGINALTER LOGINDROP LOGIN ステートメントを実行する権限があります。Only the server-level principal login and the members of the loginmanager database role in the master database have permission to execute the CREATE LOGIN, ALTER LOGIN, and DROP LOGIN statements.
  • ADO.NET アプリケーションで CREATE/ALTER/DROP LOGINCREATE/ALTER/DROP DATABASE ステートメントを実行する場合、パラメーター化コマンドは使用できません。When executing the CREATE/ALTER/DROP LOGIN and CREATE/ALTER/DROP DATABASE statements in an ADO.NET application, using parameterized commands is not allowed. 詳細については、「 コマンドとパラメーター」をご覧ください。For more information, see Commands and Parameters.
  • CREATE/ALTER/DROP DATABASECREATE/ALTER/DROP LOGIN ステートメントを実行する場合、これらの各ステートメントは、Transact-SQL バッチ内の唯一のステートメントである必要があります。When executing the CREATE/ALTER/DROP DATABASE and CREATE/ALTER/DROP LOGIN statements, each of these statements must be the only statement in a Transact-SQL batch. 一致しないと、エラーが発生します。Otherwise, an error occurs. たとえば、以下の Transact-SQL は、データベースが存在するかどうかを確認します。For example, the following Transact-SQL checks whether the database exists. 存在する場合は、 DROP DATABASE ステートメントが呼び出され、データベースが削除されます。If it exists, a DROP DATABASE statement is called to remove the database. DROP DATABASE ステートメントはバッチ内の唯一のステートメントではないので、これを実行すると Transact-SQL はエラーになります。Because the DROP DATABASE statement is not the only statement in the batch, executing the following Transact-SQL statement results in an error.

    IF EXISTS (SELECT [name]
             FROM   [sys].[databases]
             WHERE  [name] = N'database_name')
    DROP DATABASE [database_name];
    GO
    
  • CREATE USER ステートメントを FOR/FROM LOGIN オプションと共に実行する場合、これが Transact-SQL バッチ内の唯一のステートメントである必要があります。When executing the CREATE USER statement with the FOR/FROM LOGIN option, it must be the only statement in a Transact-SQL batch.

  • ALTER USER ステートメントを WITH LOGIN オプションと共に実行する場合、これが Transact-SQL バッチ内の唯一のステートメントである必要があります。When executing the ALTER USER statement with the WITH LOGIN option, it must be the only statement in a Transact-SQL batch.
  • ユーザーに対して CREATE/ALTER/DROP を実行するには、データベースに対する ALTER ANY USER 権限が必要です。To CREATE/ALTER/DROP a user requires the ALTER ANY USER permission on the database.
  • データベース ロールの所有者が、そのデータベース ロールに対して他のデータベース ユーザーの追加または削除を行おうとすると、「User or role 'Name' does not exist in this database.」というエラーが発生する場合があります。When the owner of a database role tries to add or remove another database user to or from that database role, the following error may occur: User or role 'Name' does not exist in this database. このエラーは、所有者からはユーザーが見えないために発生します。This error occurs because the user is not visible to the owner. この問題を解決するには、そのユーザーに対する VIEW DEFINITION 権限をロールの所有者に許可します。To resolve this issue, grant the role owner the VIEW DEFINITION permission on the user.

次のステップNext steps