Azure Enterprise サブスクリプションを作成する権限を付与する (プレビュー)Grant access to create Azure Enterprise subscriptions (preview)

Enterprise Agreement (EA)を結んでいる Azure の顧客は、自分のアカウントに課金されるサブスクリプションを別のユーザーまたはサービス プリンシパルが作成することを許可できます。As an Azure customer on Enterprise Agreement (EA), you can give another user or service principal permission to create subscriptions billed to your account. この記事では、Azure ロール ベースのアクセス制御 (Azure RBAC) を使用して、サブスクリプションの作成機能を共有する方法と、サブスクリプションの作成を監査する方法について説明します。In this article, you learn how to use Azure role-based access control (Azure RBAC) to share the ability to create subscriptions, and how to audit subscription creations. 共有するアカウントに所有者ロールが必要です。You must have the Owner role on the account you wish to share.

注意

この記事は、新しい Azure PowerShell Az モジュールを使用するために更新されました。This article has been updated to use the new Azure PowerShell Az module. AzureRM モジュールはまだ使用でき、少なくとも 2020 年 12 月までは引き続きバグ修正が行われます。You can still use the AzureRM module, which will continue to receive bug fixes until at least December 2020. Az モジュールと AzureRM の互換性の詳細については、「Introducing the new Azure PowerShell Az module (新しい Azure PowerShell Az モジュールの概要)」を参照してください。To learn more about the new Az module and AzureRM compatibility, see Introducing the new Azure PowerShell Az module. Az モジュールのインストール手順については、Azure PowerShell のインストールを参照してください。For Az module installation instructions, see Install Azure PowerShell.

アクセス権の付与Grant access

登録アカウントでサブスクリプションを作成するには、ユーザーがそのアカウントに対して Azure RBAC 所有者ロールを持っている必要があります。To create subscriptions under an enrollment account, users must have the Azure RBAC Owner role on that account. 次の手順に従うことによって、ユーザーまたはユーザー グループに、登録アカウントに対する Azure RBAC 所有者ロールを付与できます。You can grant a user or a group of users the Azure RBAC Owner role on an enrollment account by following these steps:

  1. アクセス権を付与する登録アカウントのオブジェクト ID を取得しますGet the object ID of the enrollment account you want to grant access to

    登録アカウントに対する Azure RBAC 所有者ロールを他のユーザーに付与するには、アカウント オーナーまたはそのアカウントの Azure RBAC 所有者である必要があります。To grant others the Azure RBAC Owner role on an enrollment account, you must either be the Account Owner or an Azure RBAC Owner of the account.

    自分がアクセスできるすべての登録アカウントを一覧表示するための要求:Request to list all enrollment accounts you have access to:

    GET https://management.azure.com/providers/Microsoft.Billing/enrollmentAccounts?api-version=2018-03-01-preview
    

    自分がアクセスできるすべての登録アカウントの一覧が Azure から返されます。Azure responds with a list of all enrollment accounts you have access to:

    {
      "value": [
        {
          "id": "/providers/Microsoft.Billing/enrollmentAccounts/747ddfe5-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
          "name": "747ddfe5-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
          "type": "Microsoft.Billing/enrollmentAccounts",
          "properties": {
            "principalName": "SignUpEngineering@contoso.com"
          }
        },
        {
          "id": "/providers/Microsoft.Billing/enrollmentAccounts/4cd2fcf6-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
          "name": "4cd2fcf6-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
          "type": "Microsoft.Billing/enrollmentAccounts",
          "properties": {
            "principalName": "BillingPlatformTeam@contoso.com"
          }
        }
      ]
    }
    

    principalName プロパティを使用して、Azure RBAC 所有者のアクセス権を付与するアカウントを指定します。Use the principalName property to identify the account that you want to grant Azure RBAC Owner access to. そのアカウントの name をコピーします。Copy the name of that account. たとえば、SignUpEngineering@contoso.com 登録アカウントに Azure RBAC 所有者のアクセス権を付与する場合、747ddfe5-xxxx-xxxx-xxxx-xxxxxxxxxxxx をコピーします。For example, if you wanted to grant Azure RBAC Owner access to the SignUpEngineering@contoso.com enrollment account, you'd copy 747ddfe5-xxxx-xxxx-xxxx-xxxxxxxxxxxx. それは登録アカウントのオブジェクト ID です。It's the object ID of the enrollment account. 次のステップでこの値を enrollmentAccountObjectId として使用できるよう、どこかに貼り付けておきます。Paste this value somewhere so that you can use it in the next step as enrollmentAccountObjectId.

    principalName プロパティを使用して、Azure RBAC 所有者のアクセス権を付与するアカウントを指定します。Use the principalName property to identify the account that you want to grant Azure RBAC Owner access to. そのアカウントの name をコピーします。Copy the name of that account. たとえば、SignUpEngineering@contoso.com 登録アカウントに Azure RBAC 所有者のアクセス権を付与する場合、747ddfe5-xxxx-xxxx-xxxx-xxxxxxxxxxxx をコピーします。For example, if you wanted to grant Azure RBAC Owner access to the SignUpEngineering@contoso.com enrollment account, you'd copy 747ddfe5-xxxx-xxxx-xxxx-xxxxxxxxxxxx. それは登録アカウントのオブジェクト ID です。It's the object ID of the enrollment account. 次のステップでこの値を enrollmentAccountObjectId として使用できるよう、どこかに貼り付けておきます。Paste this value somewhere so that you can use it in the next step as enrollmentAccountObjectId.

  2. Azure RBAC 所有者ロールを付与するユーザーまたはグループのオブジェクト ID を取得しますGet object ID of the user or group you want to give the Azure RBAC Owner role to

    1. Azure portal で、Azure Active Directory を検索します。In the Azure portal, search on Azure Active Directory.
    2. ユーザーにアクセス権を付与する場合は、左側のメニューで [ユーザー] を選択します。If you want to grant a user access, select Users in the menu on the left. グループにアクセス権を付与するには、 [グループ] を選択します。To give access to a group, select Groups.
    3. Azure RBAC 所有者ロールを付与するユーザーまたはグループを選択します。Select the User or Group you want to give the Azure RBAC Owner role to.
    4. ユーザーを選択した場合、オブジェクト ID は [プロファイル] ページにあります。If you selected a User, you'll find the object ID in the Profile page. グループを選択した場合、オブジェクト ID は [概要] ページにあります。If you selected a Group, the object ID will be in the Overview page. テキスト ボックスの右側にあるアイコンを選択して、ObjectID をコピーします。Copy the ObjectID by selecting the icon to the right of the text box. 次のステップで userObjectId として使用できるように、それをどこかに貼り付けておきます。Paste it somewhere so that you can use it in the next step as userObjectId.
  3. ユーザーまたはグループに、登録アカウントに対する Azure RBAC 所有者ロールを付与しますGrant the user or group the Azure RBAC Owner role on the enrollment account

    最初の 2 つの手順で収集した値を使用して、ユーザーまたはグループに、登録アカウントに対する Azure RBAC 所有者ロールを付与します。Using the values you collected in the first two steps, grant the user or group the Azure RBAC Owner role on the enrollment account.

    <enrollmentAccountObjectId> を最初の手順でコピーした name (747ddfe5-xxxx-xxxx-xxxx-xxxxxxxxxxxx) で置き換えて、次のコマンドを実行します。Run the following command, replacing <enrollmentAccountObjectId> with the name you copied in the first step (747ddfe5-xxxx-xxxx-xxxx-xxxxxxxxxxxx). <userObjectId> は、2 番目の手順でコピーしたオブジェクト ID で置き換えます。Replace <userObjectId> with the object ID you copied from the second step.

    PUT  https://management.azure.com/providers/Microsoft.Billing/enrollmentAccounts/<enrollmentAccountObjectId>/providers/Microsoft.Authorization/roleAssignments/<roleAssignmentGuid>?api-version=2015-07-01
    
    {
      "properties": {
        "roleDefinitionId": "/providers/Microsoft.Billing/enrollmentAccounts/providers/Microsoft.Authorization/roleDefinitions/<ownerRoleDefinitionId>",
        "principalId": "<userObjectId>"
      }
    }
    

    登録アカウントのスコープで所有者ロールが付与されると、ロール割り当ての情報が Azure から返されます。When the Owner role is successfully assigned at the enrollment account scope, Azure responds with information of the role assignment:

    {
      "properties": {
        "roleDefinitionId": "/providers/Microsoft.Billing/enrollmentAccounts/providers/Microsoft.Authorization/roleDefinitions/<ownerRoleDefinitionId>",
        "principalId": "<userObjectId>",
        "scope": "/providers/Microsoft.Billing/enrollmentAccounts/747ddfe5-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
        "createdOn": "2018-03-05T08:36:26.4014813Z",
        "updatedOn": "2018-03-05T08:36:26.4014813Z",
        "createdBy": "<assignerObjectId>",
        "updatedBy": "<assignerObjectId>"
      },
      "id": "/providers/Microsoft.Billing/enrollmentAccounts/providers/Microsoft.Authorization/roleDefinitions/<ownerRoleDefinitionId>",
      "type": "Microsoft.Authorization/roleAssignments",
      "name": "<roleAssignmentGuid>"
    }
    

アクティビティ ログを使用してサブスクリプションを作成した監査Audit who created subscriptions using activity logs

この API を使用して作成されたサブスクリプションを追跡するには、Tenant Activity Log API を使用します。To track the subscriptions created via this API, use the Tenant Activity Log API. 現時点では、PowerShell、CLI、または Azure Portal を使用してサブスクリプションの作成を追跡することはできません。It's currently not possible to use PowerShell, CLI, or Azure portal to track subscription creation.

  1. Azure AD テナントのテナント管理者は、アクセス権限を昇格してから、スコープ内の監査ユーザーに閲覧者ロールを割り当てます/providers/microsoft.insights/eventtypes/managementAs a tenant admin of the Azure AD tenant, elevate access then assign a Reader role to the auditing user over the scope /providers/microsoft.insights/eventtypes/management. このアクセス権限は、閲覧者ロール、共同作成者の監視ロール、またはカスタム ロールで利用できます。This access is available in the Reader role, the Monitoring contributor role, or a custom role.

  2. 監査ユーザーは、Tenant Activity Log API を呼び出して、サブスクリプションの作成活動を確認します。As the auditing user, call the Tenant Activity Log API to see subscription creation activities. 例:Example:

    GET "/providers/Microsoft.Insights/eventtypes/management/values?api-version=2015-04-01&$filter=eventTimestamp ge '{greaterThanTimeStamp}' and eventTimestamp le '{lessThanTimestamp}' and eventChannels eq 'Operation' and resourceProvider eq 'Microsoft.Subscription'"
    

コマンドラインからこの API を簡単に呼び出すには、ARMClient を使用します。To conveniently call this API from the command line, try ARMClient.

次のステップNext steps